0s autopkgtest [03:55:38]: starting date and time: 2024-11-14 03:55:38+0000 0s autopkgtest [03:55:38]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [03:55:38]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.vzj1yvod/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:zookeeper --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=zookeeper/3.9.3-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-arm64-6.secgroup --name adt-plucky-arm64-patroni-20241114-035537-juju-7f2275-prod-proposed-migration-environment-20-ab9b2ea6-4b07-4e5e-bf0c-ac2b5b249d7d --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 61s autopkgtest [03:56:39]: testbed dpkg architecture: arm64 61s autopkgtest [03:56:39]: testbed apt version: 2.9.8 61s autopkgtest [03:56:39]: @@@@@@@@@@@@@@@@@@@@ test bed setup 62s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 62s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 62s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [991 kB] 62s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 62s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 62s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [130 kB] 62s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 62s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [726 kB] 62s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [6012 B] 62s Fetched 2101 kB in 1s (2389 kB/s) 62s Reading package lists... 65s Reading package lists... 65s Building dependency tree... 65s Reading state information... 66s Calculating upgrade... 66s The following packages will be upgraded: 66s bpfcc-tools bpftrace libbpfcc libgnutls30t64 libjson-glib-1.0-0 66s libjson-glib-1.0-common libnewt0.52 libutempter0 python3-bpfcc python3-newt 66s whiptail 66s 11 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 66s Need to get 4324 kB of archives. 66s After this operation, 9216 B of additional disk space will be used. 66s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgnutls30t64 arm64 3.8.8-2ubuntu1 [956 kB] 67s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-newt arm64 0.52.24-2ubuntu4 [21.2 kB] 67s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libnewt0.52 arm64 0.52.24-2ubuntu4 [47.2 kB] 67s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 whiptail arm64 0.52.24-2ubuntu4 [17.6 kB] 67s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libbpfcc arm64 0.30.0+ds-1ubuntu5 [610 kB] 67s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bpfcc all 0.30.0+ds-1ubuntu5 [40.4 kB] 67s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 bpfcc-tools all 0.30.0+ds-1ubuntu5 [697 kB] 67s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 bpftrace arm64 0.21.2-2ubuntu2 [1854 kB] 67s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 67s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-0 arm64 1.10.0+ds-3 [66.5 kB] 67s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libutempter0 arm64 1.2.1-4 [9646 B] 67s Fetched 4324 kB in 1s (5644 kB/s) 68s (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 ... 79924 files and directories currently installed.) 68s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_arm64.deb ... 68s Unpacking libgnutls30t64:arm64 (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 68s Setting up libgnutls30t64:arm64 (3.8.8-2ubuntu1) ... 68s (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 ... 79924 files and directories currently installed.) 68s Preparing to unpack .../0-python3-newt_0.52.24-2ubuntu4_arm64.deb ... 68s Unpacking python3-newt:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 68s Preparing to unpack .../1-libnewt0.52_0.52.24-2ubuntu4_arm64.deb ... 68s Unpacking libnewt0.52:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 68s Preparing to unpack .../2-whiptail_0.52.24-2ubuntu4_arm64.deb ... 68s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 68s Preparing to unpack .../3-libbpfcc_0.30.0+ds-1ubuntu5_arm64.deb ... 68s Unpacking libbpfcc:arm64 (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 68s Preparing to unpack .../4-python3-bpfcc_0.30.0+ds-1ubuntu5_all.deb ... 68s Unpacking python3-bpfcc (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 68s Preparing to unpack .../5-bpfcc-tools_0.30.0+ds-1ubuntu5_all.deb ... 68s Unpacking bpfcc-tools (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 68s Preparing to unpack .../6-bpftrace_0.21.2-2ubuntu2_arm64.deb ... 68s Unpacking bpftrace (0.21.2-2ubuntu2) over (0.21.2-2) ... 69s Preparing to unpack .../7-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 69s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 69s Preparing to unpack .../8-libjson-glib-1.0-0_1.10.0+ds-3_arm64.deb ... 69s Unpacking libjson-glib-1.0-0:arm64 (1.10.0+ds-3) over (1.10.0+ds-2) ... 69s Preparing to unpack .../9-libutempter0_1.2.1-4_arm64.deb ... 69s Unpacking libutempter0:arm64 (1.2.1-4) over (1.2.1-3build1) ... 69s Setting up libnewt0.52:arm64 (0.52.24-2ubuntu4) ... 69s Setting up python3-newt:arm64 (0.52.24-2ubuntu4) ... 69s Setting up libutempter0:arm64 (1.2.1-4) ... 69s Setting up whiptail (0.52.24-2ubuntu4) ... 69s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 69s Setting up libbpfcc:arm64 (0.30.0+ds-1ubuntu5) ... 69s Setting up python3-bpfcc (0.30.0+ds-1ubuntu5) ... 69s Setting up bpftrace (0.21.2-2ubuntu2) ... 69s Setting up libjson-glib-1.0-0:arm64 (1.10.0+ds-3) ... 69s Setting up bpfcc-tools (0.30.0+ds-1ubuntu5) ... 69s Processing triggers for man-db (2.12.1-3) ... 71s Processing triggers for libc-bin (2.40-1ubuntu3) ... 71s Reading package lists... 71s Building dependency tree... 71s Reading state information... 71s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 72s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 72s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 72s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 72s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 73s Reading package lists... 73s Reading package lists... 73s Building dependency tree... 73s Reading state information... 74s Calculating upgrade... 74s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 74s Reading package lists... 74s Building dependency tree... 74s Reading state information... 75s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 78s autopkgtest [03:56:56]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 78s autopkgtest [03:56:56]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 80s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (dsc) [2851 B] 80s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (tar) [1150 kB] 80s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (diff) [23.1 kB] 80s gpgv: Signature made Tue Jul 2 12:54:38 2024 UTC 80s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 80s gpgv: Can't check signature: No public key 80s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.1-1.dsc: no acceptable signature found 80s autopkgtest [03:56:58]: testing package patroni version 3.3.1-1 81s autopkgtest [03:56:59]: build not needed 81s autopkgtest [03:56:59]: test acceptance-etcd3: preparing testbed 83s Reading package lists... 84s Building dependency tree... 84s Reading state information... 84s Starting pkgProblemResolver with broken count: 0 84s Starting 2 pkgProblemResolver with broken count: 0 84s Done 85s The following additional packages will be installed: 85s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 85s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 85s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 85s patroni-doc postgresql postgresql-16 postgresql-client-16 85s postgresql-client-common postgresql-common python3-behave python3-cdiff 85s python3-click python3-colorama python3-coverage python3-dateutil 85s python3-dnspython python3-etcd python3-parse python3-parse-type 85s python3-prettytable python3-psutil python3-psycopg2 python3-six 85s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 85s Suggested packages: 85s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 85s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 85s python3-httpcore etcd python-psycopg2-doc 85s Recommended packages: 85s javascript-common libjson-xs-perl 85s The following NEW packages will be installed: 85s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 85s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 85s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 85s patroni-doc postgresql postgresql-16 postgresql-client-16 85s postgresql-client-common postgresql-common python3-behave python3-cdiff 85s python3-click python3-colorama python3-coverage python3-dateutil 85s python3-dnspython python3-etcd python3-parse python3-parse-type 85s python3-prettytable python3-psutil python3-psycopg2 python3-six 85s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 85s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 85s Need to get 34.5 MB/34.5 MB of archives. 85s After this operation, 126 MB of additional disk space will be used. 85s Get:1 /tmp/autopkgtest.dgezgb/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [764 B] 85s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 86s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 86s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 86s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 86s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 86s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.15-7 [10.5 MB] 87s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 87s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 87s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 87s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 87s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 87s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 87s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 87s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 87s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 87s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 87s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 87s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 87s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 87s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 87s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 87s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 87s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 87s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 87s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 87s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 87s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 88s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 88s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 88s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 88s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 88s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 88s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 88s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 89s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 89s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 89s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 89s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 89s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 89s Preconfiguring packages ... 89s Fetched 34.5 MB in 4s (9544 kB/s) 89s Selecting previously unselected package fonts-lato. 89s (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 ... 79925 files and directories currently installed.) 89s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 89s Unpacking fonts-lato (2.015-1) ... 89s Selecting previously unselected package libjson-perl. 89s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 89s Unpacking libjson-perl (4.10000-1) ... 89s Selecting previously unselected package postgresql-client-common. 89s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 89s Unpacking postgresql-client-common (262) ... 89s Selecting previously unselected package ssl-cert. 89s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 89s Unpacking ssl-cert (1.1.2ubuntu2) ... 89s Selecting previously unselected package postgresql-common. 89s Preparing to unpack .../04-postgresql-common_262_all.deb ... 89s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 89s Unpacking postgresql-common (262) ... 89s Selecting previously unselected package etcd-server. 90s Preparing to unpack .../05-etcd-server_3.5.15-7_arm64.deb ... 90s Unpacking etcd-server (3.5.15-7) ... 90s Selecting previously unselected package fonts-font-awesome. 90s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 90s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 90s Selecting previously unselected package libio-pty-perl. 90s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 90s Unpacking libio-pty-perl (1:1.20-1build3) ... 90s Selecting previously unselected package libipc-run-perl. 90s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 90s Unpacking libipc-run-perl (20231003.0-2) ... 90s Selecting previously unselected package libjs-jquery. 90s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 90s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 90s Selecting previously unselected package libjs-underscore. 90s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 90s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 90s Selecting previously unselected package libjs-sphinxdoc. 90s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 90s Unpacking libjs-sphinxdoc (7.4.7-4) ... 90s Selecting previously unselected package libpq5:arm64. 90s Preparing to unpack .../12-libpq5_17.0-1_arm64.deb ... 90s Unpacking libpq5:arm64 (17.0-1) ... 90s Selecting previously unselected package libtime-duration-perl. 90s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 90s Unpacking libtime-duration-perl (1.21-2) ... 90s Selecting previously unselected package libtimedate-perl. 90s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 90s Unpacking libtimedate-perl (2.3300-2) ... 90s Selecting previously unselected package libxslt1.1:arm64. 90s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 90s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 90s Selecting previously unselected package moreutils. 90s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 90s Unpacking moreutils (0.69-1) ... 90s Selecting previously unselected package python3-ydiff. 90s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 90s Unpacking python3-ydiff (1.3-1) ... 90s Selecting previously unselected package python3-cdiff. 90s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 90s Unpacking python3-cdiff (1.3-1) ... 90s Selecting previously unselected package python3-colorama. 90s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 90s Unpacking python3-colorama (0.4.6-4) ... 90s Selecting previously unselected package python3-click. 90s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 90s Unpacking python3-click (8.1.7-2) ... 90s Selecting previously unselected package python3-six. 90s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 90s Unpacking python3-six (1.16.0-7) ... 90s Selecting previously unselected package python3-dateutil. 90s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 90s Unpacking python3-dateutil (2.9.0-2) ... 90s Selecting previously unselected package python3-wcwidth. 90s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 90s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 90s Selecting previously unselected package python3-prettytable. 90s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 90s Unpacking python3-prettytable (3.10.1-1) ... 90s Selecting previously unselected package python3-psutil. 90s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_arm64.deb ... 90s Unpacking python3-psutil (5.9.8-2build2) ... 91s Selecting previously unselected package python3-psycopg2. 91s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_arm64.deb ... 91s Unpacking python3-psycopg2 (2.9.9-2) ... 91s Selecting previously unselected package python3-dnspython. 91s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 91s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 91s Selecting previously unselected package python3-etcd. 91s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 91s Unpacking python3-etcd (0.4.5-4) ... 91s Selecting previously unselected package patroni. 91s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 91s Unpacking patroni (3.3.1-1) ... 91s Selecting previously unselected package sphinx-rtd-theme-common. 91s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 91s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 91s Selecting previously unselected package patroni-doc. 91s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 91s Unpacking patroni-doc (3.3.1-1) ... 91s Selecting previously unselected package postgresql-client-16. 91s Preparing to unpack .../32-postgresql-client-16_16.4-3_arm64.deb ... 91s Unpacking postgresql-client-16 (16.4-3) ... 91s Selecting previously unselected package postgresql-16. 91s Preparing to unpack .../33-postgresql-16_16.4-3_arm64.deb ... 91s Unpacking postgresql-16 (16.4-3) ... 91s Selecting previously unselected package postgresql. 91s Preparing to unpack .../34-postgresql_16+262_all.deb ... 91s Unpacking postgresql (16+262) ... 91s Selecting previously unselected package python3-parse. 91s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 91s Unpacking python3-parse (1.20.2-1) ... 91s Selecting previously unselected package python3-parse-type. 91s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 91s Unpacking python3-parse-type (0.6.4-1) ... 91s Selecting previously unselected package python3-behave. 91s Preparing to unpack .../37-python3-behave_1.2.6-6_all.deb ... 91s Unpacking python3-behave (1.2.6-6) ... 91s Selecting previously unselected package python3-coverage. 91s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 91s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 91s Selecting previously unselected package autopkgtest-satdep. 91s Preparing to unpack .../39-1-autopkgtest-satdep.deb ... 91s Unpacking autopkgtest-satdep (0) ... 92s Setting up postgresql-client-common (262) ... 92s Setting up fonts-lato (2.015-1) ... 92s Setting up libio-pty-perl (1:1.20-1build3) ... 92s Setting up python3-colorama (0.4.6-4) ... 92s Setting up python3-ydiff (1.3-1) ... 92s Setting up libpq5:arm64 (17.0-1) ... 92s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 92s Setting up python3-click (8.1.7-2) ... 92s Setting up python3-psutil (5.9.8-2build2) ... 93s Setting up python3-six (1.16.0-7) ... 93s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 93s Setting up ssl-cert (1.1.2ubuntu2) ... 93s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 94s Setting up python3-psycopg2 (2.9.9-2) ... 94s Setting up libipc-run-perl (20231003.0-2) ... 94s Setting up libtime-duration-perl (1.21-2) ... 94s Setting up libtimedate-perl (2.3300-2) ... 94s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 94s Setting up python3-parse (1.20.2-1) ... 94s Setting up libjson-perl (4.10000-1) ... 94s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 94s Setting up python3-dateutil (2.9.0-2) ... 95s Setting up etcd-server (3.5.15-7) ... 95s info: Selecting UID from range 100 to 999 ... 95s 95s info: Selecting GID from range 100 to 999 ... 95s info: Adding system user `etcd' (UID 107) ... 95s info: Adding new group `etcd' (GID 111) ... 95s info: Adding new user `etcd' (UID 107) with group `etcd' ... 95s info: Creating home directory `/var/lib/etcd/' ... 95s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 95s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 96s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 96s Setting up python3-prettytable (3.10.1-1) ... 96s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 97s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 97s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 97s Setting up moreutils (0.69-1) ... 97s Setting up python3-etcd (0.4.5-4) ... 97s Setting up postgresql-client-16 (16.4-3) ... 97s 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 97s Setting up python3-cdiff (1.3-1) ... 97s Setting up python3-parse-type (0.6.4-1) ... 97s Setting up postgresql-common (262) ... 98s 98s Creating config file /etc/postgresql-common/createcluster.conf with new version 98s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 98s Removing obsolete dictionary files: 99s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 99s Setting up libjs-sphinxdoc (7.4.7-4) ... 99s Setting up python3-behave (1.2.6-6) ... 99s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 99s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 99s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 99s """Registers a custom type that will be available to "parse" 99s Setting up patroni (3.3.1-1) ... 99s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 100s Setting up postgresql-16 (16.4-3) ... 100s Creating new PostgreSQL cluster 16/main ... 100s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 100s The files belonging to this database system will be owned by user "postgres". 100s This user must also own the server process. 100s 100s The database cluster will be initialized with locale "C.UTF-8". 100s The default database encoding has accordingly been set to "UTF8". 100s The default text search configuration will be set to "english". 100s 100s Data page checksums are disabled. 100s 100s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 100s creating subdirectories ... ok 100s selecting dynamic shared memory implementation ... posix 100s selecting default max_connections ... 100 100s selecting default shared_buffers ... 128MB 100s selecting default time zone ... Etc/UTC 100s creating configuration files ... ok 101s running bootstrap script ... ok 101s performing post-bootstrap initialization ... ok 101s syncing data to disk ... ok 105s Setting up patroni-doc (3.3.1-1) ... 105s Setting up postgresql (16+262) ... 105s Setting up autopkgtest-satdep (0) ... 105s Processing triggers for man-db (2.12.1-3) ... 106s Processing triggers for libc-bin (2.40-1ubuntu3) ... 110s (Reading database ... 83136 files and directories currently installed.) 110s Removing autopkgtest-satdep (0) ... 110s autopkgtest [03:57:28]: test acceptance-etcd3: debian/tests/acceptance etcd3 110s autopkgtest [03:57:28]: test acceptance-etcd3: [----------------------- 111s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 111s ++ ls -1r /usr/lib/postgresql/ 111s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 111s ### PostgreSQL 16 acceptance-etcd3 ### 111s + '[' 16 == 10 -o 16 == 11 ']' 111s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 111s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 111s Nov 14 03:57:29 Feature: basic replication # features/basic_replication.feature:1 111s Nov 14 03:57:29 We should check that the basic bootstrapping, replication and failover works. 111s Nov 14 03:57:29 Scenario: check replication of a single table # features/basic_replication.feature:4 111s Nov 14 03:57:29 Given I start postgres0 # features/steps/basic_replication.py:8 115s Nov 14 03:57:33 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 115s Nov 14 03:57:33 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 115s Nov 14 03:57:33 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 115s Nov 14 03:57:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 115s Nov 14 03:57:33 When I start postgres1 # features/steps/basic_replication.py:8 119s Nov 14 03:57:37 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 123s Nov 14 03:57:41 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 123s Nov 14 03:57:41 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 124s Nov 14 03:57:42 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 125s Nov 14 03:57:43 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 125s Nov 14 03:57:43 125s Nov 14 03:57:43 Scenario: check restart of sync replica # features/basic_replication.feature:17 125s Nov 14 03:57:43 Given I shut down postgres2 # features/steps/basic_replication.py:29 126s Nov 14 03:57:44 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 126s Nov 14 03:57:44 When I start postgres2 # features/steps/basic_replication.py:8 129s Nov 14 03:57:47 And I shut down postgres1 # features/steps/basic_replication.py:29 132s Nov 14 03:57:50 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 133s Nov 14 03:57:51 When I start postgres1 # features/steps/basic_replication.py:8 136s Nov 14 03:57:54 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 137s Nov 14 03:57:55 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 137s Nov 14 03:57:55 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 137s Nov 14 03:57:55 137s Nov 14 03:57:55 Scenario: check stuck sync replica # features/basic_replication.feature:28 137s Nov 14 03:57:55 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 137s Nov 14 03:57:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 137s Nov 14 03:57:55 And I create table on postgres0 # features/steps/basic_replication.py:73 137s Nov 14 03:57:55 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 138s Nov 14 03:57:56 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 138s Nov 14 03:57:56 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 138s Nov 14 03:57:56 And I load data on postgres0 # features/steps/basic_replication.py:84 138s Nov 14 03:57:56 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 141s Nov 14 03:57:59 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 141s Nov 14 03:57:59 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 141s Nov 14 03:57:59 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 141s Nov 14 03:57:59 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 142s Nov 14 03:58:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 142s Nov 14 03:58:00 And I drop table on postgres0 # features/steps/basic_replication.py:73 142s Nov 14 03:58:00 142s Nov 14 03:58:00 Scenario: check multi sync replication # features/basic_replication.feature:44 142s Nov 14 03:58:00 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 142s Nov 14 03:58:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 142s Nov 14 03:58:00 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 146s Nov 14 03:58:04 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 146s Nov 14 03:58:04 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 146s Nov 14 03:58:04 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 146s Nov 14 03:58:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 146s Nov 14 03:58:04 And I shut down postgres1 # features/steps/basic_replication.py:29 149s Nov 14 03:58:07 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 150s Nov 14 03:58:08 When I start postgres1 # features/steps/basic_replication.py:8 154s Nov 14 03:58:12 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 154s Nov 14 03:58:12 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 154s Nov 14 03:58:12 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 154s Nov 14 03:58:12 154s Nov 14 03:58:12 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 154s Nov 14 03:58:12 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 156s Nov 14 03:58:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 156s Nov 14 03:58:14 When I sleep for 2 seconds # features/steps/patroni_api.py:39 158s Nov 14 03:58:16 And I shut down postgres0 # features/steps/basic_replication.py:29 159s Nov 14 03:58:17 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 161s Nov 14 03:58:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 161s Nov 14 03:58:19 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 180s Nov 14 03:58:38 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 182s Nov 14 03:58:40 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 182s Nov 14 03:58:40 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 182s Nov 14 03:58:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 182s Nov 14 03:58:40 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 182s Nov 14 03:58:40 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 184s Nov 14 03:58:42 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 184s Nov 14 03:58:42 184s Nov 14 03:58:42 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 184s Nov 14 03:58:42 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 184s Nov 14 03:58:42 And I start postgres0 # features/steps/basic_replication.py:8 184s Nov 14 03:58:42 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 192s Nov 14 03:58:50 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 192s Nov 14 03:58:50 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 192s Nov 14 03:58:50 192s Nov 14 03:58:50 @reject-duplicate-name 192s Nov 14 03:58:50 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 192s Nov 14 03:58:50 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 196s Nov 14 03:58: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 # features/steps/basic_replication.py:121 200s Nov 14 03:58:58 200s Nov 14 03:58:58 Feature: cascading replication # features/cascading_replication.feature:1 200s Nov 14 03:58:58 We should check that patroni can do base backup and streaming from the replica 200s Nov 14 03:58:58 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 200s Nov 14 03:58:58 Given I start postgres0 # features/steps/basic_replication.py:8 204s Nov 14 03:59:02 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 204s Nov 14 03:59:02 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 208s Nov 14 03:59:06 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 209s Nov 14 03:59:07 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 209s Nov 14 03:59:07 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 209s Nov 14 03:59:07 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 209s Nov 14 03:59:07 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 213s Nov 14 03:59:11 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 214s Nov 14 03:59:12 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 221s Nov 14 03:59:19 221s SKIP FEATURE citus: Citus extenstion isn't available 221s Nov 14 03:59:19 Feature: citus # features/citus.feature:1 221s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 221s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 221s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 221s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 221s 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 221s Nov 14 03:59:19 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 221s Nov 14 03:59:19 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 221s Nov 14 03:59:19 Given I start postgres0 in citus group 0 # None 221s Nov 14 03:59:19 And I start postgres2 in citus group 1 # None 221s Nov 14 03:59:19 Then postgres0 is a leader in a group 0 after 10 seconds # None 221s Nov 14 03:59:19 And postgres2 is a leader in a group 1 after 10 seconds # None 221s Nov 14 03:59:19 When I start postgres1 in citus group 0 # None 221s Nov 14 03:59:19 And I start postgres3 in citus group 1 # None 221s Nov 14 03:59:19 Then replication works from postgres0 to postgres1 after 15 seconds # None 221s Nov 14 03:59:19 Then replication works from postgres2 to postgres3 after 15 seconds # None 221s Nov 14 03:59:19 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 221s Nov 14 03:59:19 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 221s Nov 14 03:59:19 221s Nov 14 03:59:19 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 221s Nov 14 03:59:19 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 221s Nov 14 03:59:19 Then postgres1 role is the primary after 10 seconds # None 221s Nov 14 03:59:19 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 221s Nov 14 03:59:19 And replication works from postgres1 to postgres0 after 15 seconds # None 221s Nov 14 03:59:19 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 221s Nov 14 03:59:19 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 221s Nov 14 03:59:19 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 221s Nov 14 03:59:19 Then postgres0 role is the primary after 10 seconds # None 221s Nov 14 03:59:19 And replication works from postgres0 to postgres1 after 15 seconds # None 221s Nov 14 03:59:19 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 221s Nov 14 03:59:19 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 221s Nov 14 03:59:19 221s Nov 14 03:59:19 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 221s Nov 14 03:59:19 Given I create a distributed table on postgres0 # None 221s Nov 14 03:59:19 And I start a thread inserting data on postgres0 # None 221s Nov 14 03:59:19 When I run patronictl.py switchover batman --group 1 --force # None 221s Nov 14 03:59:19 Then I receive a response returncode 0 # None 221s Nov 14 03:59:19 And postgres3 role is the primary after 10 seconds # None 221s Nov 14 03:59:19 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 221s Nov 14 03:59:19 And replication works from postgres3 to postgres2 after 15 seconds # None 221s Nov 14 03:59:19 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 221s Nov 14 03:59:19 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 221s Nov 14 03:59:19 And a thread is still alive # None 221s Nov 14 03:59:19 When I run patronictl.py switchover batman --group 1 --force # None 221s Nov 14 03:59:19 Then I receive a response returncode 0 # None 221s Nov 14 03:59:19 And postgres2 role is the primary after 10 seconds # None 221s Nov 14 03:59:19 And replication works from postgres2 to postgres3 after 15 seconds # None 221s Nov 14 03:59:19 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 221s Nov 14 03:59:19 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 221s Nov 14 03:59:19 And a thread is still alive # None 221s Nov 14 03:59:19 When I stop a thread # None 221s Nov 14 03:59:19 Then a distributed table on postgres0 has expected rows # None 221s Nov 14 03:59:19 221s Nov 14 03:59:19 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 221s Nov 14 03:59:19 Given I cleanup a distributed table on postgres0 # None 221s Nov 14 03:59:19 And I start a thread inserting data on postgres0 # None 221s Nov 14 03:59:19 When I run patronictl.py restart batman postgres2 --group 1 --force # None 221s Nov 14 03:59:19 Then I receive a response returncode 0 # None 221s Nov 14 03:59:19 And postgres2 role is the primary after 10 seconds # None 221s Nov 14 03:59:19 And replication works from postgres2 to postgres3 after 15 seconds # None 221s Nov 14 03:59:19 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 221s Nov 14 03:59:19 And a thread is still alive # None 221s Nov 14 03:59:19 When I stop a thread # None 221s Nov 14 03:59:19 Then a distributed table on postgres0 has expected rows # None 221s Nov 14 03:59:19 221s Nov 14 03:59:19 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 221s Nov 14 03:59:19 Given I start postgres4 in citus group 2 # None 221s Nov 14 03:59:19 Then postgres4 is a leader in a group 2 after 10 seconds # None 221s Nov 14 03:59:19 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 221s Nov 14 03:59:19 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 221s Nov 14 03:59:19 Then I receive a response returncode 0 # None 221s Nov 14 03:59:19 And I receive a response output "+ttl: 20" # None 221s Nov 14 03:59:19 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 221s Nov 14 03:59:19 When I shut down postgres4 # None 221s Nov 14 03:59:19 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 221s Nov 14 03:59:19 When I run patronictl.py restart batman postgres2 --group 1 --force # None 221s Nov 14 03:59:19 Then a transaction finishes in 20 seconds # None 221s Nov 14 03:59:19 221s Nov 14 03:59:19 Feature: custom bootstrap # features/custom_bootstrap.feature:1 221s Nov 14 03:59:19 We should check that patroni can bootstrap a new cluster from a backup 221s Nov 14 03:59:19 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 221s Nov 14 03:59:19 Given I start postgres0 # features/steps/basic_replication.py:8 225s Nov 14 03:59:23 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 225s Nov 14 03:59:23 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 225s Nov 14 03:59:23 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 230s Nov 14 03:59:28 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 231s Nov 14 03:59:29 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 231s Nov 14 03:59:29 231s Nov 14 03:59:29 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 231s Nov 14 03:59:29 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 231s Nov 14 03:59:29 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 232s Nov 14 03:59:30 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 238s Nov 14 03:59:36 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 238s Nov 14 03:59:36 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 244s Nov 14 03:59:42 244s Nov 14 03:59:42 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 244s Nov 14 03:59:42 We should check the basic dcs failsafe mode functioning 244s Nov 14 03:59:42 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 244s Nov 14 03:59:42 Given I start postgres0 # features/steps/basic_replication.py:8 248s Nov 14 03:59:46 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 248s Nov 14 03:59:46 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 248s Nov 14 03:59: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 248s Nov 14 03:59:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 248s Nov 14 03:59:46 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 249s Nov 14 03:59:47 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 249s Nov 14 03:59:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 249s Nov 14 03:59:47 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 249s Nov 14 03:59:47 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 249s Nov 14 03:59:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 249s Nov 14 03:59:47 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 249s Nov 14 03:59:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 249s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 249s 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 249s Nov 14 03:59:47 249s Nov 14 03:59:47 @dcs-failsafe 249s Nov 14 03:59:47 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 249s Nov 14 03:59:47 Given DCS is down # None 249s Nov 14 03:59:47 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 249s Nov 14 03:59:47 And postgres0 role is the primary after 10 seconds # None 249s Nov 14 03:59:47 249s Nov 14 03:59:47 @dcs-failsafe 249s Nov 14 03:59:47 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 249s Nov 14 03:59:47 Given DCS is up # None 249s Nov 14 03:59:47 When I do a backup of postgres0 # None 249s Nov 14 03:59:47 And I shut down postgres0 # None 249s Nov 14 03:59:47 When I start postgres1 in a cluster batman from backup with no_leader # None 249s Nov 14 03:59:47 Then postgres1 role is the replica after 12 seconds # None 249s Nov 14 03:59:47 249s Nov 14 03:59:47 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 249s Nov 14 03:59:47 Given I start postgres0 # features/steps/basic_replication.py:8 249s Nov 14 03:59:47 And I start postgres1 # features/steps/basic_replication.py:8 253s Nov 14 03:59:51 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 253s Nov 14 03:59:51 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 254s Nov 14 03:59:52 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 254s Nov 14 03:59:52 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 254s Nov 14 03:59:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 254s Nov 14 03:59:52 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 254s Nov 14 03:59:52 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 254s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 254s 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 254s 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 254s Nov 14 03:59:52 254s Nov 14 03:59:52 @dcs-failsafe @slot-advance 254s Nov 14 03:59:52 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 254s Nov 14 03:59:52 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 254s Nov 14 03:59:52 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 254s Nov 14 03:59:52 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 254s Nov 14 03:59:52 And DCS is down # None 254s Nov 14 03:59:52 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 254s Nov 14 03:59:52 Then postgres0 role is the primary after 10 seconds # None 254s Nov 14 03:59:52 And postgres1 role is the replica after 2 seconds # None 254s Nov 14 03:59:52 And replication works from postgres0 to postgres1 after 10 seconds # None 254s Nov 14 03:59:52 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 254s Nov 14 03:59:52 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 254s Nov 14 03:59:52 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 254s Nov 14 03:59:52 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 254s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 254s Nov 14 03:59:52 254s Nov 14 03:59:52 @dcs-failsafe 254s Nov 14 03:59:52 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 254s Nov 14 03:59:52 Given DCS is down # None 254s Nov 14 03:59:52 And I kill postgres1 # None 254s Nov 14 03:59:52 And I kill postmaster on postgres1 # None 254s Nov 14 03:59:52 Then postgres0 role is the replica after 12 seconds # None 254s Nov 14 03:59:52 254s Nov 14 03:59:52 @dcs-failsafe 254s Nov 14 03:59:52 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 254s Nov 14 03:59:52 Given I kill postgres0 # None 254s Nov 14 03:59:52 And I shut down postmaster on postgres0 # None 254s Nov 14 03:59:52 And DCS is up # None 254s Nov 14 03:59:52 When I start postgres1 # None 254s Nov 14 03:59:52 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 254s Nov 14 03:59:52 And postgres1 role is the primary after 25 seconds # None 254s Nov 14 03:59:52 254s Nov 14 03:59:52 @dcs-failsafe 254s Nov 14 03:59:52 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 254s Nov 14 03:59:52 Given I start postgres0 # None 254s Nov 14 03:59:52 And I start postgres2 # None 254s Nov 14 03:59:52 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 254s Nov 14 03:59:52 And "members/postgres0" key in DCS has state=running after 20 seconds # None 254s Nov 14 03:59:52 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 254s Nov 14 03:59:52 And replication works from postgres1 to postgres0 after 10 seconds # None 254s Nov 14 03:59:52 And replication works from postgres1 to postgres2 after 10 seconds # None 254s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 254s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 254s 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 254s Nov 14 03:59:52 254s Nov 14 03:59:52 @dcs-failsafe @slot-advance 254s Nov 14 03:59:52 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 254s Nov 14 03:59:52 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 254s Nov 14 03:59:52 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 254s Nov 14 03:59:52 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 254s Nov 14 03:59:52 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 254s Nov 14 03:59:52 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 254s Nov 14 03:59:52 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 254s Nov 14 03:59:52 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 254s Nov 14 03:59:52 254s Nov 14 03:59:52 @dcs-failsafe 254s Nov 14 03:59:52 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 254s Nov 14 03:59:52 Given DCS is down # None 254s Nov 14 03:59:52 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 254s Nov 14 03:59:52 Then postgres1 role is the primary after 10 seconds # None 254s Nov 14 03:59:52 And postgres0 role is the replica after 2 seconds # None 254s Nov 14 03:59:52 And postgres2 role is the replica after 2 seconds # None 258s Nov 14 03:59:56 258s Nov 14 03:59:56 @dcs-failsafe @slot-advance 258s Nov 14 03:59:56 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 258s Nov 14 03:59:56 Given replication works from postgres1 to postgres0 after 10 seconds # None 258s Nov 14 03:59:56 And replication works from postgres1 to postgres2 after 10 seconds # None 258s Nov 14 03:59:56 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 258s Nov 14 03:59:56 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 258s Nov 14 03:59:56 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 258s Nov 14 03:59:56 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 258s Nov 14 03:59:56 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 258s Nov 14 03:59:56 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 258s Nov 14 03:59:56 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 258s Nov 14 03:59:56 258s Nov 14 03:59:56 Feature: ignored slots # features/ignored_slots.feature:1 258s Nov 14 03:59:56 258s Nov 14 03:59:56 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 258s Nov 14 03:59:56 Given I start postgres1 # features/steps/basic_replication.py:8 262s Nov 14 04:00:00 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 262s Nov 14 04:00:00 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 262s Nov 14 04:00: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 263s Nov 14 04:00:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 263s Nov 14 04:00:00 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 263s Nov 14 04:00:01 When I shut down postgres1 # features/steps/basic_replication.py:29 265s Nov 14 04:00:03 And I start postgres1 # features/steps/basic_replication.py:8 268s Nov 14 04:00:06 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 269s Nov 14 04:00:07 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 270s Nov 14 04:00:08 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 270s Nov 14 04:00:08 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 270s Nov 14 04:00:08 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 270s Nov 14 04:00:08 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 270s Nov 14 04:00:08 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 270s Nov 14 04:00:08 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 270s Nov 14 04:00:08 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 270s Nov 14 04:00:08 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 270s Nov 14 04:00:08 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 270s Nov 14 04:00:08 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 270s Nov 14 04:00:08 When I start postgres0 # features/steps/basic_replication.py:8 274s Nov 14 04:00:12 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 274s Nov 14 04:00:12 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 274s Nov 14 04:00:12 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 275s Nov 14 04:00:13 When I shut down postgres1 # features/steps/basic_replication.py:29 277s Nov 14 04:00:15 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 278s Nov 14 04:00:16 When I start postgres1 # features/steps/basic_replication.py:8 282s Nov 14 04:00:20 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 282s Nov 14 04:00:20 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 282s Nov 14 04:00:20 And I sleep for 2 seconds # features/steps/patroni_api.py:39 284s Nov 14 04:00:22 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 284s Nov 14 04:00:22 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 284s Nov 14 04:00:22 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 284s Nov 14 04:00:22 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 284s Nov 14 04:00:22 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 284s Nov 14 04:00:22 When I shut down postgres0 # features/steps/basic_replication.py:29 286s Nov 14 04:00:24 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 287s Nov 14 04:00:25 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 287s Nov 14 04:00:25 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 287s Nov 14 04:00:25 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 287s Nov 14 04:00:25 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 289s Nov 14 04:00:27 289s Nov 14 04:00:27 Feature: nostream node # features/nostream_node.feature:1 289s Nov 14 04:00:27 289s Nov 14 04:00:27 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 289s Nov 14 04:00:27 When I start postgres0 # features/steps/basic_replication.py:8 293s Nov 14 04:00:31 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 296s Nov 14 04:00:34 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 297s Nov 14 04:00:35 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 302s Nov 14 04:00:40 302s Nov 14 04:00:40 @slot-advance 302s Nov 14 04:00:40 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 302s Nov 14 04:00:40 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 302s Nov 14 04:00:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 302s Nov 14 04:00:40 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 305s Nov 14 04:00:43 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 306s Nov 14 04:00:44 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 310s Nov 14 04:00:48 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 317s Nov 14 04:00:55 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 317s Nov 14 04:00:55 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 322s Nov 14 04:01:00 322s Nov 14 04:01:00 Feature: patroni api # features/patroni_api.feature:1 322s Nov 14 04:01:00 We should check that patroni correctly responds to valid and not-valid API requests. 322s Nov 14 04:01:00 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 322s Nov 14 04:01:00 Given I start postgres0 # features/steps/basic_replication.py:8 326s Nov 14 04:01:04 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 326s Nov 14 04:01:04 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 326s Nov 14 04:01:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 326s Nov 14 04:01:04 And I receive a response state running # features/steps/patroni_api.py:98 326s Nov 14 04:01:04 And I receive a response role master # features/steps/patroni_api.py:98 326s Nov 14 04:01:04 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 326s Nov 14 04:01:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 326s Nov 14 04:01:04 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 326s Nov 14 04:01:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 326s Nov 14 04:01:04 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 326s Nov 14 04:01:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 326s Nov 14 04:01:04 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 326s Nov 14 04:01:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 326s Nov 14 04:01:04 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 326s Nov 14 04:01:04 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 328s Nov 14 04:01:06 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 328s Nov 14 04:01:06 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 328s Nov 14 04:01:06 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 328s Nov 14 04:01:06 Then I receive a response code 412 # features/steps/patroni_api.py:98 328s Nov 14 04:01:06 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 328s Nov 14 04:01:06 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 328s Nov 14 04:01:06 Then I receive a response code 400 # features/steps/patroni_api.py:98 328s Nov 14 04:01:06 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 328s Nov 14 04:01:06 Then I receive a response code 400 # features/steps/patroni_api.py:98 328s Nov 14 04:01:06 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 328s Nov 14 04:01:06 328s Nov 14 04:01:06 Scenario: check local configuration reload # features/patroni_api.feature:32 328s Nov 14 04:01:06 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 328s Nov 14 04:01:06 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 328s Nov 14 04:01:06 Then I receive a response code 202 # features/steps/patroni_api.py:98 328s Nov 14 04:01:06 328s Nov 14 04:01:06 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 328s Nov 14 04:01:06 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 329s Nov 14 04:01:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 329s Nov 14 04:01:06 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 330s Nov 14 04:01:08 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 330s Nov 14 04:01:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 330s Nov 14 04:01:08 And I receive a response ttl 20 # features/steps/patroni_api.py:98 330s Nov 14 04:01:08 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 330s Nov 14 04:01:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 330s Nov 14 04:01:08 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 330s Nov 14 04:01:08 And I sleep for 4 seconds # features/steps/patroni_api.py:39 334s Nov 14 04:01:12 334s Nov 14 04:01:12 Scenario: check the scheduled restart # features/patroni_api.feature:49 334s Nov 14 04:01:12 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 336s Nov 14 04:01:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 336s Nov 14 04:01:14 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 336s Nov 14 04:01:14 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 336s Nov 14 04:01:14 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 336s Nov 14 04:01:14 Then I receive a response code 202 # features/steps/patroni_api.py:98 336s Nov 14 04:01:14 And I sleep for 8 seconds # features/steps/patroni_api.py:39 344s Nov 14 04:01:22 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 345s Nov 14 04:01:23 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 345s Nov 14 04:01:23 Then I receive a response code 202 # features/steps/patroni_api.py:98 345s Nov 14 04:01:23 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 351s Nov 14 04:01:29 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 352s Nov 14 04:01:30 352s Nov 14 04:01:30 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 352s Nov 14 04:01:30 Given I start postgres1 # features/steps/basic_replication.py:8 357s Nov 14 04:01:34 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 358s Nov 14 04:01:36 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 359s Nov 14 04:01:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 359s Nov 14 04:01:37 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 360s Nov 14 04:01:38 waiting for server to shut down.... done 360s Nov 14 04:01:38 server stopped 360s Nov 14 04:01:38 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 360s Nov 14 04:01:38 Then I receive a response code 503 # features/steps/patroni_api.py:98 360s Nov 14 04:01:38 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 362s Nov 14 04:01:40 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 365s Nov 14 04:01:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 365s Nov 14 04:01:43 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 366s Nov 14 04:01:44 And I sleep for 2 seconds # features/steps/patroni_api.py:39 368s Nov 14 04:01:46 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 368s Nov 14 04:01:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 368s Nov 14 04:01:46 And I receive a response state running # features/steps/patroni_api.py:98 368s Nov 14 04:01:46 And I receive a response role replica # features/steps/patroni_api.py:98 368s Nov 14 04:01:46 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 372s Nov 14 04:01:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 372s Nov 14 04:01:50 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 372s Nov 14 04:01:50 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 373s Nov 14 04:01:51 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 373s Nov 14 04:01:51 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 376s Nov 14 04:01:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 376s Nov 14 04:01:53 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 376s Nov 14 04:01:53 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 377s Nov 14 04:01:55 377s Nov 14 04:01:55 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 377s Nov 14 04:01:55 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 379s Nov 14 04:01:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 379s Nov 14 04:01:57 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 379s Nov 14 04:01:57 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 380s Nov 14 04:01:58 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 385s Nov 14 04:02:03 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 385s Nov 14 04:02:03 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 385s Nov 14 04:02:03 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 385s Nov 14 04:02:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 385s Nov 14 04:02:03 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 385s Nov 14 04:02:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 385s Nov 14 04:02:03 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 385s Nov 14 04:02:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 385s Nov 14 04:02:03 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 385s Nov 14 04:02:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 385s Nov 14 04:02:03 385s Nov 14 04:02:03 Scenario: check the scheduled switchover # features/patroni_api.feature:107 385s Nov 14 04:02:03 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 387s Nov 14 04:02:05 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 387s Nov 14 04:02:05 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 387s Nov 14 04:02:05 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 389s Nov 14 04:02:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 389s Nov 14 04:02:07 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 391s Nov 14 04:02:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 391s Nov 14 04:02:09 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 401s Nov 14 04:02:19 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 401s Nov 14 04:02:19 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 404s Nov 14 04:02:22 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 404s Nov 14 04:02:22 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 405s Nov 14 04:02:23 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 405s Nov 14 04:02:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 405s Nov 14 04:02:23 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 405s Nov 14 04:02:23 Then I receive a response code 503 # features/steps/patroni_api.py:98 405s Nov 14 04:02:23 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 405s Nov 14 04:02:23 Then I receive a response code 503 # features/steps/patroni_api.py:98 405s Nov 14 04:02:23 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 405s Nov 14 04:02:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 409s Nov 14 04:02:27 409s Nov 14 04:02:27 Feature: permanent slots # features/permanent_slots.feature:1 409s Nov 14 04:02:27 409s Nov 14 04:02:27 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 409s Nov 14 04:02:27 Given I start postgres0 # features/steps/basic_replication.py:8 413s Nov 14 04:02:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 413s Nov 14 04:02:31 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 413s Nov 14 04:02:31 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 413s Nov 14 04:02:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 413s Nov 14 04:02:31 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 413s Nov 14 04:02:31 When I start postgres1 # features/steps/basic_replication.py:8 417s Nov 14 04:02:35 And I start postgres2 # features/steps/basic_replication.py:8 421s Nov 14 04:02:39 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 425s Nov 14 04:02:43 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 425s Nov 14 04:02:43 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 425s Nov 14 04:02:43 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 425s Nov 14 04:02:43 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 425s Nov 14 04:02:43 425s Nov 14 04:02:43 @slot-advance 425s Nov 14 04:02:43 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 425s Nov 14 04:02:43 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 428s Nov 14 04:02:46 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 428s Nov 14 04:02:46 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 430s Nov 14 04:02:47 430s Nov 14 04:02:47 @slot-advance 430s Nov 14 04:02:47 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 430s Nov 14 04:02:47 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 434s Nov 14 04:02:52 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 434s Nov 14 04:02:52 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 435s Nov 14 04:02:53 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 436s Nov 14 04:02:54 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 436s Nov 14 04:02:54 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 436s Nov 14 04:02:54 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 436s Nov 14 04:02:54 436s Nov 14 04:02:54 @slot-advance 436s Nov 14 04:02:54 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 436s Nov 14 04:02:54 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 436s Nov 14 04:02:54 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 436s Nov 14 04:02:54 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 436s Nov 14 04:02:54 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 436s Nov 14 04:02:54 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 436s Nov 14 04:02:54 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 436s Nov 14 04:02:54 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 436s Nov 14 04:02:54 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 436s Nov 14 04:02:54 436s Nov 14 04:02:54 @slot-advance 436s Nov 14 04:02:54 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 436s Nov 14 04:02:54 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 436s Nov 14 04:02:54 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 436s Nov 14 04:02:54 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 436s Nov 14 04:02:54 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 438s Nov 14 04:02:56 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 438s Nov 14 04:02:56 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 438s Nov 14 04:02:56 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 438s Nov 14 04:02:56 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 438s Nov 14 04:02:56 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 438s Nov 14 04:02:56 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 438s Nov 14 04:02:56 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 438s Nov 14 04:02:56 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 438s Nov 14 04:02:56 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 438s Nov 14 04:02:56 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 438s Nov 14 04:02:56 438s Nov 14 04:02:56 @slot-advance 438s Nov 14 04:02:56 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 438s Nov 14 04:02:56 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 438s Nov 14 04:02:56 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 438s Nov 14 04:02:56 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 438s Nov 14 04:02:56 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 438s Nov 14 04:02:56 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 438s Nov 14 04:02:56 438s Nov 14 04:02:56 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 438s Nov 14 04:02:56 Given I shut down postgres3 # features/steps/basic_replication.py:29 439s Nov 14 04:02:57 And I shut down postgres2 # features/steps/basic_replication.py:29 440s Nov 14 04:02:58 And I shut down postgres0 # features/steps/basic_replication.py:29 442s Nov 14 04:03:00 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 442s Nov 14 04:03:00 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 442s Nov 14 04:03:00 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 445s Nov 14 04:03:03 445s Nov 14 04:03:03 Feature: priority replication # features/priority_failover.feature:1 445s Nov 14 04:03:03 We should check that we can give nodes priority during failover 445s Nov 14 04:03:03 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 445s Nov 14 04:03:03 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 448s Nov 14 04:03:06 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 452s Nov 14 04:03:10 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 453s Nov 14 04:03:11 When I shut down postgres0 # features/steps/basic_replication.py:29 455s Nov 14 04:03:13 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:121 457s Nov 14 04:03:15 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 457s Nov 14 04:03:15 When I start postgres0 # features/steps/basic_replication.py:8 460s Nov 14 04:03:18 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 462s Nov 14 04:03:20 462s Nov 14 04:03:20 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 462s Nov 14 04:03:20 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 466s Nov 14 04:03:24 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 470s Nov 14 04:03:28 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 471s Nov 14 04:03:29 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 472s Nov 14 04:03:30 When I shut down postgres0 # features/steps/basic_replication.py:29 474s Nov 14 04:03:32 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 475s Nov 14 04:03:33 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:121 475s Nov 14 04:03:33 475s Nov 14 04:03:33 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 475s Nov 14 04:03:33 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 475s Nov 14 04:03:33 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 475s Nov 14 04:03:33 Then I receive a response code 202 # features/steps/patroni_api.py:98 475s Nov 14 04:03:33 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:121 478s Nov 14 04:03:36 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 479s Nov 14 04:03:37 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 479s Nov 14 04:03:37 Then I receive a response code 412 # features/steps/patroni_api.py:98 479s Nov 14 04:03:37 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 479s Nov 14 04:03:37 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 479s Nov 14 04:03:37 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 479s Nov 14 04:03:37 Then I receive a response code 202 # features/steps/patroni_api.py:98 479s Nov 14 04:03:37 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:121 480s Nov 14 04:03:38 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 481s Nov 14 04:03:39 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 484s Nov 14 04:03:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 484s Nov 14 04:03:42 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 490s Nov 14 04:03:48 490s Nov 14 04:03:48 Feature: recovery # features/recovery.feature:1 490s Nov 14 04:03:48 We want to check that crashed postgres is started back 490s Nov 14 04:03:48 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 490s Nov 14 04:03:48 Given I start postgres0 # features/steps/basic_replication.py:8 494s Nov 14 04:03:52 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 494s Nov 14 04:03:52 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 494s Nov 14 04:03:52 When I start postgres1 # features/steps/basic_replication.py:8 498s Nov 14 04:03:56 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 498s Nov 14 04:03:56 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 499s Nov 14 04:03:57 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 499s Nov 14 04:03:57 waiting for server to shut down.... done 499s Nov 14 04:03:57 server stopped 499s Nov 14 04:03:57 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 500s Nov 14 04:03:58 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 500s Nov 14 04:03:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 500s Nov 14 04:03:58 And I receive a response role master # features/steps/patroni_api.py:98 500s Nov 14 04:03:58 And I receive a response timeline 1 # features/steps/patroni_api.py:98 500s Nov 14 04:03:58 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 502s Nov 14 04:03:59 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 503s Nov 14 04:04:01 503s Nov 14 04:04:01 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 503s Nov 14 04:04:01 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 503s Nov 14 04:04:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 503s Nov 14 04:04:01 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 503s Nov 14 04:04:01 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 503s Nov 14 04:04:01 waiting for server to shut down.... done 503s Nov 14 04:04:01 server stopped 503s Nov 14 04:04:01 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 506s Nov 14 04:04:04 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 509s Nov 14 04:04:07 509s Nov 14 04:04:07 Feature: standby cluster # features/standby_cluster.feature:1 509s Nov 14 04:04:07 509s Nov 14 04:04:07 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 509s Nov 14 04:04:07 Given I start postgres1 # features/steps/basic_replication.py:8 513s Nov 14 04:04:11 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 513s Nov 14 04:04:11 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 513s Nov 14 04:04:11 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 513s Nov 14 04:04:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 513s Nov 14 04:04:11 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 513s Nov 14 04:04:11 And I sleep for 3 seconds # features/steps/patroni_api.py:39 516s Nov 14 04:04:14 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 516s Nov 14 04:04:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 516s Nov 14 04:04:14 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 517s Nov 14 04:04:15 When I start postgres0 # features/steps/basic_replication.py:8 520s Nov 14 04:04:18 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 521s Nov 14 04:04:19 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 522s Nov 14 04:04:20 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 522s Nov 14 04:04:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 522s Nov 14 04:04:20 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 522s Nov 14 04:04:20 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 523s Nov 14 04:04:21 523s Nov 14 04:04:21 @slot-advance 523s Nov 14 04:04:21 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 523s Nov 14 04:04:21 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 525s Nov 14 04:04:23 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 531s Nov 14 04:04:29 531s Nov 14 04:04:29 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 531s Nov 14 04:04:29 When I shut down postgres1 # features/steps/basic_replication.py:29 533s Nov 14 04:04:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 533s Nov 14 04:04:31 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 534s Nov 14 04:04:32 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 535s Nov 14 04:04:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 535s Nov 14 04:04:32 535s Nov 14 04:04:32 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 535s Nov 14 04:04:32 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 538s Nov 14 04:04:35 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 539s Nov 14 04:04:36 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 539s Nov 14 04:04:37 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 539s Nov 14 04:04:37 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 539s Nov 14 04:04:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 539s Nov 14 04:04:37 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 539s Nov 14 04:04:37 And I sleep for 3 seconds # features/steps/patroni_api.py:39 542s Nov 14 04:04:40 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 542s Nov 14 04:04:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 542s Nov 14 04:04:40 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 542s Nov 14 04:04:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 542s Nov 14 04:04:40 And I receive a response role standby_leader # features/steps/patroni_api.py:98 542s Nov 14 04:04:40 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 542s Nov 14 04:04:40 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 546s Nov 14 04:04:44 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 546s Nov 14 04:04:44 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 546s Nov 14 04:04:44 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 546s Nov 14 04:04:44 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 546s Nov 14 04:04:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 546s Nov 14 04:04:44 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 546s Nov 14 04:04:44 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 546s Nov 14 04:04:44 546s Nov 14 04:04:44 Scenario: check switchover # features/standby_cluster.feature:57 546s Nov 14 04:04:44 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 550s Nov 14 04:04:48 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 550s Nov 14 04:04:48 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 552s Nov 14 04:04:50 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 552s Nov 14 04:04:50 552s Nov 14 04:04:50 Scenario: check failover # features/standby_cluster.feature:63 552s Nov 14 04:04:50 When I kill postgres2 # features/steps/basic_replication.py:34 553s Nov 14 04:04:51 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 553s Nov 14 04:04:51 waiting for server to shut down.... done 553s Nov 14 04:04:51 server stopped 553s Nov 14 04:04:51 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 572s Nov 14 04:05:10 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 572s Nov 14 04:05:10 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 572s Nov 14 04:05:10 Then I receive a response code 503 # features/steps/patroni_api.py:98 572s Nov 14 04:05:10 And I receive a response role standby_leader # features/steps/patroni_api.py:98 572s Nov 14 04:05:10 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 573s Nov 14 04:05:11 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 577s Nov 14 04:05:15 577s Nov 14 04:05:15 Feature: watchdog # features/watchdog.feature:1 577s Nov 14 04:05:15 Verify that watchdog gets pinged and triggered under appropriate circumstances. 577s Nov 14 04:05:15 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 577s Nov 14 04:05:15 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 580s Nov 14 04:05:18 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 581s Nov 14 04:05:19 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 581s Nov 14 04:05:19 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 582s Nov 14 04:05:20 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 582s Nov 14 04:05:20 582s Nov 14 04:05:20 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 582s Nov 14 04:05:20 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 584s Nov 14 04:05:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 584s Nov 14 04:05:22 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 584s Nov 14 04:05:22 When I sleep for 4 seconds # features/steps/patroni_api.py:39 588s Nov 14 04:05:26 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 588s Nov 14 04:05:26 588s Nov 14 04:05:26 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 588s Nov 14 04:05:26 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 590s Nov 14 04:05:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 590s Nov 14 04:05:28 When I sleep for 2 seconds # features/steps/patroni_api.py:39 592s Nov 14 04:05:30 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 592s Nov 14 04:05:30 592s Nov 14 04:05:30 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 592s Nov 14 04:05:30 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 592s Nov 14 04:05:30 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 594s Nov 14 04:05:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 594s Nov 14 04:05:32 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 595s Nov 14 04:05:33 595s Nov 14 04:05:33 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 595s Nov 14 04:05:33 Given I shut down postgres0 # features/steps/basic_replication.py:29 597s Nov 14 04:05:35 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 597s Nov 14 04:05:35 597s Nov 14 04:05:35 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 597s Nov 14 04:05:35 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 597s Nov 14 04:05:35 And I start postgres0 with watchdog # features/steps/watchdog.py:16 600s Nov 14 04:05:38 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 601s Nov 14 04:05:39 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 601s Nov 14 04:05:39 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 628s Nov 14 04:06:06 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.4995.XGBBmkWx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5039.XZDZAqSx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5088.XDgTbRbx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5138.XmpfHDIx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5184.XMZljmpx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5255.XQWgZvGx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5304.XgMnBllx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5307.XFvTSGBx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5393.XLSyrvwx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5491.XrQXPkhx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5499.XNCfmQgx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5542.XSdFKXsx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5597.XRximyfx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5700.XGHlaWZx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5746.XlZPXRMx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5802.XQymWlqx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5889.XaejsJHx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.5938.XCrLiAlx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6035.XbczajKx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6093.XdyzoOvx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6155.XEulEeHx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6245.XbLbRoSx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6343.XwlfssOx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6386.XzColRVx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6448.XMNCvcgx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6482.XJiILpkx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6611.XRdLLSzx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6660.XOIFLzXx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6677.XcPtErXx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6715.XLuFQdAx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6764.XOVhaabx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6769.XInWwNrx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6804.XeFYNNbx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.6846.XhPiYZax 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7008.XeMVuBKx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7010.XENWWNax 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7016.XFXqaDKx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7150.XhIWlvmx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7195.XWNUreox 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7245.XvgaZVAx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7290.XujZnCXx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7335.XmUzvkex 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7505.XtTwtptx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7541.XRCIJjfx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7620.XfBNbmqx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7698.XuBUEwJx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.7775.XQezxMOx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8119.XqvRTRCx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8162.XeOrDYgx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8301.XBDnPSEx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8363.XiBawuAx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8429.XaPdjPRx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8527.XhucAoyx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8641.XickHrux 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8768.XSGKbCKx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8811.XIjbGjUx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8814.XRSCGYOx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8817.XYvAiDPx 628s Nov 14 04:06:06 Combined data file .coverage.autopkgtest.8828.XHXJYGNx 631s Nov 14 04:06:09 Name Stmts Miss Cover 632s Nov 14 04:06:09 ------------------------------------------------------------------------------------------------------------- 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/__main__.py 199 64 68% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/api.py 770 286 63% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 78 88% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 253 58% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/ha.py 1244 362 71% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/utils.py 350 106 70% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/six.py 504 250 50% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 32 72% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/response.py 562 274 51% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 632s Nov 14 04:06:09 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 632s Nov 14 04:06:09 patroni/__init__.py 13 2 85% 632s Nov 14 04:06:09 patroni/__main__.py 199 199 0% 632s Nov 14 04:06:09 patroni/api.py 770 770 0% 632s Nov 14 04:06:09 patroni/async_executor.py 96 69 28% 632s Nov 14 04:06:09 patroni/collections.py 56 15 73% 632s Nov 14 04:06:09 patroni/config.py 371 196 47% 632s Nov 14 04:06:09 patroni/config_generator.py 212 212 0% 632s Nov 14 04:06:09 patroni/ctl.py 936 411 56% 632s Nov 14 04:06:09 patroni/daemon.py 76 76 0% 632s Nov 14 04:06:09 patroni/dcs/__init__.py 646 269 58% 632s Nov 14 04:06:09 patroni/dcs/consul.py 485 485 0% 632s Nov 14 04:06:09 patroni/dcs/etcd3.py 679 346 49% 632s Nov 14 04:06:09 patroni/dcs/etcd.py 603 277 54% 632s Nov 14 04:06:09 patroni/dcs/exhibitor.py 61 61 0% 632s Nov 14 04:06:09 patroni/dcs/kubernetes.py 938 938 0% 632s Nov 14 04:06:09 patroni/dcs/raft.py 319 319 0% 632s Nov 14 04:06:09 patroni/dcs/zookeeper.py 288 288 0% 632s Nov 14 04:06:09 patroni/dynamic_loader.py 35 7 80% 632s Nov 14 04:06:09 patroni/exceptions.py 16 1 94% 632s Nov 14 04:06:09 patroni/file_perm.py 43 15 65% 632s Nov 14 04:06:09 patroni/global_config.py 81 18 78% 632s Nov 14 04:06:09 patroni/ha.py 1244 1244 0% 632s Nov 14 04:06:09 patroni/log.py 219 173 21% 632s Nov 14 04:06:09 patroni/postgresql/__init__.py 821 651 21% 632s Nov 14 04:06:09 patroni/postgresql/available_parameters/__init__.py 21 1 95% 632s Nov 14 04:06:09 patroni/postgresql/bootstrap.py 252 222 12% 632s Nov 14 04:06:09 patroni/postgresql/callback_executor.py 55 34 38% 632s Nov 14 04:06:09 patroni/postgresql/cancellable.py 104 84 19% 632s Nov 14 04:06:09 patroni/postgresql/config.py 813 698 14% 632s Nov 14 04:06:09 patroni/postgresql/connection.py 75 50 33% 632s Nov 14 04:06:09 patroni/postgresql/misc.py 41 29 29% 632s Nov 14 04:06:09 patroni/postgresql/mpp/__init__.py 89 21 76% 632s Nov 14 04:06:09 patroni/postgresql/mpp/citus.py 259 259 0% 632s Nov 14 04:06:09 patroni/postgresql/postmaster.py 170 139 18% 632s Nov 14 04:06:09 patroni/postgresql/rewind.py 416 416 0% 632s Nov 14 04:06:09 patroni/postgresql/slots.py 334 285 15% 632s Nov 14 04:06:09 patroni/postgresql/sync.py 130 96 26% 632s Nov 14 04:06:09 patroni/postgresql/validator.py 157 52 67% 632s Nov 14 04:06:09 patroni/psycopg.py 42 28 33% 632s Nov 14 04:06:09 patroni/raft_controller.py 22 22 0% 632s Nov 14 04:06:09 patroni/request.py 62 6 90% 632s Nov 14 04:06:09 patroni/scripts/__init__.py 0 0 100% 632s Nov 14 04:06:09 patroni/scripts/aws.py 59 59 0% 632s Nov 14 04:06:09 patroni/scripts/barman/__init__.py 0 0 100% 632s Nov 14 04:06:09 patroni/scripts/barman/cli.py 51 51 0% 632s Nov 14 04:06:09 patroni/scripts/barman/config_switch.py 51 51 0% 632s Nov 14 04:06:09 patroni/scripts/barman/recover.py 37 37 0% 632s Nov 14 04:06:09 patroni/scripts/barman/utils.py 94 94 0% 632s Nov 14 04:06:09 patroni/scripts/wale_restore.py 207 207 0% 632s Nov 14 04:06:09 patroni/tags.py 38 11 71% 632s Nov 14 04:06:09 patroni/utils.py 350 177 49% 632s Nov 14 04:06:09 patroni/validator.py 301 215 29% 632s Nov 14 04:06:09 patroni/version.py 1 0 100% 632s Nov 14 04:06:09 patroni/watchdog/__init__.py 2 2 0% 632s Nov 14 04:06:09 patroni/watchdog/base.py 203 203 0% 632s Nov 14 04:06:09 patroni/watchdog/linux.py 135 135 0% 632s Nov 14 04:06:09 ------------------------------------------------------------------------------------------------------------- 632s Nov 14 04:06:09 TOTAL 53739 32240 40% 632s Nov 14 04:06:09 12 features passed, 0 failed, 1 skipped 632s Nov 14 04:06:09 46 scenarios passed, 0 failed, 14 skipped 632s Nov 14 04:06:09 466 steps passed, 0 failed, 119 skipped, 0 undefined 632s Nov 14 04:06:09 Took 7m48.040s 632s ### End 16 acceptance-etcd3 ### 632s + echo '### End 16 acceptance-etcd3 ###' 632s + rm -f '/tmp/pgpass?' 632s ++ id -u 632s + '[' 1000 -eq 0 ']' 632s autopkgtest [04:06:09]: test acceptance-etcd3: -----------------------] 633s acceptance-etcd3 PASS 633s autopkgtest [04:06:11]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 633s autopkgtest [04:06:11]: test acceptance-etcd-basic: preparing testbed 701s autopkgtest [04:07:19]: testbed dpkg architecture: arm64 701s autopkgtest [04:07:19]: testbed apt version: 2.9.8 701s autopkgtest [04:07:19]: @@@@@@@@@@@@@@@@@@@@ test bed setup 702s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 702s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 702s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 702s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [991 kB] 702s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 702s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [130 kB] 702s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 702s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [726 kB] 703s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [6012 B] 703s Fetched 2101 kB in 1s (1687 kB/s) 703s Reading package lists... 705s Reading package lists... 705s Building dependency tree... 705s Reading state information... 705s Calculating upgrade... 706s The following packages will be upgraded: 706s bpfcc-tools bpftrace libbpfcc libgnutls30t64 libjson-glib-1.0-0 706s libjson-glib-1.0-common libnewt0.52 libutempter0 python3-bpfcc python3-newt 706s whiptail 706s 11 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 706s Need to get 4324 kB of archives. 706s After this operation, 9216 B of additional disk space will be used. 706s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgnutls30t64 arm64 3.8.8-2ubuntu1 [956 kB] 707s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-newt arm64 0.52.24-2ubuntu4 [21.2 kB] 707s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libnewt0.52 arm64 0.52.24-2ubuntu4 [47.2 kB] 707s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 whiptail arm64 0.52.24-2ubuntu4 [17.6 kB] 707s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libbpfcc arm64 0.30.0+ds-1ubuntu5 [610 kB] 707s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bpfcc all 0.30.0+ds-1ubuntu5 [40.4 kB] 707s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 bpfcc-tools all 0.30.0+ds-1ubuntu5 [697 kB] 707s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 bpftrace arm64 0.21.2-2ubuntu2 [1854 kB] 708s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 708s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-0 arm64 1.10.0+ds-3 [66.5 kB] 708s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libutempter0 arm64 1.2.1-4 [9646 B] 708s Fetched 4324 kB in 2s (2740 kB/s) 708s (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 ... 79924 files and directories currently installed.) 708s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_arm64.deb ... 708s Unpacking libgnutls30t64:arm64 (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 708s Setting up libgnutls30t64:arm64 (3.8.8-2ubuntu1) ... 708s (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 ... 79924 files and directories currently installed.) 708s Preparing to unpack .../0-python3-newt_0.52.24-2ubuntu4_arm64.deb ... 708s Unpacking python3-newt:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 708s Preparing to unpack .../1-libnewt0.52_0.52.24-2ubuntu4_arm64.deb ... 708s Unpacking libnewt0.52:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 708s Preparing to unpack .../2-whiptail_0.52.24-2ubuntu4_arm64.deb ... 708s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 708s Preparing to unpack .../3-libbpfcc_0.30.0+ds-1ubuntu5_arm64.deb ... 708s Unpacking libbpfcc:arm64 (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 708s Preparing to unpack .../4-python3-bpfcc_0.30.0+ds-1ubuntu5_all.deb ... 708s Unpacking python3-bpfcc (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 708s Preparing to unpack .../5-bpfcc-tools_0.30.0+ds-1ubuntu5_all.deb ... 708s Unpacking bpfcc-tools (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 709s Preparing to unpack .../6-bpftrace_0.21.2-2ubuntu2_arm64.deb ... 709s Unpacking bpftrace (0.21.2-2ubuntu2) over (0.21.2-2) ... 709s Preparing to unpack .../7-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 709s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 709s Preparing to unpack .../8-libjson-glib-1.0-0_1.10.0+ds-3_arm64.deb ... 709s Unpacking libjson-glib-1.0-0:arm64 (1.10.0+ds-3) over (1.10.0+ds-2) ... 709s Preparing to unpack .../9-libutempter0_1.2.1-4_arm64.deb ... 709s Unpacking libutempter0:arm64 (1.2.1-4) over (1.2.1-3build1) ... 709s Setting up libnewt0.52:arm64 (0.52.24-2ubuntu4) ... 709s Setting up python3-newt:arm64 (0.52.24-2ubuntu4) ... 709s Setting up libutempter0:arm64 (1.2.1-4) ... 709s Setting up whiptail (0.52.24-2ubuntu4) ... 709s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 709s Setting up libbpfcc:arm64 (0.30.0+ds-1ubuntu5) ... 709s Setting up python3-bpfcc (0.30.0+ds-1ubuntu5) ... 709s Setting up bpftrace (0.21.2-2ubuntu2) ... 709s Setting up libjson-glib-1.0-0:arm64 (1.10.0+ds-3) ... 709s Setting up bpfcc-tools (0.30.0+ds-1ubuntu5) ... 709s Processing triggers for man-db (2.12.1-3) ... 710s Processing triggers for libc-bin (2.40-1ubuntu3) ... 710s Reading package lists... 710s Building dependency tree... 710s Reading state information... 711s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 711s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 712s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 712s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 712s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 713s Reading package lists... 713s Reading package lists... 713s Building dependency tree... 713s Reading state information... 713s Calculating upgrade... 714s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 714s Reading package lists... 714s Building dependency tree... 714s Reading state information... 715s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 723s Reading package lists... 723s Building dependency tree... 723s Reading state information... 724s Starting pkgProblemResolver with broken count: 0 724s Starting 2 pkgProblemResolver with broken count: 0 724s Done 724s The following additional packages will be installed: 724s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 724s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 724s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 724s patroni-doc postgresql postgresql-16 postgresql-client-16 724s postgresql-client-common postgresql-common python3-behave python3-cdiff 724s python3-click python3-colorama python3-coverage python3-dateutil 724s python3-dnspython python3-etcd python3-parse python3-parse-type 724s python3-prettytable python3-psutil python3-psycopg2 python3-six 724s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 724s Suggested packages: 724s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 724s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 724s python3-httpcore etcd python-psycopg2-doc 724s Recommended packages: 724s javascript-common libjson-xs-perl 724s The following NEW packages will be installed: 724s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 724s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 724s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 724s patroni-doc postgresql postgresql-16 postgresql-client-16 724s postgresql-client-common postgresql-common python3-behave python3-cdiff 724s python3-click python3-colorama python3-coverage python3-dateutil 724s python3-dnspython python3-etcd python3-parse python3-parse-type 724s python3-prettytable python3-psutil python3-psycopg2 python3-six 724s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 724s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 724s Need to get 34.5 MB/34.5 MB of archives. 724s After this operation, 126 MB of additional disk space will be used. 724s Get:1 /tmp/autopkgtest.dgezgb/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 725s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 726s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 726s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 726s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 726s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 726s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.15-7 [10.5 MB] 727s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 727s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 727s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 727s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 727s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 727s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 727s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 727s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 727s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 727s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 727s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 727s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 727s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 727s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 727s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 727s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 727s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 727s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 727s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 727s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 727s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 727s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 727s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 727s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 727s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 728s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 728s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 728s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 728s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 728s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 728s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 728s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 728s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 729s Preconfiguring packages ... 729s Fetched 34.5 MB in 4s (8594 kB/s) 729s Selecting previously unselected package fonts-lato. 729s (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 ... 79925 files and directories currently installed.) 729s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 729s Unpacking fonts-lato (2.015-1) ... 729s Selecting previously unselected package libjson-perl. 729s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 729s Unpacking libjson-perl (4.10000-1) ... 729s Selecting previously unselected package postgresql-client-common. 729s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 729s Unpacking postgresql-client-common (262) ... 729s Selecting previously unselected package ssl-cert. 729s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 729s Unpacking ssl-cert (1.1.2ubuntu2) ... 729s Selecting previously unselected package postgresql-common. 729s Preparing to unpack .../04-postgresql-common_262_all.deb ... 729s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 729s Unpacking postgresql-common (262) ... 729s Selecting previously unselected package etcd-server. 729s Preparing to unpack .../05-etcd-server_3.5.15-7_arm64.deb ... 729s Unpacking etcd-server (3.5.15-7) ... 729s Selecting previously unselected package fonts-font-awesome. 729s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 729s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 730s Selecting previously unselected package libio-pty-perl. 730s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 730s Unpacking libio-pty-perl (1:1.20-1build3) ... 730s Selecting previously unselected package libipc-run-perl. 730s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 730s Unpacking libipc-run-perl (20231003.0-2) ... 730s Selecting previously unselected package libjs-jquery. 730s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 730s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 730s Selecting previously unselected package libjs-underscore. 730s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 730s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 730s Selecting previously unselected package libjs-sphinxdoc. 730s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 730s Unpacking libjs-sphinxdoc (7.4.7-4) ... 730s Selecting previously unselected package libpq5:arm64. 730s Preparing to unpack .../12-libpq5_17.0-1_arm64.deb ... 730s Unpacking libpq5:arm64 (17.0-1) ... 730s Selecting previously unselected package libtime-duration-perl. 730s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 730s Unpacking libtime-duration-perl (1.21-2) ... 730s Selecting previously unselected package libtimedate-perl. 730s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 730s Unpacking libtimedate-perl (2.3300-2) ... 730s Selecting previously unselected package libxslt1.1:arm64. 730s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 730s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 730s Selecting previously unselected package moreutils. 730s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 730s Unpacking moreutils (0.69-1) ... 730s Selecting previously unselected package python3-ydiff. 730s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 730s Unpacking python3-ydiff (1.3-1) ... 730s Selecting previously unselected package python3-cdiff. 730s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 730s Unpacking python3-cdiff (1.3-1) ... 730s Selecting previously unselected package python3-colorama. 730s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 730s Unpacking python3-colorama (0.4.6-4) ... 730s Selecting previously unselected package python3-click. 730s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 730s Unpacking python3-click (8.1.7-2) ... 730s Selecting previously unselected package python3-six. 730s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 730s Unpacking python3-six (1.16.0-7) ... 730s Selecting previously unselected package python3-dateutil. 730s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 730s Unpacking python3-dateutil (2.9.0-2) ... 730s Selecting previously unselected package python3-wcwidth. 730s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 730s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 730s Selecting previously unselected package python3-prettytable. 730s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 730s Unpacking python3-prettytable (3.10.1-1) ... 730s Selecting previously unselected package python3-psutil. 730s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_arm64.deb ... 730s Unpacking python3-psutil (5.9.8-2build2) ... 730s Selecting previously unselected package python3-psycopg2. 730s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_arm64.deb ... 730s Unpacking python3-psycopg2 (2.9.9-2) ... 730s Selecting previously unselected package python3-dnspython. 730s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 730s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 730s Selecting previously unselected package python3-etcd. 730s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 730s Unpacking python3-etcd (0.4.5-4) ... 730s Selecting previously unselected package patroni. 730s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 730s Unpacking patroni (3.3.1-1) ... 730s Selecting previously unselected package sphinx-rtd-theme-common. 730s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 730s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 730s Selecting previously unselected package patroni-doc. 730s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 730s Unpacking patroni-doc (3.3.1-1) ... 730s Selecting previously unselected package postgresql-client-16. 730s Preparing to unpack .../32-postgresql-client-16_16.4-3_arm64.deb ... 730s Unpacking postgresql-client-16 (16.4-3) ... 730s Selecting previously unselected package postgresql-16. 731s Preparing to unpack .../33-postgresql-16_16.4-3_arm64.deb ... 731s Unpacking postgresql-16 (16.4-3) ... 731s Selecting previously unselected package postgresql. 731s Preparing to unpack .../34-postgresql_16+262_all.deb ... 731s Unpacking postgresql (16+262) ... 731s Selecting previously unselected package python3-parse. 731s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 731s Unpacking python3-parse (1.20.2-1) ... 731s Selecting previously unselected package python3-parse-type. 731s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 731s Unpacking python3-parse-type (0.6.4-1) ... 731s Selecting previously unselected package python3-behave. 731s Preparing to unpack .../37-python3-behave_1.2.6-6_all.deb ... 731s Unpacking python3-behave (1.2.6-6) ... 731s Selecting previously unselected package python3-coverage. 731s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 731s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 731s Selecting previously unselected package autopkgtest-satdep. 731s Preparing to unpack .../39-2-autopkgtest-satdep.deb ... 731s Unpacking autopkgtest-satdep (0) ... 731s Setting up postgresql-client-common (262) ... 731s Setting up fonts-lato (2.015-1) ... 731s Setting up libio-pty-perl (1:1.20-1build3) ... 731s Setting up python3-colorama (0.4.6-4) ... 731s Setting up python3-ydiff (1.3-1) ... 731s Setting up libpq5:arm64 (17.0-1) ... 731s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 732s Setting up python3-click (8.1.7-2) ... 732s Setting up python3-psutil (5.9.8-2build2) ... 732s Setting up python3-six (1.16.0-7) ... 732s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 732s Setting up ssl-cert (1.1.2ubuntu2) ... 733s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 733s Setting up python3-psycopg2 (2.9.9-2) ... 733s Setting up libipc-run-perl (20231003.0-2) ... 733s Setting up libtime-duration-perl (1.21-2) ... 733s Setting up libtimedate-perl (2.3300-2) ... 733s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 734s Setting up python3-parse (1.20.2-1) ... 734s Setting up libjson-perl (4.10000-1) ... 734s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 734s Setting up python3-dateutil (2.9.0-2) ... 734s Setting up etcd-server (3.5.15-7) ... 734s info: Selecting UID from range 100 to 999 ... 734s 734s info: Selecting GID from range 100 to 999 ... 734s info: Adding system user `etcd' (UID 107) ... 734s info: Adding new group `etcd' (GID 111) ... 734s info: Adding new user `etcd' (UID 107) with group `etcd' ... 734s info: Creating home directory `/var/lib/etcd/' ... 734s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 734s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 735s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 735s Setting up python3-prettytable (3.10.1-1) ... 735s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 736s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 736s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 736s Setting up moreutils (0.69-1) ... 736s Setting up python3-etcd (0.4.5-4) ... 736s Setting up postgresql-client-16 (16.4-3) ... 736s 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 737s Setting up python3-cdiff (1.3-1) ... 737s Setting up python3-parse-type (0.6.4-1) ... 737s Setting up postgresql-common (262) ... 737s 737s Creating config file /etc/postgresql-common/createcluster.conf with new version 737s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 737s Removing obsolete dictionary files: 738s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 739s Setting up libjs-sphinxdoc (7.4.7-4) ... 739s Setting up python3-behave (1.2.6-6) ... 739s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 739s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 739s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 739s """Registers a custom type that will be available to "parse" 739s Setting up patroni (3.3.1-1) ... 739s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 740s Setting up postgresql-16 (16.4-3) ... 740s Creating new PostgreSQL cluster 16/main ... 740s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 740s The files belonging to this database system will be owned by user "postgres". 740s This user must also own the server process. 740s 740s The database cluster will be initialized with locale "C.UTF-8". 740s The default database encoding has accordingly been set to "UTF8". 740s The default text search configuration will be set to "english". 740s 740s Data page checksums are disabled. 740s 740s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 740s creating subdirectories ... ok 740s selecting dynamic shared memory implementation ... posix 740s selecting default max_connections ... 100 741s selecting default shared_buffers ... 128MB 741s selecting default time zone ... Etc/UTC 741s creating configuration files ... ok 741s running bootstrap script ... ok 741s performing post-bootstrap initialization ... ok 741s syncing data to disk ... ok 745s Setting up patroni-doc (3.3.1-1) ... 745s Setting up postgresql (16+262) ... 745s Setting up autopkgtest-satdep (0) ... 745s Processing triggers for man-db (2.12.1-3) ... 745s Processing triggers for libc-bin (2.40-1ubuntu3) ... 749s (Reading database ... 83136 files and directories currently installed.) 749s Removing autopkgtest-satdep (0) ... 751s autopkgtest [04:08:09]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 751s autopkgtest [04:08:09]: test acceptance-etcd-basic: [----------------------- 751s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 751s ○ etcd.service - etcd - highly-available key value store 751s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 751s Active: inactive (dead) since Thu 2024-11-14 04:08:09 UTC; 12ms ago 751s Duration: 16.088s 751s Invocation: 1eae11ed62104df3b2210cbc28d4a98f 751s Docs: https://etcd.io/docs 751s man:etcd 751s Process: 2687 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 751s Main PID: 2687 (code=killed, signal=TERM) 751s Mem peak: 7.1M 751s CPU: 160ms 751s 751s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.912499Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 751s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.912547Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 751s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"warn","ts":"2024-11-14T04:08:09.912630Z","caller":"embed/serve.go:161","msg":"stopping insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 751s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"warn","ts":"2024-11-14T04:08:09.913090Z","caller":"embed/serve.go:163","msg":"stopped insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 751s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.913116Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 751s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.916981Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 751s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.917559Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 751s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.917675Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 751s Nov 14 04:08:09 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 751s Nov 14 04:08:09 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 751s ++ ls -1r /usr/lib/postgresql/ 751s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 751s + '[' 16 == 10 -o 16 == 11 ']' 751s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 751s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 751s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 754s Nov 14 04:08:12 Feature: basic replication # features/basic_replication.feature:1 754s Nov 14 04:08:12 We should check that the basic bootstrapping, replication and failover works. 754s Nov 14 04:08:12 Scenario: check replication of a single table # features/basic_replication.feature:4 754s Nov 14 04:08:12 Given I start postgres0 # features/steps/basic_replication.py:8 757s Nov 14 04:08:15 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 757s Nov 14 04:08:15 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 757s Nov 14 04:08:15 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 757s Nov 14 04:08:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 757s Nov 14 04:08:15 When I start postgres1 # features/steps/basic_replication.py:8 760s Nov 14 04:08:18 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 763s Nov 14 04:08:21 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 763s Nov 14 04:08:21 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 763s Nov 14 04:08:21 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 764s Nov 14 04:08:22 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 764s Nov 14 04:08:22 764s Nov 14 04:08:22 Scenario: check restart of sync replica # features/basic_replication.feature:17 764s Nov 14 04:08:22 Given I shut down postgres2 # features/steps/basic_replication.py:29 765s Nov 14 04:08:23 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 765s Nov 14 04:08:23 When I start postgres2 # features/steps/basic_replication.py:8 768s Nov 14 04:08:26 And I shut down postgres1 # features/steps/basic_replication.py:29 771s Nov 14 04:08:29 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 772s Nov 14 04:08:30 When I start postgres1 # features/steps/basic_replication.py:8 775s Nov 14 04:08:33 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 776s Nov 14 04:08:34 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 776s Nov 14 04:08:34 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 776s Nov 14 04:08:34 776s Nov 14 04:08:34 Scenario: check stuck sync replica # features/basic_replication.feature:28 776s Nov 14 04:08:34 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 776s Nov 14 04:08:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 776s Nov 14 04:08:34 And I create table on postgres0 # features/steps/basic_replication.py:73 776s Nov 14 04:08:34 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 777s Nov 14 04:08:35 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 777s Nov 14 04:08:35 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 777s Nov 14 04:08:35 And I load data on postgres0 # features/steps/basic_replication.py:84 778s Nov 14 04:08:36 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 781s Nov 14 04:08:39 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 781s Nov 14 04:08:39 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 782s Nov 14 04:08:40 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 782s Nov 14 04:08:40 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 782s Nov 14 04:08:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 782s Nov 14 04:08:40 And I drop table on postgres0 # features/steps/basic_replication.py:73 782s Nov 14 04:08:40 782s Nov 14 04:08:40 Scenario: check multi sync replication # features/basic_replication.feature:44 782s Nov 14 04:08:40 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 782s Nov 14 04:08:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 782s Nov 14 04:08:40 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 786s Nov 14 04: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 786s Nov 14 04:08:44 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 786s Nov 14 04:08:44 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 786s Nov 14 04:08:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 786s Nov 14 04:08:44 And I shut down postgres1 # features/steps/basic_replication.py:29 789s Nov 14 04:08:47 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 790s Nov 14 04:08:48 When I start postgres1 # features/steps/basic_replication.py:8 793s Nov 14 04:08:51 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 794s Nov 14 04:08:52 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 794s Nov 14 04:08:52 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 794s Nov 14 04:08:52 794s Nov 14 04:08:52 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 794s Nov 14 04:08:52 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 796s Nov 14 04:08:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 796s Nov 14 04:08:54 When I sleep for 2 seconds # features/steps/patroni_api.py:39 798s Nov 14 04:08:56 And I shut down postgres0 # features/steps/basic_replication.py:29 799s Nov 14 04:08:57 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 801s Nov 14 04:08:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 801s Nov 14 04:08:59 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 821s Nov 14 04:09:19 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 823s Nov 14 04:09:21 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 823s Nov 14 04:09:21 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 823s Nov 14 04:09:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 823s Nov 14 04:09:21 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 823s Nov 14 04:09:21 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 825s Nov 14 04:09:23 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 825s Nov 14 04:09:23 825s Nov 14 04:09:23 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 825s Nov 14 04:09:23 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 825s Nov 14 04:09:23 And I start postgres0 # features/steps/basic_replication.py:8 825s Nov 14 04:09:23 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 829s Nov 14 04:09:27 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 829s Nov 14 04:09:27 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 832s Nov 14 04:09:30 832s Nov 14 04:09:30 @reject-duplicate-name 832s Nov 14 04:09:30 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 832s Nov 14 04:09:30 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 834s Nov 14 04:09:32 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:121 839s Nov 14 04:09:37 840s 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'))") 840s 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'))") 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.4883.XnlNDxwx 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.4926.XgQJpgcx 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.4965.XCmOWmsx 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.5018.XeTKCgcx 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.5063.XeZyZnfx 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.5134.XbZOMXZx 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.5181.XkbYmlgx 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.5184.XZhgnlox 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.5282.XOoqKXVx 840s Nov 14 04:09:38 Combined data file .coverage.autopkgtest.5377.XxvtlVrx 842s Nov 14 04:09:40 Name Stmts Miss Cover 842s Nov 14 04:09:40 ------------------------------------------------------------------------------------------------------------- 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 603 45% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/api.py 770 429 44% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 149 77% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/ha.py 1244 612 51% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/log.py 219 71 68% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 239 71% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 91 64% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 251 69% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 174 48% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/utils.py 350 140 60% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/validator.py 301 211 30% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/six.py 504 250 50% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 842s Nov 14 04:09:40 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 842s Nov 14 04:09:40 patroni/__init__.py 13 2 85% 842s Nov 14 04:09:40 patroni/__main__.py 199 199 0% 842s Nov 14 04:09:40 patroni/api.py 770 770 0% 842s Nov 14 04:09:40 patroni/async_executor.py 96 69 28% 842s Nov 14 04:09:40 patroni/collections.py 56 15 73% 842s Nov 14 04:09:40 patroni/config.py 371 196 47% 842s Nov 14 04:09:40 patroni/config_generator.py 212 212 0% 842s Nov 14 04:09:40 patroni/ctl.py 936 663 29% 842s Nov 14 04:09:40 patroni/daemon.py 76 76 0% 842s Nov 14 04:09:40 patroni/dcs/__init__.py 646 308 52% 842s Nov 14 04:09:40 patroni/dcs/consul.py 485 485 0% 842s Nov 14 04:09:40 patroni/dcs/etcd3.py 679 679 0% 842s Nov 14 04:09:40 patroni/dcs/etcd.py 603 232 62% 842s Nov 14 04:09:40 patroni/dcs/exhibitor.py 61 61 0% 842s Nov 14 04:09:40 patroni/dcs/kubernetes.py 938 938 0% 842s Nov 14 04:09:40 patroni/dcs/raft.py 319 319 0% 842s Nov 14 04:09:40 patroni/dcs/zookeeper.py 288 288 0% 842s Nov 14 04:09:40 patroni/dynamic_loader.py 35 7 80% 842s Nov 14 04:09:40 patroni/exceptions.py 16 1 94% 842s Nov 14 04:09:40 patroni/file_perm.py 43 15 65% 842s Nov 14 04:09:40 patroni/global_config.py 81 23 72% 842s Nov 14 04:09:40 patroni/ha.py 1244 1244 0% 842s Nov 14 04:09:40 patroni/log.py 219 173 21% 842s Nov 14 04:09:40 patroni/postgresql/__init__.py 821 651 21% 842s Nov 14 04:09:40 patroni/postgresql/available_parameters/__init__.py 21 3 86% 842s Nov 14 04:09:40 patroni/postgresql/bootstrap.py 252 222 12% 842s Nov 14 04:09:40 patroni/postgresql/callback_executor.py 55 34 38% 842s Nov 14 04:09:40 patroni/postgresql/cancellable.py 104 84 19% 842s Nov 14 04:09:40 patroni/postgresql/config.py 813 698 14% 842s Nov 14 04:09:40 patroni/postgresql/connection.py 75 50 33% 842s Nov 14 04:09:40 patroni/postgresql/misc.py 41 29 29% 842s Nov 14 04:09:40 patroni/postgresql/mpp/__init__.py 89 21 76% 842s Nov 14 04:09:40 patroni/postgresql/mpp/citus.py 259 259 0% 842s Nov 14 04:09:40 patroni/postgresql/postmaster.py 170 139 18% 842s Nov 14 04:09:40 patroni/postgresql/rewind.py 416 416 0% 842s Nov 14 04:09:40 patroni/postgresql/slots.py 334 285 15% 842s Nov 14 04:09:40 patroni/postgresql/sync.py 130 96 26% 842s Nov 14 04:09:40 patroni/postgresql/validator.py 157 52 67% 842s Nov 14 04:09:40 patroni/psycopg.py 42 28 33% 842s Nov 14 04:09:40 patroni/raft_controller.py 22 22 0% 842s Nov 14 04:09:40 patroni/request.py 62 6 90% 842s Nov 14 04:09:40 patroni/scripts/__init__.py 0 0 100% 842s Nov 14 04:09:40 patroni/scripts/aws.py 59 59 0% 842s Nov 14 04:09:40 patroni/scripts/barman/__init__.py 0 0 100% 842s Nov 14 04:09:40 patroni/scripts/barman/cli.py 51 51 0% 842s Nov 14 04:09:40 patroni/scripts/barman/config_switch.py 51 51 0% 842s Nov 14 04:09:40 patroni/scripts/barman/recover.py 37 37 0% 842s Nov 14 04:09:40 patroni/scripts/barman/utils.py 94 94 0% 842s Nov 14 04:09:40 patroni/scripts/wale_restore.py 207 207 0% 842s Nov 14 04:09:40 patroni/tags.py 38 15 61% 842s Nov 14 04:09:40 patroni/utils.py 350 246 30% 842s Nov 14 04:09:40 patroni/validator.py 301 215 29% 842s Nov 14 04:09:40 patroni/version.py 1 0 100% 842s Nov 14 04:09:40 patroni/watchdog/__init__.py 2 2 0% 842s Nov 14 04:09:40 patroni/watchdog/base.py 203 203 0% 842s Nov 14 04:09:40 patroni/watchdog/linux.py 135 135 0% 842s Nov 14 04:09:40 ------------------------------------------------------------------------------------------------------------- 842s Nov 14 04:09:40 TOTAL 53060 33805 36% 842s Nov 14 04:09:40 1 feature passed, 0 failed, 0 skipped 842s Nov 14 04:09:40 7 scenarios passed, 0 failed, 0 skipped 842s Nov 14 04:09:40 68 steps passed, 0 failed, 0 skipped, 0 undefined 842s Nov 14 04:09:40 Took 1m20.768s 842s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 842s + rm -f '/tmp/pgpass?' 842s ### End 16 acceptance-etcd features/basic_replication.feature ### 842s ++ id -u 842s + '[' 0 -eq 0 ']' 842s + '[' -x /etc/init.d/zookeeper ']' 843s autopkgtest [04:09:41]: test acceptance-etcd-basic: -----------------------] 843s acceptance-etcd-basic PASS 843s autopkgtest [04:09:41]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 844s autopkgtest [04:09:42]: test acceptance-etcd: preparing testbed 845s Reading package lists... 845s Building dependency tree... 845s Reading state information... 846s Starting pkgProblemResolver with broken count: 0 846s Starting 2 pkgProblemResolver with broken count: 0 846s Done 846s The following NEW packages will be installed: 846s autopkgtest-satdep 847s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 847s Need to get 0 B/772 B of archives. 847s After this operation, 0 B of additional disk space will be used. 847s Get:1 /tmp/autopkgtest.dgezgb/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [772 B] 847s Selecting previously unselected package autopkgtest-satdep. 847s (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 ... 83136 files and directories currently installed.) 847s Preparing to unpack .../3-autopkgtest-satdep.deb ... 847s Unpacking autopkgtest-satdep (0) ... 847s Setting up autopkgtest-satdep (0) ... 850s (Reading database ... 83136 files and directories currently installed.) 850s Removing autopkgtest-satdep (0) ... 850s autopkgtest [04:09:48]: test acceptance-etcd: debian/tests/acceptance etcd 850s autopkgtest [04:09:48]: test acceptance-etcd: [----------------------- 850s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 851s ○ etcd.service - etcd - highly-available key value store 851s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 851s Active: inactive (dead) since Thu 2024-11-14 04:08:09 UTC; 1min 39s ago 851s Duration: 16.088s 851s Invocation: 1eae11ed62104df3b2210cbc28d4a98f 851s Docs: https://etcd.io/docs 851s man:etcd 851s Process: 2687 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 851s Main PID: 2687 (code=killed, signal=TERM) 851s Mem peak: 7.1M 851s CPU: 160ms 851s 851s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.912499Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 851s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.912547Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 851s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"warn","ts":"2024-11-14T04:08:09.912630Z","caller":"embed/serve.go:161","msg":"stopping insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 851s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"warn","ts":"2024-11-14T04:08:09.913090Z","caller":"embed/serve.go:163","msg":"stopped insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 851s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.913116Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 851s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.916981Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 851s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.917559Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 851s Nov 14 04:08:09 autopkgtest etcd[2687]: {"level":"info","ts":"2024-11-14T04:08:09.917675Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 851s Nov 14 04:08:09 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 851s Nov 14 04:08:09 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 851s ++ ls -1r /usr/lib/postgresql/ 851s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 851s + '[' 16 == 10 -o 16 == 11 ']' 851s + echo '### PostgreSQL 16 acceptance-etcd ###' 851s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 851s ### PostgreSQL 16 acceptance-etcd ### 853s Nov 14 04:09:51 Feature: basic replication # features/basic_replication.feature:1 853s Nov 14 04:09:51 We should check that the basic bootstrapping, replication and failover works. 853s Nov 14 04:09:51 Scenario: check replication of a single table # features/basic_replication.feature:4 853s Nov 14 04:09:51 Given I start postgres0 # features/steps/basic_replication.py:8 856s Nov 14 04:09:54 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 856s Nov 14 04:09:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 856s Nov 14 04:09: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 856s Nov 14 04:09:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 856s Nov 14 04:09:54 When I start postgres1 # features/steps/basic_replication.py:8 859s Nov 14 04:09:57 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 862s Nov 14 04:10:00 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 862s Nov 14 04:10:00 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 862s Nov 14 04:10:00 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 863s Nov 14 04:10:01 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 863s Nov 14 04:10:01 863s Nov 14 04:10:01 Scenario: check restart of sync replica # features/basic_replication.feature:17 863s Nov 14 04:10:01 Given I shut down postgres2 # features/steps/basic_replication.py:29 864s Nov 14 04:10:02 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 864s Nov 14 04:10:02 When I start postgres2 # features/steps/basic_replication.py:8 867s Nov 14 04:10:05 And I shut down postgres1 # features/steps/basic_replication.py:29 870s Nov 14 04:10:08 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 871s Nov 14 04:10:09 When I start postgres1 # features/steps/basic_replication.py:8 874s Nov 14 04:10:12 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 875s Nov 14 04:10:13 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 875s Nov 14 04:10:13 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 875s Nov 14 04:10:13 875s Nov 14 04:10:13 Scenario: check stuck sync replica # features/basic_replication.feature:28 875s Nov 14 04:10:13 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 875s Nov 14 04:10:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 875s Nov 14 04:10:13 And I create table on postgres0 # features/steps/basic_replication.py:73 875s Nov 14 04:10:13 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 876s Nov 14 04:10:14 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 876s Nov 14 04:10:14 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 876s Nov 14 04:10:14 And I load data on postgres0 # features/steps/basic_replication.py:84 877s Nov 14 04:10:15 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 880s Nov 14 04:10:18 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 880s Nov 14 04:10:18 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 881s Nov 14 04:10:19 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 881s Nov 14 04:10: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 881s Nov 14 04:10:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 881s Nov 14 04:10:19 And I drop table on postgres0 # features/steps/basic_replication.py:73 881s Nov 14 04:10:19 881s Nov 14 04:10:19 Scenario: check multi sync replication # features/basic_replication.feature:44 881s Nov 14 04:10: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 881s Nov 14 04:10:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 881s Nov 14 04:10:19 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 885s Nov 14 04:10:23 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 885s Nov 14 04:10:23 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 885s Nov 14 04:10:23 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 885s Nov 14 04:10:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 885s Nov 14 04:10:23 And I shut down postgres1 # features/steps/basic_replication.py:29 888s Nov 14 04:10:26 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 889s Nov 14 04:10:27 When I start postgres1 # features/steps/basic_replication.py:8 892s Nov 14 04:10:30 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 893s Nov 14 04:10:31 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 893s Nov 14 04:10:31 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 893s Nov 14 04:10:31 893s Nov 14 04:10:31 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 893s Nov 14 04:10:31 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 895s Nov 14 04:10:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 895s Nov 14 04:10:33 When I sleep for 2 seconds # features/steps/patroni_api.py:39 897s Nov 14 04:10:35 And I shut down postgres0 # features/steps/basic_replication.py:29 898s Nov 14 04:10:36 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 900s Nov 14 04:10:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 900s Nov 14 04:10:38 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 918s Nov 14 04:10:56 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 920s Nov 14 04:10:58 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 920s Nov 14 04:10:58 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 920s Nov 14 04:10:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 920s Nov 14 04:10:58 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 920s Nov 14 04:10:58 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 924s Nov 14 04:11:02 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 924s Nov 14 04:11:02 924s Nov 14 04:11:02 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 924s Nov 14 04:11:02 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 924s Nov 14 04:11:02 And I start postgres0 # features/steps/basic_replication.py:8 924s Nov 14 04:11:02 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 928s Nov 14 04:11:06 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 929s Nov 14 04:11:06 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 932s Nov 14 04:11:10 932s Nov 14 04:11:10 @reject-duplicate-name 932s Nov 14 04:11:10 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 932s Nov 14 04:11:10 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 934s Nov 14 04:11:12 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:121 938s Nov 14 04:11:16 938s Nov 14 04:11:16 Feature: cascading replication # features/cascading_replication.feature:1 938s Nov 14 04:11:16 We should check that patroni can do base backup and streaming from the replica 938s Nov 14 04:11:16 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 938s Nov 14 04:11:16 Given I start postgres0 # features/steps/basic_replication.py:8 941s Nov 14 04:11:19 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 941s Nov 14 04:11:19 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 944s Nov 14 04:11:22 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 945s Nov 14 04:11:23 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 945s Nov 14 04:11:23 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 945s Nov 14 04:11:23 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 945s Nov 14 04:11:23 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 948s Nov 14 04:11:26 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 949s Nov 14 04:11:27 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 955s Nov 14 04:11:33 955s SKIP FEATURE citus: Citus extenstion isn't available 955s Nov 14 04:11:33 Feature: citus # features/citus.feature:1 955s Nov 14 04:11:33 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 955s Nov 14 04:11:33 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 955s Nov 14 04:11:33 Given I start postgres0 in citus group 0 # None 955s Nov 14 04:11:33 And I start postgres2 in citus group 1 # None 955s Nov 14 04:11:33 Then postgres0 is a leader in a group 0 after 10 seconds # None 955s Nov 14 04:11:33 And postgres2 is a leader in a group 1 after 10 seconds # None 955s Nov 14 04:11:33 When I start postgres1 in citus group 0 # None 955s Nov 14 04:11:33 And I start postgres3 in citus group 1 # None 955s Nov 14 04:11:33 Then replication works from postgres0 to postgres1 after 15 seconds # None 955s Nov 14 04:11:33 Then replication works from postgres2 to postgres3 after 15 seconds # None 955s Nov 14 04:11:33 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 955s Nov 14 04:11:33 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 955s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 955s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 955s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 955s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 955s 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 955s Nov 14 04:11:33 955s Nov 14 04:11:33 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 955s Nov 14 04:11:33 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 955s Nov 14 04:11:33 Then postgres1 role is the primary after 10 seconds # None 955s Nov 14 04:11:33 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 955s Nov 14 04:11:33 And replication works from postgres1 to postgres0 after 15 seconds # None 955s Nov 14 04:11:33 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 955s Nov 14 04:11:33 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 955s Nov 14 04:11:33 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 955s Nov 14 04:11:33 Then postgres0 role is the primary after 10 seconds # None 955s Nov 14 04:11:33 And replication works from postgres0 to postgres1 after 15 seconds # None 955s Nov 14 04:11:33 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 955s Nov 14 04:11:33 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 955s Nov 14 04:11:33 955s Nov 14 04:11:33 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 955s Nov 14 04:11:33 Given I create a distributed table on postgres0 # None 955s Nov 14 04:11:33 And I start a thread inserting data on postgres0 # None 955s Nov 14 04:11:33 When I run patronictl.py switchover batman --group 1 --force # None 955s Nov 14 04:11:33 Then I receive a response returncode 0 # None 955s Nov 14 04:11:33 And postgres3 role is the primary after 10 seconds # None 955s Nov 14 04:11:33 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 955s Nov 14 04:11:33 And replication works from postgres3 to postgres2 after 15 seconds # None 955s Nov 14 04:11:33 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 955s Nov 14 04:11:33 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 955s Nov 14 04:11:33 And a thread is still alive # None 955s Nov 14 04:11:33 When I run patronictl.py switchover batman --group 1 --force # None 955s Nov 14 04:11:33 Then I receive a response returncode 0 # None 955s Nov 14 04:11:33 And postgres2 role is the primary after 10 seconds # None 955s Nov 14 04:11:33 And replication works from postgres2 to postgres3 after 15 seconds # None 955s Nov 14 04:11:33 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 955s Nov 14 04:11:33 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 955s Nov 14 04:11:33 And a thread is still alive # None 955s Nov 14 04:11:33 When I stop a thread # None 955s Nov 14 04:11:33 Then a distributed table on postgres0 has expected rows # None 955s Nov 14 04:11:33 955s Nov 14 04:11:33 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 955s Nov 14 04:11:33 Given I cleanup a distributed table on postgres0 # None 955s Nov 14 04:11:33 And I start a thread inserting data on postgres0 # None 955s Nov 14 04:11:33 When I run patronictl.py restart batman postgres2 --group 1 --force # None 955s Nov 14 04:11:33 Then I receive a response returncode 0 # None 955s Nov 14 04:11:33 And postgres2 role is the primary after 10 seconds # None 955s Nov 14 04:11:33 And replication works from postgres2 to postgres3 after 15 seconds # None 955s Nov 14 04:11:33 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 955s Nov 14 04:11:33 And a thread is still alive # None 955s Nov 14 04:11:33 When I stop a thread # None 955s Nov 14 04:11:33 Then a distributed table on postgres0 has expected rows # None 955s Nov 14 04:11:33 955s Nov 14 04:11:33 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 955s Nov 14 04:11:33 Given I start postgres4 in citus group 2 # None 955s Nov 14 04:11:33 Then postgres4 is a leader in a group 2 after 10 seconds # None 955s Nov 14 04:11:33 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 955s Nov 14 04:11:33 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 955s Nov 14 04:11:33 Then I receive a response returncode 0 # None 955s Nov 14 04:11:33 And I receive a response output "+ttl: 20" # None 955s Nov 14 04:11:33 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 955s Nov 14 04:11:33 When I shut down postgres4 # None 955s Nov 14 04:11:33 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 955s Nov 14 04:11:33 When I run patronictl.py restart batman postgres2 --group 1 --force # None 955s Nov 14 04:11:33 Then a transaction finishes in 20 seconds # None 955s Nov 14 04:11:33 955s Nov 14 04:11:33 Feature: custom bootstrap # features/custom_bootstrap.feature:1 955s Nov 14 04:11:33 We should check that patroni can bootstrap a new cluster from a backup 955s Nov 14 04:11:33 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 955s Nov 14 04:11:33 Given I start postgres0 # features/steps/basic_replication.py:8 958s Nov 14 04:11:36 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 958s Nov 14 04:11:36 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 958s Nov 14 04:11:36 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 962s Nov 14 04:11:40 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 963s Nov 14 04:11:41 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 963s Nov 14 04:11:41 963s Nov 14 04:11:41 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 963s Nov 14 04:11:41 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 963s Nov 14 04:11:41 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 963s Nov 14 04:11:41 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 968s Nov 14 04:11:46 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 968s Nov 14 04:11:46 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 974s Nov 14 04:11:52 974s Nov 14 04:11:52 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 974s Nov 14 04:11:52 We should check the basic dcs failsafe mode functioning 974s Nov 14 04:11:52 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 974s Nov 14 04:11:52 Given I start postgres0 # features/steps/basic_replication.py:8 977s Nov 14 04:11:55 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 977s Nov 14 04:11:55 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 977s Nov 14 04:11:55 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 977s Nov 14 04:11:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 977s Nov 14 04:11:55 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 977s Nov 14 04:11:55 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 977s Nov 14 04:11:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 977s Nov 14 04:11:55 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 977s Nov 14 04:11:55 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 977s Nov 14 04:11:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 977s Nov 14 04:11:55 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 977s Nov 14 04:11:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 977s Nov 14 04:11:55 977s Nov 14 04:11:55 @dcs-failsafe 977s Nov 14 04:11:55 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 977s Nov 14 04:11:55 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 977s Nov 14 04:11:55 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 983s Nov 14 04:12:01 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 983s Nov 14 04:12:01 983s Nov 14 04:12:01 @dcs-failsafe 983s Nov 14 04:12:01 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 983s Nov 14 04:12:01 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 983s Nov 14 04:12:01 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 984s Nov 14 04:12:02 And I shut down postgres0 # features/steps/basic_replication.py:29 986s Nov 14 04:12:04 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 989s Nov 14 04:12:07 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 989s Nov 14 04:12:07 989s Nov 14 04:12:07 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 989s Nov 14 04:12:07 Given I start postgres0 # features/steps/basic_replication.py:8 992s Nov 14 04:12:10 And I start postgres1 # features/steps/basic_replication.py:8 992s Nov 14 04:12:10 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 993s Nov 14 04:12:11 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 993s Nov 14 04:12:11 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 996s Nov 14 04:12:14 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 996s Nov 14 04:12:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 996s Nov 14 04:12:14 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 996s Nov 14 04:12:14 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 996s Nov 14 04:12:14 996s Nov 14 04:12:14 @dcs-failsafe @slot-advance 996s Nov 14 04:12:14 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 996s Nov 14 04:12:14 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 996s Nov 14 04:12:14 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 999s Nov 14 04:12:17 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 999s Nov 14 04:12:17 And DCS is down # features/steps/dcs_failsafe_mode.py:4 999s Nov 14 04:12:17 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 1007s Nov 14 04:12:25 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1007s Nov 14 04:12:25 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1007s Nov 14 04:12:25 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1007s Nov 14 04:12:25 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1007s Nov 14 04:12:25 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1007s Nov 14 04:12:25 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1010s Nov 14 04:12:28 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1010s Nov 14 04:12:28 1010s Nov 14 04:12:28 @dcs-failsafe 1010s Nov 14 04:12:28 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1010s Nov 14 04:12:28 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1010s Nov 14 04:12:28 And I kill postgres1 # features/steps/basic_replication.py:34 1011s Nov 14 04:12:29 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1011s Nov 14 04:12:29 waiting for server to shut down.... done 1011s Nov 14 04:12:29 server stopped 1011s Nov 14 04:12:29 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1012s Nov 14 04:12:30 1012s Nov 14 04:12:30 @dcs-failsafe 1012s Nov 14 04:12:30 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1012s Nov 14 04:12:30 Given I kill postgres0 # features/steps/basic_replication.py:34 1013s Nov 14 04:12:31 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1013s Nov 14 04:12:31 waiting for server to shut down.... done 1013s Nov 14 04:12:31 server stopped 1013s Nov 14 04:12:31 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1013s Nov 14 04:12:31 When I start postgres1 # features/steps/basic_replication.py:8 1016s Nov 14 04:12:34 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1017s Nov 14 04:12:35 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1020s Nov 14 04:12:38 1020s Nov 14 04:12:38 @dcs-failsafe 1020s Nov 14 04:12:38 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1020s Nov 14 04:12:38 Given I start postgres0 # features/steps/basic_replication.py:8 1023s Nov 14 04:12:41 And I start postgres2 # features/steps/basic_replication.py:8 1026s Nov 14 04:12:44 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1027s Nov 14 04:12:45 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1027s Nov 14 04:12:45 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1027s Nov 14 04:12:45 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1028s Nov 14 04:12:46 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1029s Nov 14 04:12:47 1029s Nov 14 04:12:47 @dcs-failsafe @slot-advance 1029s Nov 14 04:12:47 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1029s Nov 14 04:12:47 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 1029s Nov 14 04:12:47 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1036s Nov 14 04:12:53 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1037s Nov 14 04:12:54 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1037s Nov 14 04:12:54 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1038s Nov 14 04:12:55 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1038s Nov 14 04:12:55 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1038s Nov 14 04:12:56 1038s Nov 14 04:12:56 @dcs-failsafe 1038s Nov 14 04:12:56 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1038s Nov 14 04:12:56 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1038s Nov 14 04:12:56 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 1045s Nov 14 04:13:03 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1045s Nov 14 04:13:03 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1045s Nov 14 04:13:03 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1045s Nov 14 04:13:03 1045s Nov 14 04:13:03 @dcs-failsafe @slot-advance 1045s Nov 14 04:13:03 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1045s Nov 14 04:13:03 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1045s Nov 14 04:13:03 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1046s Nov 14 04:13:04 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1046s Nov 14 04:13:04 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1046s Nov 14 04:13:04 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1047s Nov 14 04:13:05 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1047s Nov 14 04:13:05 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1047s Nov 14 04:13:05 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1047s Nov 14 04:13:05 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1051s Nov 14 04:13:09 1051s Nov 14 04:13:09 Feature: ignored slots # features/ignored_slots.feature:1 1051s Nov 14 04:13:09 1051s Nov 14 04:13:09 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1051s Nov 14 04:13:09 Given I start postgres1 # features/steps/basic_replication.py:8 1054s Nov 14 04:13:12 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1054s Nov 14 04:13:12 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1054s Nov 14 04:13:12 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 1054s Nov 14 04:13:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1054s Nov 14 04:13:12 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1054s Nov 14 04:13:12 When I shut down postgres1 # features/steps/basic_replication.py:29 1057s Nov 14 04:13:14 And I start postgres1 # features/steps/basic_replication.py:8 1059s Nov 14 04:13:17 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1060s Nov 14 04:13:18 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1061s Nov 14 04:13:19 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1061s Nov 14 04:13:19 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1061s Nov 14 04:13:19 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1061s Nov 14 04:13:19 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1062s Nov 14 04:13:19 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1062s Nov 14 04:13:19 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1062s Nov 14 04:13:20 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1062s Nov 14 04:13:20 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1062s Nov 14 04:13:20 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1062s Nov 14 04:13:20 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1062s Nov 14 04:13:20 When I start postgres0 # features/steps/basic_replication.py:8 1065s Nov 14 04:13:23 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1066s Nov 14 04:13:24 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1066s Nov 14 04:13:24 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1067s Nov 14 04:13:25 When I shut down postgres1 # features/steps/basic_replication.py:29 1069s Nov 14 04:13:27 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1070s Nov 14 04:13:28 When I start postgres1 # features/steps/basic_replication.py:8 1073s Nov 14 04:13:31 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1073s Nov 14 04:13:31 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1074s Nov 14 04:13:32 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1076s Nov 14 04:13: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 1076s Nov 14 04:13: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 1076s Nov 14 04:13: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 1076s Nov 14 04:13: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 1076s Nov 14 04:13:34 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1076s Nov 14 04:13:34 When I shut down postgres0 # features/steps/basic_replication.py:29 1078s Nov 14 04:13:36 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1079s Nov 14 04:13: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 1079s Nov 14 04:13: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 1079s Nov 14 04:13: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 1079s Nov 14 04:13: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 1081s Nov 14 04:13:39 1081s Nov 14 04:13:39 Feature: nostream node # features/nostream_node.feature:1 1081s Nov 14 04:13:39 1081s Nov 14 04:13:39 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1081s Nov 14 04:13:39 When I start postgres0 # features/steps/basic_replication.py:8 1084s Nov 14 04:13:42 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1087s Nov 14 04:13:45 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1088s Nov 14 04:13:46 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1093s Nov 14 04:13:51 1093s Nov 14 04:13:51 @slot-advance 1093s Nov 14 04:13:51 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1093s Nov 14 04:13:51 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1093s Nov 14 04:13:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1093s Nov 14 04:13:51 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1095s Nov 14 04:13:53 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1096s Nov 14 04:13:54 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1100s Nov 14 04:13:57 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1106s Nov 14 04:14:04 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1106s Nov 14 04:14:04 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1112s Nov 14 04:14:10 1112s Nov 14 04:14:10 Feature: patroni api # features/patroni_api.feature:1 1112s Nov 14 04:14:10 We should check that patroni correctly responds to valid and not-valid API requests. 1112s Nov 14 04:14:10 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1112s Nov 14 04:14:10 Given I start postgres0 # features/steps/basic_replication.py:8 1115s Nov 14 04:14:13 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1116s Nov 14 04:14:14 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1116s Nov 14 04:14:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1116s Nov 14 04:14:14 And I receive a response state running # features/steps/patroni_api.py:98 1116s Nov 14 04:14:14 And I receive a response role master # features/steps/patroni_api.py:98 1116s Nov 14 04:14:14 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1116s Nov 14 04:14:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 1116s Nov 14 04:14:14 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1116s Nov 14 04:14:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1116s Nov 14 04:14:14 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1116s Nov 14 04:14:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 1116s Nov 14 04:14:14 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1116s Nov 14 04:14:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 1116s Nov 14 04:14:14 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1116s Nov 14 04:14:14 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1118s Nov 14 04:14:16 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1118s Nov 14 04:14:16 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1118s Nov 14 04:14:16 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1118s Nov 14 04:14:16 Then I receive a response code 412 # features/steps/patroni_api.py:98 1118s Nov 14 04:14:16 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1118s Nov 14 04:14:16 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1118s Nov 14 04:14:16 Then I receive a response code 400 # features/steps/patroni_api.py:98 1118s Nov 14 04:14:16 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1118s Nov 14 04:14:16 Then I receive a response code 400 # features/steps/patroni_api.py:98 1118s Nov 14 04:14:16 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1118s Nov 14 04:14:16 1118s Nov 14 04:14:16 Scenario: check local configuration reload # features/patroni_api.feature:32 1118s Nov 14 04:14:16 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1118s Nov 14 04:14:16 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1118s Nov 14 04:14:16 Then I receive a response code 202 # features/steps/patroni_api.py:98 1118s Nov 14 04:14:16 1118s Nov 14 04:14:16 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1118s Nov 14 04:14:16 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 1118s Nov 14 04:14:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 1118s Nov 14 04:14:16 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1120s Nov 14 04:14:18 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1120s Nov 14 04:14:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 1120s Nov 14 04:14:18 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1120s Nov 14 04:14:18 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1120s Nov 14 04:14:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 1120s Nov 14 04:14:18 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1120s Nov 14 04:14:18 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1124s Nov 14 04:14:22 1124s Nov 14 04:14:22 Scenario: check the scheduled restart # features/patroni_api.feature:49 1124s Nov 14 04:14:22 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1126s Nov 14 04:14:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1126s Nov 14 04:14:24 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1126s Nov 14 04:14:24 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1126s Nov 14 04:14:24 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 1126s Nov 14 04:14:24 Then I receive a response code 202 # features/steps/patroni_api.py:98 1126s Nov 14 04:14:24 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1134s Nov 14 04:14:32 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1134s Nov 14 04:14:32 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 1134s Nov 14 04:14:32 Then I receive a response code 202 # features/steps/patroni_api.py:98 1134s Nov 14 04:14:32 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 1141s Nov 14 04:14:39 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1142s Nov 14 04:14:40 1142s Nov 14 04:14:40 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1142s Nov 14 04:14:40 Given I start postgres1 # features/steps/basic_replication.py:8 1145s Nov 14 04:14:43 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1146s Nov 14 04:14:44 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1148s Nov 14 04:14:46 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1148s Nov 14 04:14:46 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1148s Nov 14 04:14:46 waiting for server to shut down.... done 1148s Nov 14 04:14:46 server stopped 1148s Nov 14 04:14:46 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1148s Nov 14 04:14:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 1148s Nov 14 04:14:46 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1149s Nov 14 04:14:47 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1152s Nov 14 04:14:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1152s Nov 14 04:14:50 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1153s Nov 14 04:14:51 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1155s Nov 14 04:14:53 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1155s Nov 14 04:14:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1155s Nov 14 04:14:53 And I receive a response state running # features/steps/patroni_api.py:98 1155s Nov 14 04:14:53 And I receive a response role replica # features/steps/patroni_api.py:98 1155s Nov 14 04:14:53 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1159s Nov 14 04:14:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1159s Nov 14 04:14:57 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1159s Nov 14 04:14:57 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1160s Nov 14 04:14:58 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1160s Nov 14 04:14:58 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1163s Nov 14 04:15:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1163s Nov 14 04:15:01 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1163s Nov 14 04:15:01 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1164s Nov 14 04:15:02 1164s Nov 14 04:15:02 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1164s Nov 14 04:15:02 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 1166s Nov 14 04:15:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 1166s Nov 14 04:15:04 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1166s Nov 14 04:15:04 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1167s Nov 14 04:15:05 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1171s Nov 14 04:15:09 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1171s Nov 14 04:15:09 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1172s Nov 14 04:15:10 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1172s Nov 14 04:15:10 Then I receive a response code 503 # features/steps/patroni_api.py:98 1172s Nov 14 04:15:10 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1172s Nov 14 04:15:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 1172s Nov 14 04:15:10 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1172s Nov 14 04:15:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 1172s Nov 14 04:15:10 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1172s Nov 14 04:15:10 Then I receive a response code 503 # features/steps/patroni_api.py:98 1172s Nov 14 04:15:10 1172s Nov 14 04:15:10 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1172s Nov 14 04:15:10 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1174s Nov 14 04:15:12 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1174s Nov 14 04:15:12 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1174s Nov 14 04:15:12 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1176s Nov 14 04:15:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1176s Nov 14 04:15:14 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1178s Nov 14 04:15:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1178s Nov 14 04:15:16 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1188s Nov 14 04:15:26 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1189s Nov 14 04:15:27 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1191s Nov 14 04:15:29 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1191s Nov 14 04:15:29 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1191s Nov 14 04:15:29 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1191s Nov 14 04:15:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1191s Nov 14 04:15:29 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1191s Nov 14 04:15:29 Then I receive a response code 503 # features/steps/patroni_api.py:98 1191s Nov 14 04:15:29 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1191s Nov 14 04:15:29 Then I receive a response code 503 # features/steps/patroni_api.py:98 1191s Nov 14 04:15:29 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1191s Nov 14 04:15:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1195s Nov 14 04:15:33 1195s Nov 14 04:15:33 Feature: permanent slots # features/permanent_slots.feature:1 1195s Nov 14 04:15:33 1195s Nov 14 04:15:33 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1195s Nov 14 04:15:33 Given I start postgres0 # features/steps/basic_replication.py:8 1199s Nov 14 04:15:36 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1199s Nov 14 04:15:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1199s Nov 14 04:15:36 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 1199s Nov 14 04:15:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1199s Nov 14 04:15:37 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1199s Nov 14 04:15:37 When I start postgres1 # features/steps/basic_replication.py:8 1202s Nov 14 04:15:40 And I start postgres2 # features/steps/basic_replication.py:8 1205s Nov 14 04:15:43 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1208s Nov 14 04:15:46 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1208s Nov 14 04:15:46 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1208s Nov 14 04:15:46 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1208s Nov 14 04:15:46 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1208s Nov 14 04:15:46 1208s Nov 14 04:15:46 @slot-advance 1208s Nov 14 04:15:46 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1208s Nov 14 04:15:46 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1211s Nov 14 04:15:49 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 1211s Nov 14 04:15:49 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1212s Nov 14 04:15:50 1212s Nov 14 04:15:50 @slot-advance 1212s Nov 14 04:15:50 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1212s Nov 14 04:15:50 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1217s Nov 14 04:15:55 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1217s Nov 14 04:15:55 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1218s Nov 14 04:15:56 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1219s Nov 14 04:15:57 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1219s Nov 14 04:15:57 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1219s Nov 14 04:15:57 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1219s Nov 14 04:15:57 1219s Nov 14 04:15:57 @slot-advance 1219s Nov 14 04:15:57 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1219s Nov 14 04:15:57 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1219s Nov 14 04:15:57 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1219s Nov 14 04:15:57 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1219s Nov 14 04:15:57 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1219s Nov 14 04:15:57 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1219s Nov 14 04:15:57 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1219s Nov 14 04:15:57 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1219s Nov 14 04:15:57 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1219s Nov 14 04:15:57 1219s Nov 14 04:15:57 @slot-advance 1219s Nov 14 04:15:57 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1219s Nov 14 04:15:57 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1219s Nov 14 04:15:57 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1219s Nov 14 04:15:57 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1219s Nov 14 04:15:57 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1221s Nov 14 04:15:59 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1221s Nov 14 04:15:59 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1221s Nov 14 04:15:59 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1221s Nov 14 04:15:59 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1221s Nov 14 04:15:59 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1221s Nov 14 04:15:59 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1221s Nov 14 04:15:59 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1223s Nov 14 04:16:01 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1223s Nov 14 04:16:01 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1223s Nov 14 04:16:01 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1223s Nov 14 04:16:01 1223s Nov 14 04:16:01 @slot-advance 1223s Nov 14 04:16:01 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1223s Nov 14 04:16:01 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1223s Nov 14 04:16:01 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1223s Nov 14 04:16:01 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1223s Nov 14 04:16:01 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1223s Nov 14 04:16:01 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1223s Nov 14 04:16:01 1223s Nov 14 04:16:01 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1223s Nov 14 04:16:01 Given I shut down postgres3 # features/steps/basic_replication.py:29 1224s Nov 14 04:16:02 And I shut down postgres2 # features/steps/basic_replication.py:29 1225s Nov 14 04:16:03 And I shut down postgres0 # features/steps/basic_replication.py:29 1227s Nov 14 04:16:05 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1227s Nov 14 04:16:05 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1227s Nov 14 04:16:05 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1229s Nov 14 04:16:07 1229s Nov 14 04:16:07 Feature: priority replication # features/priority_failover.feature:1 1229s Nov 14 04:16:07 We should check that we can give nodes priority during failover 1229s Nov 14 04:16:07 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1229s Nov 14 04:16:07 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1232s Nov 14 04:16:10 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1235s Nov 14 04:16:13 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1236s Nov 14 04:16:14 When I shut down postgres0 # features/steps/basic_replication.py:29 1238s Nov 14 04:16:16 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:121 1240s Nov 14 04:16:18 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1240s Nov 14 04:16:18 When I start postgres0 # features/steps/basic_replication.py:8 1243s Nov 14 04:16:21 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1244s Nov 14 04:16:22 1244s Nov 14 04:16:22 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1244s Nov 14 04:16:22 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1247s Nov 14 04:16:25 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1250s Nov 14 04:16:28 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1251s Nov 14 04:16:29 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1252s Nov 14 04:16:30 When I shut down postgres0 # features/steps/basic_replication.py:29 1254s Nov 14 04:16:32 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1254s Nov 14 04:16:32 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:121 1254s Nov 14 04:16:32 1254s Nov 14 04:16:32 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1254s Nov 14 04:16:32 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1254s Nov 14 04:16:32 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1254s Nov 14 04:16:32 Then I receive a response code 202 # features/steps/patroni_api.py:98 1254s Nov 14 04:16:32 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:121 1256s Nov 14 04:16:34 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1257s Nov 14 04:16:35 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1257s Nov 14 04:16:35 Then I receive a response code 412 # features/steps/patroni_api.py:98 1257s Nov 14 04:16:35 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1257s Nov 14 04:16:35 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1257s Nov 14 04:16:35 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1258s Nov 14 04:16:36 Then I receive a response code 202 # features/steps/patroni_api.py:98 1258s Nov 14 04:16:36 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:121 1260s Nov 14 04:16:38 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1261s Nov 14 04:16:39 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1265s Nov 14 04:16:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 1265s Nov 14 04:16:43 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1269s Nov 14 04:16:47 1269s Nov 14 04:16:47 Feature: recovery # features/recovery.feature:1 1269s Nov 14 04:16:47 We want to check that crashed postgres is started back 1269s Nov 14 04:16:47 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1269s Nov 14 04:16:47 Given I start postgres0 # features/steps/basic_replication.py:8 1272s Nov 14 04:16:50 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1273s Nov 14 04:16:51 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1273s Nov 14 04:16:51 When I start postgres1 # features/steps/basic_replication.py:8 1276s Nov 14 04:16:54 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1276s Nov 14 04:16:54 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1277s Nov 14 04:16:55 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1277s Nov 14 04:16:55 waiting for server to shut down.... done 1277s Nov 14 04:16:55 server stopped 1277s Nov 14 04:16:55 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1279s Nov 14 04:16:57 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1279s Nov 14 04:16:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1279s Nov 14 04:16:57 And I receive a response role master # features/steps/patroni_api.py:98 1279s Nov 14 04:16:57 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1279s Nov 14 04:16:57 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1280s Nov 14 04:16:58 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1282s Nov 14 04:17:00 1282s Nov 14 04:17:00 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1282s Nov 14 04:17:00 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 1282s Nov 14 04:17:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1282s Nov 14 04:17:00 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1282s Nov 14 04:17:00 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1282s Nov 14 04:17:00 waiting for server to shut down.... done 1282s Nov 14 04:17:00 server stopped 1282s Nov 14 04:17:00 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1284s Nov 14 04:17:02 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1289s Nov 14 04:17:06 1289s Nov 14 04:17:06 Feature: standby cluster # features/standby_cluster.feature:1 1289s Nov 14 04:17:06 1289s Nov 14 04:17:06 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1289s Nov 14 04:17:06 Given I start postgres1 # features/steps/basic_replication.py:8 1292s Nov 14 04:17:10 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1292s Nov 14 04:17:10 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1292s Nov 14 04:17:10 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 1292s Nov 14 04:17:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 1292s Nov 14 04:17:10 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1292s Nov 14 04:17:10 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1295s Nov 14 04:17:13 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 1295s Nov 14 04:17:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1295s Nov 14 04:17:13 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1295s Nov 14 04:17:13 When I start postgres0 # features/steps/basic_replication.py:8 1298s Nov 14 04:17:16 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1299s Nov 14 04:17:17 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1300s Nov 14 04:17:18 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1300s Nov 14 04:17:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 1300s Nov 14 04:17:18 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1300s Nov 14 04:17:18 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1301s Nov 14 04:17:19 1301s Nov 14 04:17:19 @slot-advance 1301s Nov 14 04:17:19 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1301s Nov 14 04:17:19 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1304s Nov 14 04:17:22 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1309s Nov 14 04:17:27 1309s Nov 14 04:17:27 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1309s Nov 14 04:17:27 When I shut down postgres1 # features/steps/basic_replication.py:29 1311s Nov 14 04:17:29 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1311s Nov 14 04:17:29 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1312s Nov 14 04:17:30 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1312s Nov 14 04:17:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1312s Nov 14 04:17:30 1312s Nov 14 04:17:30 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1312s Nov 14 04:17:30 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1315s Nov 14 04:17:33 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1316s Nov 14 04:17:34 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1316s Nov 14 04:17:34 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1316s Nov 14 04:17:34 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1316s Nov 14 04:17:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 1316s Nov 14 04:17:34 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1316s Nov 14 04:17:34 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1319s Nov 14 04:17:37 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1319s Nov 14 04:17:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 1319s Nov 14 04:17:37 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1319s Nov 14 04:17:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1319s Nov 14 04:17:37 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1319s Nov 14 04:17:37 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1319s Nov 14 04:17:37 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1322s Nov 14 04:17:40 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1322s Nov 14 04:17:40 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1323s Nov 14 04:17:41 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1323s Nov 14 04:17:41 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1323s Nov 14 04:17:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1323s Nov 14 04:17:41 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1323s Nov 14 04:17:41 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1323s Nov 14 04:17:41 1323s Nov 14 04:17:41 Scenario: check switchover # features/standby_cluster.feature:57 1323s Nov 14 04:17:41 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1327s Nov 14 04:17:45 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1327s Nov 14 04:17:45 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1329s Nov 14 04:17:47 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 1329s Nov 14 04:17:47 1329s Nov 14 04:17:47 Scenario: check failover # features/standby_cluster.feature:63 1329s Nov 14 04:17:47 When I kill postgres2 # features/steps/basic_replication.py:34 1330s Nov 14 04:17:48 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1330s Nov 14 04:17:48 waiting for server to shut down.... done 1330s Nov 14 04:17:48 server stopped 1330s Nov 14 04:17:48 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1349s Nov 14 04:18:07 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1349s Nov 14 04:18:07 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1350s Nov 14 04:18:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 1350s Nov 14 04:18:07 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1350s Nov 14 04:18:07 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1351s Nov 14 04:18:09 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 1355s Nov 14 04:18:13 1355s Nov 14 04:18:13 Feature: watchdog # features/watchdog.feature:1 1355s Nov 14 04:18:13 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1355s Nov 14 04:18:13 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1355s Nov 14 04:18:13 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1358s Nov 14 04:18:16 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1358s Nov 14 04:18:16 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1358s Nov 14 04:18:16 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1359s Nov 14 04:18:17 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1359s Nov 14 04:18:17 1359s Nov 14 04:18:17 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1359s Nov 14 04:18:17 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1361s Nov 14 04:18:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1361s Nov 14 04:18:19 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1361s Nov 14 04:18:19 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1365s Nov 14 04:18:23 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1365s Nov 14 04:18:23 1365s Nov 14 04:18:23 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1365s Nov 14 04:18:23 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1367s Nov 14 04:18:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1367s Nov 14 04:18:24 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1369s Nov 14 04:18:26 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1369s Nov 14 04:18:26 1369s Nov 14 04:18:26 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1369s Nov 14 04:18:26 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1369s Nov 14 04:18:26 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1370s Nov 14 04:18:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1370s Nov 14 04:18:28 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1371s Nov 14 04:18:29 1371s Nov 14 04:18:29 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1371s Nov 14 04:18:29 Given I shut down postgres0 # features/steps/basic_replication.py:29 1373s Nov 14 04:18:31 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1373s Nov 14 04:18:31 1373s Nov 14 04:18:31 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1373s Nov 14 04:18:31 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1373s Nov 14 04:18:31 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1376s Nov 14 04:18:34 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1377s Nov 14 04:18:35 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1377s Nov 14 04:18:35 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1401s Nov 14 04:18:58 1401s 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'))") 1402s 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'))") 1402s 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'))") 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.10014.XbCCRDTx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.10016.XJnWuMfx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.10019.XndNqwYx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.10030.XgkosEsx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.5686.XkqMDnBx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.5730.XexroBCx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.5769.XBzZTwIx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.5827.XyzFcJVx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.5872.XaAjCQix 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.5943.XFpSUfGx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.5990.XvHjTTjx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.5993.XmpLDBvx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6084.XhIUGjsx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6184.XmnpCYdx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6193.XbCsfdsx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6235.XWhhpnAx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6281.XcTfAvkx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6430.XfTuiShx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6474.XtjFGyix 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6528.XYAcWlWx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6611.XRNGnzEx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6923.XKhnYkhx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.6996.Xelxsrsx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7039.XRodLhNx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7248.XzGMuzsx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7299.XeRVXZqx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7360.XxhgmCIx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7448.XpnDWaxx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7544.XqKGGGTx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7586.XMKQPDwx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7649.XPYIjSwx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7682.XDyQrhKx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7850.XrObSMPx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7898.XgMzFpSx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7913.XcyRXkmx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7950.XyHLxqcx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.7996.XsyCbMex 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8001.XipdENhx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8037.XBVyYMux 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8079.XRAJtIsx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8243.XpJdCawx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8245.XEWfoIAx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8250.XpiOEykx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8381.XBWuzwIx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8426.XMSNZHMx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8466.XNmfYgfx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8509.XiOqXpWx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8550.XpCXkARx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8737.XXPwmsXx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8774.XKixNjQx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8848.XYoPGDDx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8921.XmKkQkqx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.8969.XYIuWqxx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.9321.XXuwTWgx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.9363.XtTawEOx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.9507.XdbzjaPx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.9569.XkkdbeWx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.9633.XtadXNix 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.9731.XMCiLHQx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.9843.XGirFmCx 1402s Nov 14 04:19:00 Combined data file .coverage.autopkgtest.9972.XRhHgdYx 1405s Nov 14 04:19:02 Name Stmts Miss Cover 1405s Nov 14 04:19:02 ------------------------------------------------------------------------------------------------------------- 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/api.py 770 279 64% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/ha.py 1244 320 74% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 34 67% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 214 74% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/utils.py 350 120 66% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psutil/__init__.py 951 615 35% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 34 65% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/six.py 504 250 50% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1405s Nov 14 04:19:02 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1405s Nov 14 04:19:02 patroni/__init__.py 13 2 85% 1405s Nov 14 04:19:02 patroni/__main__.py 199 199 0% 1405s Nov 14 04:19:02 patroni/api.py 770 770 0% 1405s Nov 14 04:19:02 patroni/async_executor.py 96 69 28% 1405s Nov 14 04:19:02 patroni/collections.py 56 15 73% 1405s Nov 14 04:19:02 patroni/config.py 371 196 47% 1405s Nov 14 04:19:02 patroni/config_generator.py 212 212 0% 1405s Nov 14 04:19:02 patroni/ctl.py 936 411 56% 1405s Nov 14 04:19:02 patroni/daemon.py 76 76 0% 1405s Nov 14 04:19:02 patroni/dcs/__init__.py 646 270 58% 1405s Nov 14 04:19:02 patroni/dcs/consul.py 485 485 0% 1405s Nov 14 04:19:02 patroni/dcs/etcd3.py 679 679 0% 1405s Nov 14 04:19:02 patroni/dcs/etcd.py 603 224 63% 1405s Nov 14 04:19:02 patroni/dcs/exhibitor.py 61 61 0% 1405s Nov 14 04:19:02 patroni/dcs/kubernetes.py 938 938 0% 1405s Nov 14 04:19:02 patroni/dcs/raft.py 319 319 0% 1405s Nov 14 04:19:02 patroni/dcs/zookeeper.py 288 288 0% 1405s Nov 14 04:19:02 patroni/dynamic_loader.py 35 7 80% 1405s Nov 14 04:19:02 patroni/exceptions.py 16 1 94% 1405s Nov 14 04:19:02 patroni/file_perm.py 43 15 65% 1405s Nov 14 04:19:02 patroni/global_config.py 81 18 78% 1405s Nov 14 04:19:02 patroni/ha.py 1244 1244 0% 1405s Nov 14 04:19:02 patroni/log.py 219 173 21% 1405s Nov 14 04:19:02 patroni/postgresql/__init__.py 821 651 21% 1405s Nov 14 04:19:02 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1405s Nov 14 04:19:02 patroni/postgresql/bootstrap.py 252 222 12% 1405s Nov 14 04:19:02 patroni/postgresql/callback_executor.py 55 34 38% 1405s Nov 14 04:19:02 patroni/postgresql/cancellable.py 104 84 19% 1405s Nov 14 04:19:02 patroni/postgresql/config.py 813 698 14% 1405s Nov 14 04:19:02 patroni/postgresql/connection.py 75 50 33% 1405s Nov 14 04:19:02 patroni/postgresql/misc.py 41 29 29% 1405s Nov 14 04:19:02 patroni/postgresql/mpp/__init__.py 89 21 76% 1405s Nov 14 04:19:02 patroni/postgresql/mpp/citus.py 259 259 0% 1405s Nov 14 04:19:02 patroni/postgresql/postmaster.py 170 139 18% 1405s Nov 14 04:19:02 patroni/postgresql/rewind.py 416 416 0% 1405s Nov 14 04:19:02 patroni/postgresql/slots.py 334 285 15% 1405s Nov 14 04:19:02 patroni/postgresql/sync.py 130 96 26% 1405s Nov 14 04:19:02 patroni/postgresql/validator.py 157 52 67% 1405s Nov 14 04:19:02 patroni/psycopg.py 42 28 33% 1405s Nov 14 04:19:02 patroni/raft_controller.py 22 22 0% 1405s Nov 14 04:19:02 patroni/request.py 62 6 90% 1405s Nov 14 04:19:02 patroni/scripts/__init__.py 0 0 100% 1405s Nov 14 04:19:02 patroni/scripts/aws.py 59 59 0% 1405s Nov 14 04:19:02 patroni/scripts/barman/__init__.py 0 0 100% 1405s Nov 14 04:19:02 patroni/scripts/barman/cli.py 51 51 0% 1405s Nov 14 04:19:02 patroni/scripts/barman/config_switch.py 51 51 0% 1405s Nov 14 04:19:02 patroni/scripts/barman/recover.py 37 37 0% 1405s Nov 14 04:19:02 patroni/scripts/barman/utils.py 94 94 0% 1405s Nov 14 04:19:02 patroni/scripts/wale_restore.py 207 207 0% 1405s Nov 14 04:19:02 patroni/tags.py 38 11 71% 1405s Nov 14 04:19:02 patroni/utils.py 350 196 44% 1405s Nov 14 04:19:02 patroni/validator.py 301 215 29% 1405s Nov 14 04:19:02 patroni/version.py 1 0 100% 1405s Nov 14 04:19:02 patroni/watchdog/__init__.py 2 2 0% 1405s Nov 14 04:19:02 patroni/watchdog/base.py 203 203 0% 1405s Nov 14 04:19:02 patroni/watchdog/linux.py 135 135 0% 1405s Nov 14 04:19:02 ------------------------------------------------------------------------------------------------------------- 1405s Nov 14 04:19:02 TOTAL 53060 32111 39% 1405s Nov 14 04:19:02 12 features passed, 0 failed, 1 skipped 1405s Nov 14 04:19:02 55 scenarios passed, 0 failed, 5 skipped 1405s Nov 14 04:19:02 524 steps passed, 0 failed, 61 skipped, 0 undefined 1405s Nov 14 04:19:02 Took 8m18.988s 1405s ### End 16 acceptance-etcd ### 1405s + echo '### End 16 acceptance-etcd ###' 1405s + rm -f '/tmp/pgpass?' 1405s ++ id -u 1405s + '[' 0 -eq 0 ']' 1405s + '[' -x /etc/init.d/zookeeper ']' 1405s autopkgtest [04:19:03]: test acceptance-etcd: -----------------------] 1406s acceptance-etcd PASS 1406s autopkgtest [04:19:04]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1406s autopkgtest [04:19:04]: test acceptance-zookeeper: preparing testbed 1474s autopkgtest [04:20:12]: testbed dpkg architecture: arm64 1475s autopkgtest [04:20:13]: testbed apt version: 2.9.8 1475s autopkgtest [04:20:13]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1475s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1476s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [991 kB] 1476s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 1476s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 1476s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 1476s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [130 kB] 1476s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 1476s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [726 kB] 1476s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [6012 B] 1476s Fetched 2101 kB in 1s (2600 kB/s) 1476s Reading package lists... 1478s Reading package lists... 1478s Building dependency tree... 1478s Reading state information... 1479s Calculating upgrade... 1479s The following packages will be upgraded: 1479s bpfcc-tools bpftrace libbpfcc libgnutls30t64 libjson-glib-1.0-0 1479s libjson-glib-1.0-common libnewt0.52 libutempter0 python3-bpfcc python3-newt 1479s whiptail 1479s 11 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1479s Need to get 4324 kB of archives. 1479s After this operation, 9216 B of additional disk space will be used. 1479s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgnutls30t64 arm64 3.8.8-2ubuntu1 [956 kB] 1480s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-newt arm64 0.52.24-2ubuntu4 [21.2 kB] 1480s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libnewt0.52 arm64 0.52.24-2ubuntu4 [47.2 kB] 1480s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 whiptail arm64 0.52.24-2ubuntu4 [17.6 kB] 1480s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libbpfcc arm64 0.30.0+ds-1ubuntu5 [610 kB] 1480s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bpfcc all 0.30.0+ds-1ubuntu5 [40.4 kB] 1480s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 bpfcc-tools all 0.30.0+ds-1ubuntu5 [697 kB] 1480s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 bpftrace arm64 0.21.2-2ubuntu2 [1854 kB] 1480s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 1480s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-0 arm64 1.10.0+ds-3 [66.5 kB] 1480s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libutempter0 arm64 1.2.1-4 [9646 B] 1480s Fetched 4324 kB in 1s (5818 kB/s) 1481s (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 ... 79924 files and directories currently installed.) 1481s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_arm64.deb ... 1481s Unpacking libgnutls30t64:arm64 (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 1481s Setting up libgnutls30t64:arm64 (3.8.8-2ubuntu1) ... 1481s (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 ... 79924 files and directories currently installed.) 1481s Preparing to unpack .../0-python3-newt_0.52.24-2ubuntu4_arm64.deb ... 1481s Unpacking python3-newt:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 1481s Preparing to unpack .../1-libnewt0.52_0.52.24-2ubuntu4_arm64.deb ... 1481s Unpacking libnewt0.52:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 1481s Preparing to unpack .../2-whiptail_0.52.24-2ubuntu4_arm64.deb ... 1481s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 1481s Preparing to unpack .../3-libbpfcc_0.30.0+ds-1ubuntu5_arm64.deb ... 1481s Unpacking libbpfcc:arm64 (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 1481s Preparing to unpack .../4-python3-bpfcc_0.30.0+ds-1ubuntu5_all.deb ... 1481s Unpacking python3-bpfcc (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 1481s Preparing to unpack .../5-bpfcc-tools_0.30.0+ds-1ubuntu5_all.deb ... 1481s Unpacking bpfcc-tools (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 1481s Preparing to unpack .../6-bpftrace_0.21.2-2ubuntu2_arm64.deb ... 1481s Unpacking bpftrace (0.21.2-2ubuntu2) over (0.21.2-2) ... 1481s Preparing to unpack .../7-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 1481s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 1481s Preparing to unpack .../8-libjson-glib-1.0-0_1.10.0+ds-3_arm64.deb ... 1481s Unpacking libjson-glib-1.0-0:arm64 (1.10.0+ds-3) over (1.10.0+ds-2) ... 1481s Preparing to unpack .../9-libutempter0_1.2.1-4_arm64.deb ... 1481s Unpacking libutempter0:arm64 (1.2.1-4) over (1.2.1-3build1) ... 1481s Setting up libnewt0.52:arm64 (0.52.24-2ubuntu4) ... 1481s Setting up python3-newt:arm64 (0.52.24-2ubuntu4) ... 1481s Setting up libutempter0:arm64 (1.2.1-4) ... 1481s Setting up whiptail (0.52.24-2ubuntu4) ... 1481s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 1481s Setting up libbpfcc:arm64 (0.30.0+ds-1ubuntu5) ... 1481s Setting up python3-bpfcc (0.30.0+ds-1ubuntu5) ... 1482s Setting up bpftrace (0.21.2-2ubuntu2) ... 1482s Setting up libjson-glib-1.0-0:arm64 (1.10.0+ds-3) ... 1482s Setting up bpfcc-tools (0.30.0+ds-1ubuntu5) ... 1482s Processing triggers for man-db (2.12.1-3) ... 1483s Processing triggers for libc-bin (2.40-1ubuntu3) ... 1483s Reading package lists... 1483s Building dependency tree... 1483s Reading state information... 1484s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1484s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 1484s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1484s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1484s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1485s Reading package lists... 1485s Reading package lists... 1485s Building dependency tree... 1485s Reading state information... 1486s Calculating upgrade... 1486s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1486s Reading package lists... 1486s Building dependency tree... 1486s Reading state information... 1487s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1491s Reading package lists... 1491s Building dependency tree... 1491s Reading state information... 1491s Starting pkgProblemResolver with broken count: 0 1491s Starting 2 pkgProblemResolver with broken count: 0 1491s Done 1492s The following additional packages will be installed: 1492s adwaita-icon-theme at-spi2-common ca-certificates-java 1492s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1492s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1492s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1492s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1492s libapr1t64 libasm-java libasound2-data libasound2t64 1492s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1492s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1492s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1492s libcommons-io-java libcommons-logging-java libcommons-parent-java 1492s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 1492s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1492s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1492s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1492s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1492s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1492s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1492s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1492s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1492s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1492s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1492s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1492s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1492s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 1492s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1492s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1492s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 1492s libsnappy1v5 libspring-beans-java libspring-core-java 1492s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 1492s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 1492s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 1492s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 1492s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 1492s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 1492s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 1492s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 1492s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 1492s patroni-doc postgresql postgresql-16 postgresql-client-16 1492s postgresql-client-common postgresql-common python3-behave python3-cdiff 1492s python3-click python3-colorama python3-coverage python3-dateutil 1492s python3-dnspython python3-eventlet python3-gevent python3-greenlet 1492s python3-kazoo python3-kerberos python3-parse python3-parse-type 1492s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 1492s python3-six python3-wcwidth python3-ydiff python3-zope.event 1492s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 1492s x11-common zookeeper zookeeperd 1492s Suggested packages: 1492s adwaita-icon-theme-legacy alsa-utils libasound2-plugins 1492s libatinject-jsr330-api-java-doc colord libavalon-framework-java 1492s libexcalibur-logkit-java cups-common gvfs libjackson2-annotations-java-doc 1492s jetty9 libjnr-ffi-java-doc libjnr-posix-java-doc libjsr305-java-doc 1492s liblcms2-utils liblog4j1.2-java-doc libbcpkix-java libcompress-lzf-java 1492s libjzlib-java liblog4j2-java libprotobuf-java pcscd libcglib-java 1492s libyaml-snake-java libaspectj-java libcommons-collections3-java tomcat9 1492s libzookeeper-java-doc libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic 1492s fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic 1492s vip-manager haproxy postgresql-doc postgresql-doc-16 python-coverage-doc 1492s python3-trio python3-aioquic python3-h2 python3-httpx python3-httpcore 1492s python-eventlet-doc python-gevent-doc python-greenlet-dev 1492s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 1492s Recommended packages: 1492s librsvg2-common alsa-ucm-conf alsa-topology-conf at-spi2-core 1492s libgdk-pixbuf2.0-bin libgl1-amber-dri libgtk-3-bin javascript-common 1492s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 1492s fonts-dejavu-extra 1492s The following NEW packages will be installed: 1492s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 1492s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1492s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1492s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1492s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1492s libapr1t64 libasm-java libasound2-data libasound2t64 1492s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1492s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1492s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1492s libcommons-io-java libcommons-logging-java libcommons-parent-java 1492s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 1492s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1492s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1492s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1492s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1492s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1492s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1492s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1492s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1492s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1492s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1492s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1492s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1492s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 1492s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1492s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1492s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 1492s libsnappy1v5 libspring-beans-java libspring-core-java 1492s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 1492s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 1492s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 1492s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 1492s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 1492s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 1492s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 1492s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 1492s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 1492s patroni-doc postgresql postgresql-16 postgresql-client-16 1492s postgresql-client-common postgresql-common python3-behave python3-cdiff 1492s python3-click python3-colorama python3-coverage python3-dateutil 1492s python3-dnspython python3-eventlet python3-gevent python3-greenlet 1492s python3-kazoo python3-kerberos python3-parse python3-parse-type 1492s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 1492s python3-six python3-wcwidth python3-ydiff python3-zope.event 1492s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 1492s x11-common zookeeper zookeeperd 1492s 0 upgraded, 196 newly installed, 0 to remove and 0 not upgraded. 1492s Need to get 130 MB/130 MB of archives. 1492s After this operation, 466 MB of additional disk space will be used. 1492s Get:1 /tmp/autopkgtest.dgezgb/4-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 1492s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 1493s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1493s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 1493s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 1493s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 1493s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ca-certificates-java all 20240118 [11.6 kB] 1493s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 java-common all 0.76 [6852 B] 1493s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 liblcms2-2 arm64 2.16-2 [170 kB] 1493s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-2ubuntu2 [163 kB] 1493s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 1493s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcsclite1 arm64 2.3.0-1 [24.4 kB] 1493s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre-headless arm64 21.0.5+11-1 [45.7 MB] 1495s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre-headless arm64 2:1.21-76 [3176 B] 1495s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 1495s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.22-1 [46.2 kB] 1495s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 1495s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-4ubuntu2 [154 kB] 1495s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.4.0-0.1 [16.3 kB] 1495s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.4.0-0.1 [192 kB] 1495s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 1495s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.12+dfsg-1 [145 kB] 1495s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 gtk-update-icon-cache arm64 4.16.5+ds-1 [51.7 kB] 1495s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 hicolor-icon-theme all 0.18-1 [13.5 kB] 1495s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 humanity-icon-theme all 0.6.16 [1282 kB] 1495s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 1495s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 adwaita-icon-theme all 47.0-2 [525 kB] 1495s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 at-spi2-common all 2.54.0-1 [8774 B] 1495s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk1.0-0t64 arm64 2.54.0-1 [55.0 kB] 1495s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 libxi6 arm64 2:1.8.2-1 [32.4 kB] 1495s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 libatspi2.0-0t64 arm64 2.54.0-1 [80.2 kB] 1495s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk-bridge2.0-0t64 arm64 2.54.0-1 [66.6 kB] 1495s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 1496s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 1496s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-1.1ubuntu2 [37.4 kB] 1496s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-1.1ubuntu2 [142 kB] 1496s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 1496s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 1496s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 1496s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 1496s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.2-2 [560 kB] 1496s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo-gobject2 arm64 1.18.2-2 [127 kB] 1496s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libcolord2 arm64 1.4.7-1build2 [149 kB] 1496s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common-data arm64 0.8-13ubuntu6 [29.6 kB] 1496s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common3 arm64 0.8-13ubuntu6 [23.3 kB] 1496s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-client3 arm64 0.8-13ubuntu6 [27.2 kB] 1496s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libcups2t64 arm64 2.4.10-1ubuntu2 [271 kB] 1496s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libepoxy0 arm64 1.5.10-2 [236 kB] 1496s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 1496s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 10.0.1-1 [487 kB] 1496s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-1.1ubuntu2 [190 kB] 1496s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 1496s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 1496s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 1496s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.54.0+ds-3 [234 kB] 1496s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.54.0+ds-3 [48.9 kB] 1496s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.54.0+ds-3 [27.5 kB] 1496s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-client0 arm64 1.23.0-1 [26.7 kB] 1496s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-cursor0 arm64 1.23.0-1 [10.6 kB] 1496s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-egl1 arm64 1.23.0-1 [5636 B] 1496s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcomposite1 arm64 1:0.4.6-1 [6626 B] 1496s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 1496s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcursor1 arm64 1:1.2.2-1 [21.2 kB] 1496s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 libxdamage1 arm64 1:1.1.6-1build1 [6236 B] 1496s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 libxinerama1 arm64 2:1.1.4-3build1 [6394 B] 1496s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 1496s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 libdconf1 arm64 0.40.0-4build2 [39.8 kB] 1496s Get:68 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-service arm64 0.40.0-4build2 [26.9 kB] 1496s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-gsettings-backend arm64 0.40.0-4build2 [22.0 kB] 1496s Get:70 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-common all 3.24.43-3ubuntu2 [1202 kB] 1496s Get:71 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-0t64 arm64 3.24.43-3ubuntu2 [2898 kB] 1496s Get:72 http://ftpmaster.internal/ubuntu plucky/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 1496s Get:73 http://ftpmaster.internal/ubuntu plucky/main arm64 libglapi-mesa arm64 24.2.3-1ubuntu1 [59.4 kB] 1496s Get:74 http://ftpmaster.internal/ubuntu plucky/main arm64 libx11-xcb1 arm64 2:1.8.10-2 [8020 B] 1496s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri2-0 arm64 1.17.0-2 [7418 B] 1496s Get:76 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 1496s Get:77 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 1496s Get:78 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 1496s Get:79 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 1496s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 1496s Get:81 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 1496s Get:82 http://ftpmaster.internal/ubuntu plucky/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 1496s Get:83 http://ftpmaster.internal/ubuntu plucky/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 1496s Get:84 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-amdgpu1 arm64 2.4.123-1 [20.9 kB] 1496s Get:85 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-radeon1 arm64 2.4.123-1 [20.8 kB] 1496s Get:86 http://ftpmaster.internal/ubuntu plucky/main arm64 mesa-libgallium arm64 24.2.3-1ubuntu1 [9030 kB] 1497s Get:87 http://ftpmaster.internal/ubuntu plucky/main arm64 libvulkan1 arm64 1.3.296.0-1 [153 kB] 1497s Get:88 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-server0 arm64 1.23.0-1 [35.7 kB] 1497s Get:89 http://ftpmaster.internal/ubuntu plucky/main arm64 libgbm1 arm64 24.2.3-1ubuntu1 [32.9 kB] 1497s Get:90 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1-mesa-dri arm64 24.2.3-1ubuntu1 [33.3 kB] 1497s Get:91 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx-mesa0 arm64 24.2.3-1ubuntu1 [164 kB] 1497s Get:92 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 1497s Get:93 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 1497s Get:94 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2-data all 1.2.12-1 [21.0 kB] 1497s Get:95 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2t64 arm64 1.2.12-1 [384 kB] 1497s Get:96 http://ftpmaster.internal/ubuntu plucky/main arm64 libgif7 arm64 5.2.2-1ubuntu1 [35.5 kB] 1497s Get:97 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1497s Get:98 http://ftpmaster.internal/ubuntu plucky/main arm64 libxtst6 arm64 2:1.2.3-1.1build1 [13.0 kB] 1497s Get:99 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre arm64 21.0.5+11-1 [221 kB] 1497s Get:100 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre arm64 2:1.21-76 [918 B] 1497s Get:101 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhamcrest-java all 2.2-2 [117 kB] 1497s Get:102 http://ftpmaster.internal/ubuntu plucky/universe arm64 junit4 all 4.13.2-5 [348 kB] 1497s Get:103 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 1497s Get:104 http://ftpmaster.internal/ubuntu plucky/universe arm64 libapache-pom-java all 33-2 [5874 B] 1497s Get:105 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-parent-java all 56-1 [10.7 kB] 1497s Get:106 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-io-java all 2.17.0-1 [457 kB] 1497s Get:107 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1497s Get:108 http://ftpmaster.internal/ubuntu plucky/universe arm64 libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1497s Get:109 http://ftpmaster.internal/ubuntu plucky/universe arm64 libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 1497s Get:110 http://ftpmaster.internal/ubuntu plucky/universe arm64 liberror-prone-java all 2.18.0-1 [22.5 kB] 1497s Get:111 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 1497s Get:112 http://ftpmaster.internal/ubuntu plucky/universe arm64 libguava-java all 32.0.1-1 [2692 kB] 1497s Get:113 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1497s Get:114 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-core-java all 2.14.1-1 [432 kB] 1497s Get:115 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 1498s Get:116 http://ftpmaster.internal/ubuntu plucky/universe arm64 libasm-java all 9.7.1-1 [388 kB] 1498s Get:117 http://ftpmaster.internal/ubuntu plucky/universe arm64 libel-api-java all 3.0.0-3 [64.9 kB] 1498s Get:118 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsp-api-java all 2.3.4-3 [53.7 kB] 1498s Get:119 http://ftpmaster.internal/ubuntu plucky/universe arm64 libservlet-api-java all 4.0.1-2 [81.0 kB] 1498s Get:120 http://ftpmaster.internal/ubuntu plucky/universe arm64 libwebsocket-api-java all 1.1-2 [40.1 kB] 1498s Get:121 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-java all 9.4.56-1 [2790 kB] 1498s Get:122 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-constants-java all 0.10.4-2 [1397 kB] 1498s Get:123 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-jni arm64 1.3.13+ds-1 [29.8 kB] 1498s Get:124 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-java all 1.3.13+ds-1 [112 kB] 1498s Get:125 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 1498s Get:126 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-ffi-java all 2.2.15-2 [627 kB] 1498s Get:127 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1498s Get:128 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-posix-java all 3.1.18-1 [267 kB] 1498s Get:129 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1498s Get:130 http://ftpmaster.internal/ubuntu plucky/universe arm64 libactivation-java all 1.2.0-2 [84.7 kB] 1498s Get:131 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmail-java all 1.6.5-3 [681 kB] 1498s Get:132 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1498s Get:133 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjaxb-api-java all 2.3.1-1 [119 kB] 1498s Get:134 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-core-java all 4.3.30-2 [1015 kB] 1498s Get:135 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-beans-java all 4.3.30-2 [675 kB] 1498s Get:136 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1498s Get:137 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1498s Get:138 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1498s Get:139 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1498s Get:140 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1498s Get:141 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-extra-java all 9.4.56-1 [1199 kB] 1498s Get:142 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjctools-java all 2.0.2-1 [188 kB] 1498s Get:143 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-java all 1:4.1.48-10 [3628 kB] 1498s Get:144 http://ftpmaster.internal/ubuntu plucky/universe arm64 libslf4j-java all 1.7.32-1 [141 kB] 1498s Get:145 http://ftpmaster.internal/ubuntu plucky/main arm64 libsnappy1v5 arm64 1.2.1-1 [30.4 kB] 1498s Get:146 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-jni arm64 1.1.10.5-2 [6618 B] 1498s Get:147 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-java all 1.1.10.5-2 [83.7 kB] 1498s Get:148 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.2-3.2ubuntu1 [106 kB] 1498s Get:149 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-jni arm64 2.0.28-1build4 [36.8 kB] 1498s Get:150 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1498s Get:151 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblog4j1.2-java all 1.2.17-11 [439 kB] 1498s Get:152 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 libzookeeper-java all 3.9.3-1 [1890 kB] 1498s Get:153 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 zookeeper all 3.9.3-1 [57.8 kB] 1498s Get:154 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 zookeeperd all 3.9.3-1 [6022 B] 1498s Get:155 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1498s Get:156 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.2-1 [95.2 kB] 1498s Get:157 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 1498s Get:158 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 1498s Get:159 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1498s Get:160 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1498s Get:161 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1498s Get:162 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 1499s Get:163 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 1499s Get:164 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1499s Get:165 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1499s Get:166 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 1499s Get:167 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1499s Get:168 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 1499s Get:169 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 1499s Get:170 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 1499s Get:171 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 1499s Get:172 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 1499s Get:173 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 1499s Get:174 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1499s Get:175 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 1499s Get:176 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 1499s Get:177 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 1499s Get:178 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.0.3-0ubuntu6 [153 kB] 1499s Get:179 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1499s Get:180 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 1499s Get:181 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 1499s Get:182 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.1.1-1 [140 kB] 1499s Get:183 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.2.1-1 [791 kB] 1499s Get:184 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 1499s Get:185 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 1499s Get:186 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 1499s Get:187 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 1499s Get:188 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 1499s Get:189 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 1499s Get:190 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 1499s Get:191 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 1500s Get:192 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 1500s Get:193 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 1500s Get:194 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 1500s Get:195 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 1500s Get:196 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 1500s Preconfiguring packages ... 1500s Fetched 130 MB in 8s (17.2 MB/s) 1500s Selecting previously unselected package fonts-lato. 1500s (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 ... 79925 files and directories currently installed.) 1500s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1500s Unpacking fonts-lato (2.015-1) ... 1501s Selecting previously unselected package libjson-perl. 1501s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1501s Unpacking libjson-perl (4.10000-1) ... 1501s Selecting previously unselected package postgresql-client-common. 1501s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 1501s Unpacking postgresql-client-common (262) ... 1501s Selecting previously unselected package ssl-cert. 1501s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu2_all.deb ... 1501s Unpacking ssl-cert (1.1.2ubuntu2) ... 1501s Selecting previously unselected package postgresql-common. 1501s Preparing to unpack .../004-postgresql-common_262_all.deb ... 1501s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1501s Unpacking postgresql-common (262) ... 1501s Selecting previously unselected package ca-certificates-java. 1501s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 1501s Unpacking ca-certificates-java (20240118) ... 1501s Selecting previously unselected package java-common. 1501s Preparing to unpack .../006-java-common_0.76_all.deb ... 1501s Unpacking java-common (0.76) ... 1501s Selecting previously unselected package liblcms2-2:arm64. 1501s Preparing to unpack .../007-liblcms2-2_2.16-2_arm64.deb ... 1501s Unpacking liblcms2-2:arm64 (2.16-2) ... 1501s Selecting previously unselected package libjpeg-turbo8:arm64. 1501s Preparing to unpack .../008-libjpeg-turbo8_2.1.5-2ubuntu2_arm64.deb ... 1501s Unpacking libjpeg-turbo8:arm64 (2.1.5-2ubuntu2) ... 1501s Selecting previously unselected package libjpeg8:arm64. 1501s Preparing to unpack .../009-libjpeg8_8c-2ubuntu11_arm64.deb ... 1501s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 1501s Selecting previously unselected package libpcsclite1:arm64. 1501s Preparing to unpack .../010-libpcsclite1_2.3.0-1_arm64.deb ... 1501s Unpacking libpcsclite1:arm64 (2.3.0-1) ... 1501s Selecting previously unselected package openjdk-21-jre-headless:arm64. 1501s Preparing to unpack .../011-openjdk-21-jre-headless_21.0.5+11-1_arm64.deb ... 1501s Unpacking openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1502s Selecting previously unselected package default-jre-headless. 1502s Preparing to unpack .../012-default-jre-headless_2%3a1.21-76_arm64.deb ... 1502s Unpacking default-jre-headless (2:1.21-76) ... 1502s Selecting previously unselected package libgdk-pixbuf2.0-common. 1502s Preparing to unpack .../013-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 1502s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1502s Selecting previously unselected package libdeflate0:arm64. 1502s Preparing to unpack .../014-libdeflate0_1.22-1_arm64.deb ... 1502s Unpacking libdeflate0:arm64 (1.22-1) ... 1502s Selecting previously unselected package libjbig0:arm64. 1502s Preparing to unpack .../015-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 1502s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 1502s Selecting previously unselected package liblerc4:arm64. 1502s Preparing to unpack .../016-liblerc4_4.0.0+ds-4ubuntu2_arm64.deb ... 1502s Unpacking liblerc4:arm64 (4.0.0+ds-4ubuntu2) ... 1502s Selecting previously unselected package libsharpyuv0:arm64. 1502s Preparing to unpack .../017-libsharpyuv0_1.4.0-0.1_arm64.deb ... 1502s Unpacking libsharpyuv0:arm64 (1.4.0-0.1) ... 1502s Selecting previously unselected package libwebp7:arm64. 1502s Preparing to unpack .../018-libwebp7_1.4.0-0.1_arm64.deb ... 1502s Unpacking libwebp7:arm64 (1.4.0-0.1) ... 1502s Selecting previously unselected package libtiff6:arm64. 1502s Preparing to unpack .../019-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 1502s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1502s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 1502s Preparing to unpack .../020-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_arm64.deb ... 1502s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1502s Selecting previously unselected package gtk-update-icon-cache. 1502s Preparing to unpack .../021-gtk-update-icon-cache_4.16.5+ds-1_arm64.deb ... 1502s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1502s No diversion 'diversion of /usr/share/man/man8/update-icon-caches.8.gz to /usr/share/man/man8/update-icon-caches.gtk2.8.gz by libgtk-3-bin', none removed. 1502s Unpacking gtk-update-icon-cache (4.16.5+ds-1) ... 1502s Selecting previously unselected package hicolor-icon-theme. 1502s Preparing to unpack .../022-hicolor-icon-theme_0.18-1_all.deb ... 1502s Unpacking hicolor-icon-theme (0.18-1) ... 1503s Selecting previously unselected package humanity-icon-theme. 1503s Preparing to unpack .../023-humanity-icon-theme_0.6.16_all.deb ... 1503s Unpacking humanity-icon-theme (0.6.16) ... 1503s Selecting previously unselected package ubuntu-mono. 1503s Preparing to unpack .../024-ubuntu-mono_24.04-0ubuntu1_all.deb ... 1503s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 1503s Selecting previously unselected package adwaita-icon-theme. 1503s Preparing to unpack .../025-adwaita-icon-theme_47.0-2_all.deb ... 1503s Unpacking adwaita-icon-theme (47.0-2) ... 1504s Selecting previously unselected package at-spi2-common. 1504s Preparing to unpack .../026-at-spi2-common_2.54.0-1_all.deb ... 1504s Unpacking at-spi2-common (2.54.0-1) ... 1504s Selecting previously unselected package libatk1.0-0t64:arm64. 1504s Preparing to unpack .../027-libatk1.0-0t64_2.54.0-1_arm64.deb ... 1504s Unpacking libatk1.0-0t64:arm64 (2.54.0-1) ... 1504s Selecting previously unselected package libxi6:arm64. 1504s Preparing to unpack .../028-libxi6_2%3a1.8.2-1_arm64.deb ... 1504s Unpacking libxi6:arm64 (2:1.8.2-1) ... 1504s Selecting previously unselected package libatspi2.0-0t64:arm64. 1504s Preparing to unpack .../029-libatspi2.0-0t64_2.54.0-1_arm64.deb ... 1504s Unpacking libatspi2.0-0t64:arm64 (2.54.0-1) ... 1504s Selecting previously unselected package libatk-bridge2.0-0t64:arm64. 1504s Preparing to unpack .../030-libatk-bridge2.0-0t64_2.54.0-1_arm64.deb ... 1504s Unpacking libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 1504s Selecting previously unselected package fonts-dejavu-mono. 1504s Preparing to unpack .../031-fonts-dejavu-mono_2.37-8_all.deb ... 1504s Unpacking fonts-dejavu-mono (2.37-8) ... 1504s Selecting previously unselected package fonts-dejavu-core. 1504s Preparing to unpack .../032-fonts-dejavu-core_2.37-8_all.deb ... 1504s Unpacking fonts-dejavu-core (2.37-8) ... 1504s Selecting previously unselected package fontconfig-config. 1504s Preparing to unpack .../033-fontconfig-config_2.15.0-1.1ubuntu2_arm64.deb ... 1504s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 1504s Selecting previously unselected package libfontconfig1:arm64. 1504s Preparing to unpack .../034-libfontconfig1_2.15.0-1.1ubuntu2_arm64.deb ... 1504s Unpacking libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1504s Selecting previously unselected package libpixman-1-0:arm64. 1504s Preparing to unpack .../035-libpixman-1-0_0.44.0-3_arm64.deb ... 1504s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 1504s Selecting previously unselected package libxcb-render0:arm64. 1504s Preparing to unpack .../036-libxcb-render0_1.17.0-2_arm64.deb ... 1504s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 1504s Selecting previously unselected package libxcb-shm0:arm64. 1504s Preparing to unpack .../037-libxcb-shm0_1.17.0-2_arm64.deb ... 1504s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 1504s Selecting previously unselected package libxrender1:arm64. 1504s Preparing to unpack .../038-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 1504s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 1504s Selecting previously unselected package libcairo2:arm64. 1504s Preparing to unpack .../039-libcairo2_1.18.2-2_arm64.deb ... 1504s Unpacking libcairo2:arm64 (1.18.2-2) ... 1504s Selecting previously unselected package libcairo-gobject2:arm64. 1504s Preparing to unpack .../040-libcairo-gobject2_1.18.2-2_arm64.deb ... 1504s Unpacking libcairo-gobject2:arm64 (1.18.2-2) ... 1504s Selecting previously unselected package libcolord2:arm64. 1504s Preparing to unpack .../041-libcolord2_1.4.7-1build2_arm64.deb ... 1504s Unpacking libcolord2:arm64 (1.4.7-1build2) ... 1504s Selecting previously unselected package libavahi-common-data:arm64. 1504s Preparing to unpack .../042-libavahi-common-data_0.8-13ubuntu6_arm64.deb ... 1504s Unpacking libavahi-common-data:arm64 (0.8-13ubuntu6) ... 1504s Selecting previously unselected package libavahi-common3:arm64. 1504s Preparing to unpack .../043-libavahi-common3_0.8-13ubuntu6_arm64.deb ... 1504s Unpacking libavahi-common3:arm64 (0.8-13ubuntu6) ... 1504s Selecting previously unselected package libavahi-client3:arm64. 1504s Preparing to unpack .../044-libavahi-client3_0.8-13ubuntu6_arm64.deb ... 1504s Unpacking libavahi-client3:arm64 (0.8-13ubuntu6) ... 1504s Selecting previously unselected package libcups2t64:arm64. 1505s Preparing to unpack .../045-libcups2t64_2.4.10-1ubuntu2_arm64.deb ... 1505s Unpacking libcups2t64:arm64 (2.4.10-1ubuntu2) ... 1505s Selecting previously unselected package libepoxy0:arm64. 1505s Preparing to unpack .../046-libepoxy0_1.5.10-2_arm64.deb ... 1505s Unpacking libepoxy0:arm64 (1.5.10-2) ... 1505s Selecting previously unselected package libgraphite2-3:arm64. 1505s Preparing to unpack .../047-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 1505s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1505s Selecting previously unselected package libharfbuzz0b:arm64. 1505s Preparing to unpack .../048-libharfbuzz0b_10.0.1-1_arm64.deb ... 1505s Unpacking libharfbuzz0b:arm64 (10.0.1-1) ... 1505s Selecting previously unselected package fontconfig. 1505s Preparing to unpack .../049-fontconfig_2.15.0-1.1ubuntu2_arm64.deb ... 1505s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 1505s Selecting previously unselected package libthai-data. 1505s Preparing to unpack .../050-libthai-data_0.1.29-2build1_all.deb ... 1505s Unpacking libthai-data (0.1.29-2build1) ... 1505s Selecting previously unselected package libdatrie1:arm64. 1505s Preparing to unpack .../051-libdatrie1_0.2.13-3build1_arm64.deb ... 1505s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 1505s Selecting previously unselected package libthai0:arm64. 1505s Preparing to unpack .../052-libthai0_0.1.29-2build1_arm64.deb ... 1505s Unpacking libthai0:arm64 (0.1.29-2build1) ... 1505s Selecting previously unselected package libpango-1.0-0:arm64. 1505s Preparing to unpack .../053-libpango-1.0-0_1.54.0+ds-3_arm64.deb ... 1505s Unpacking libpango-1.0-0:arm64 (1.54.0+ds-3) ... 1505s Selecting previously unselected package libpangoft2-1.0-0:arm64. 1505s Preparing to unpack .../054-libpangoft2-1.0-0_1.54.0+ds-3_arm64.deb ... 1505s Unpacking libpangoft2-1.0-0:arm64 (1.54.0+ds-3) ... 1505s Selecting previously unselected package libpangocairo-1.0-0:arm64. 1505s Preparing to unpack .../055-libpangocairo-1.0-0_1.54.0+ds-3_arm64.deb ... 1505s Unpacking libpangocairo-1.0-0:arm64 (1.54.0+ds-3) ... 1505s Selecting previously unselected package libwayland-client0:arm64. 1505s Preparing to unpack .../056-libwayland-client0_1.23.0-1_arm64.deb ... 1505s Unpacking libwayland-client0:arm64 (1.23.0-1) ... 1505s Selecting previously unselected package libwayland-cursor0:arm64. 1505s Preparing to unpack .../057-libwayland-cursor0_1.23.0-1_arm64.deb ... 1505s Unpacking libwayland-cursor0:arm64 (1.23.0-1) ... 1505s Selecting previously unselected package libwayland-egl1:arm64. 1505s Preparing to unpack .../058-libwayland-egl1_1.23.0-1_arm64.deb ... 1505s Unpacking libwayland-egl1:arm64 (1.23.0-1) ... 1505s Selecting previously unselected package libxcomposite1:arm64. 1505s Preparing to unpack .../059-libxcomposite1_1%3a0.4.6-1_arm64.deb ... 1505s Unpacking libxcomposite1:arm64 (1:0.4.6-1) ... 1505s Selecting previously unselected package libxfixes3:arm64. 1505s Preparing to unpack .../060-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 1505s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 1505s Selecting previously unselected package libxcursor1:arm64. 1505s Preparing to unpack .../061-libxcursor1_1%3a1.2.2-1_arm64.deb ... 1505s Unpacking libxcursor1:arm64 (1:1.2.2-1) ... 1505s Selecting previously unselected package libxdamage1:arm64. 1505s Preparing to unpack .../062-libxdamage1_1%3a1.1.6-1build1_arm64.deb ... 1505s Unpacking libxdamage1:arm64 (1:1.1.6-1build1) ... 1505s Selecting previously unselected package libxinerama1:arm64. 1505s Preparing to unpack .../063-libxinerama1_2%3a1.1.4-3build1_arm64.deb ... 1505s Unpacking libxinerama1:arm64 (2:1.1.4-3build1) ... 1505s Selecting previously unselected package libxrandr2:arm64. 1505s Preparing to unpack .../064-libxrandr2_2%3a1.5.4-1_arm64.deb ... 1505s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 1505s Selecting previously unselected package libdconf1:arm64. 1505s Preparing to unpack .../065-libdconf1_0.40.0-4build2_arm64.deb ... 1505s Unpacking libdconf1:arm64 (0.40.0-4build2) ... 1505s Selecting previously unselected package dconf-service. 1505s Preparing to unpack .../066-dconf-service_0.40.0-4build2_arm64.deb ... 1505s Unpacking dconf-service (0.40.0-4build2) ... 1505s Selecting previously unselected package dconf-gsettings-backend:arm64. 1505s Preparing to unpack .../067-dconf-gsettings-backend_0.40.0-4build2_arm64.deb ... 1505s Unpacking dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1505s Selecting previously unselected package libgtk-3-common. 1505s Preparing to unpack .../068-libgtk-3-common_3.24.43-3ubuntu2_all.deb ... 1505s Unpacking libgtk-3-common (3.24.43-3ubuntu2) ... 1505s Selecting previously unselected package libgtk-3-0t64:arm64. 1505s Preparing to unpack .../069-libgtk-3-0t64_3.24.43-3ubuntu2_arm64.deb ... 1505s Unpacking libgtk-3-0t64:arm64 (3.24.43-3ubuntu2) ... 1505s Selecting previously unselected package libglvnd0:arm64. 1506s Preparing to unpack .../070-libglvnd0_1.7.0-1build1_arm64.deb ... 1506s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 1506s Selecting previously unselected package libglapi-mesa:arm64. 1506s Preparing to unpack .../071-libglapi-mesa_24.2.3-1ubuntu1_arm64.deb ... 1506s Unpacking libglapi-mesa:arm64 (24.2.3-1ubuntu1) ... 1506s Selecting previously unselected package libx11-xcb1:arm64. 1506s Preparing to unpack .../072-libx11-xcb1_2%3a1.8.10-2_arm64.deb ... 1506s Unpacking libx11-xcb1:arm64 (2:1.8.10-2) ... 1506s Selecting previously unselected package libxcb-dri2-0:arm64. 1506s Preparing to unpack .../073-libxcb-dri2-0_1.17.0-2_arm64.deb ... 1506s Unpacking libxcb-dri2-0:arm64 (1.17.0-2) ... 1506s Selecting previously unselected package libxcb-dri3-0:arm64. 1506s Preparing to unpack .../074-libxcb-dri3-0_1.17.0-2_arm64.deb ... 1506s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 1506s Selecting previously unselected package libxcb-glx0:arm64. 1506s Preparing to unpack .../075-libxcb-glx0_1.17.0-2_arm64.deb ... 1506s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 1506s Selecting previously unselected package libxcb-present0:arm64. 1506s Preparing to unpack .../076-libxcb-present0_1.17.0-2_arm64.deb ... 1506s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 1506s Selecting previously unselected package libxcb-randr0:arm64. 1506s Preparing to unpack .../077-libxcb-randr0_1.17.0-2_arm64.deb ... 1506s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 1506s Selecting previously unselected package libxcb-sync1:arm64. 1506s Preparing to unpack .../078-libxcb-sync1_1.17.0-2_arm64.deb ... 1506s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 1506s Selecting previously unselected package libxcb-xfixes0:arm64. 1506s Preparing to unpack .../079-libxcb-xfixes0_1.17.0-2_arm64.deb ... 1506s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 1506s Selecting previously unselected package libxshmfence1:arm64. 1506s Preparing to unpack .../080-libxshmfence1_1.3-1build5_arm64.deb ... 1506s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 1506s Selecting previously unselected package libxxf86vm1:arm64. 1506s Preparing to unpack .../081-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 1506s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1506s Selecting previously unselected package libdrm-amdgpu1:arm64. 1506s Preparing to unpack .../082-libdrm-amdgpu1_2.4.123-1_arm64.deb ... 1506s Unpacking libdrm-amdgpu1:arm64 (2.4.123-1) ... 1506s Selecting previously unselected package libdrm-radeon1:arm64. 1506s Preparing to unpack .../083-libdrm-radeon1_2.4.123-1_arm64.deb ... 1506s Unpacking libdrm-radeon1:arm64 (2.4.123-1) ... 1506s Selecting previously unselected package mesa-libgallium:arm64. 1506s Preparing to unpack .../084-mesa-libgallium_24.2.3-1ubuntu1_arm64.deb ... 1506s Unpacking mesa-libgallium:arm64 (24.2.3-1ubuntu1) ... 1506s Selecting previously unselected package libvulkan1:arm64. 1506s Preparing to unpack .../085-libvulkan1_1.3.296.0-1_arm64.deb ... 1506s Unpacking libvulkan1:arm64 (1.3.296.0-1) ... 1506s Selecting previously unselected package libwayland-server0:arm64. 1506s Preparing to unpack .../086-libwayland-server0_1.23.0-1_arm64.deb ... 1506s Unpacking libwayland-server0:arm64 (1.23.0-1) ... 1506s Selecting previously unselected package libgbm1:arm64. 1506s Preparing to unpack .../087-libgbm1_24.2.3-1ubuntu1_arm64.deb ... 1506s Unpacking libgbm1:arm64 (24.2.3-1ubuntu1) ... 1506s Selecting previously unselected package libgl1-mesa-dri:arm64. 1506s Preparing to unpack .../088-libgl1-mesa-dri_24.2.3-1ubuntu1_arm64.deb ... 1506s Unpacking libgl1-mesa-dri:arm64 (24.2.3-1ubuntu1) ... 1506s Selecting previously unselected package libglx-mesa0:arm64. 1506s Preparing to unpack .../089-libglx-mesa0_24.2.3-1ubuntu1_arm64.deb ... 1506s Unpacking libglx-mesa0:arm64 (24.2.3-1ubuntu1) ... 1506s Selecting previously unselected package libglx0:arm64. 1506s Preparing to unpack .../090-libglx0_1.7.0-1build1_arm64.deb ... 1506s Unpacking libglx0:arm64 (1.7.0-1build1) ... 1506s Selecting previously unselected package libgl1:arm64. 1506s Preparing to unpack .../091-libgl1_1.7.0-1build1_arm64.deb ... 1506s Unpacking libgl1:arm64 (1.7.0-1build1) ... 1506s Selecting previously unselected package libasound2-data. 1506s Preparing to unpack .../092-libasound2-data_1.2.12-1_all.deb ... 1506s Unpacking libasound2-data (1.2.12-1) ... 1506s Selecting previously unselected package libasound2t64:arm64. 1507s Preparing to unpack .../093-libasound2t64_1.2.12-1_arm64.deb ... 1507s Unpacking libasound2t64:arm64 (1.2.12-1) ... 1507s Selecting previously unselected package libgif7:arm64. 1507s Preparing to unpack .../094-libgif7_5.2.2-1ubuntu1_arm64.deb ... 1507s Unpacking libgif7:arm64 (5.2.2-1ubuntu1) ... 1507s Selecting previously unselected package x11-common. 1507s Preparing to unpack .../095-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1507s Unpacking x11-common (1:7.7+23ubuntu3) ... 1507s Selecting previously unselected package libxtst6:arm64. 1507s Preparing to unpack .../096-libxtst6_2%3a1.2.3-1.1build1_arm64.deb ... 1507s Unpacking libxtst6:arm64 (2:1.2.3-1.1build1) ... 1507s Selecting previously unselected package openjdk-21-jre:arm64. 1507s Preparing to unpack .../097-openjdk-21-jre_21.0.5+11-1_arm64.deb ... 1507s Unpacking openjdk-21-jre:arm64 (21.0.5+11-1) ... 1507s Selecting previously unselected package default-jre. 1507s Preparing to unpack .../098-default-jre_2%3a1.21-76_arm64.deb ... 1507s Unpacking default-jre (2:1.21-76) ... 1507s Selecting previously unselected package libhamcrest-java. 1507s Preparing to unpack .../099-libhamcrest-java_2.2-2_all.deb ... 1507s Unpacking libhamcrest-java (2.2-2) ... 1507s Selecting previously unselected package junit4. 1507s Preparing to unpack .../100-junit4_4.13.2-5_all.deb ... 1507s Unpacking junit4 (4.13.2-5) ... 1507s Selecting previously unselected package libcommons-cli-java. 1507s Preparing to unpack .../101-libcommons-cli-java_1.6.0-1_all.deb ... 1507s Unpacking libcommons-cli-java (1.6.0-1) ... 1507s Selecting previously unselected package libapache-pom-java. 1507s Preparing to unpack .../102-libapache-pom-java_33-2_all.deb ... 1507s Unpacking libapache-pom-java (33-2) ... 1507s Selecting previously unselected package libcommons-parent-java. 1507s Preparing to unpack .../103-libcommons-parent-java_56-1_all.deb ... 1507s Unpacking libcommons-parent-java (56-1) ... 1507s Selecting previously unselected package libcommons-io-java. 1507s Preparing to unpack .../104-libcommons-io-java_2.17.0-1_all.deb ... 1507s Unpacking libcommons-io-java (2.17.0-1) ... 1507s Selecting previously unselected package libdropwizard-metrics-java. 1507s Preparing to unpack .../105-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1507s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1507s Selecting previously unselected package libfindbugs-annotations-java. 1507s Preparing to unpack .../106-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1507s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1507s Selecting previously unselected package libatinject-jsr330-api-java. 1507s Preparing to unpack .../107-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 1507s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 1507s Selecting previously unselected package liberror-prone-java. 1507s Preparing to unpack .../108-liberror-prone-java_2.18.0-1_all.deb ... 1507s Unpacking liberror-prone-java (2.18.0-1) ... 1507s Selecting previously unselected package libjsr305-java. 1507s Preparing to unpack .../109-libjsr305-java_0.1~+svn49-11_all.deb ... 1507s Unpacking libjsr305-java (0.1~+svn49-11) ... 1507s Selecting previously unselected package libguava-java. 1507s Preparing to unpack .../110-libguava-java_32.0.1-1_all.deb ... 1507s Unpacking libguava-java (32.0.1-1) ... 1507s Selecting previously unselected package libjackson2-annotations-java. 1507s Preparing to unpack .../111-libjackson2-annotations-java_2.14.0-1_all.deb ... 1507s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1507s Selecting previously unselected package libjackson2-core-java. 1507s Preparing to unpack .../112-libjackson2-core-java_2.14.1-1_all.deb ... 1507s Unpacking libjackson2-core-java (2.14.1-1) ... 1507s Selecting previously unselected package libjackson2-databind-java. 1507s Preparing to unpack .../113-libjackson2-databind-java_2.14.0-1_all.deb ... 1507s Unpacking libjackson2-databind-java (2.14.0-1) ... 1507s Selecting previously unselected package libasm-java. 1507s Preparing to unpack .../114-libasm-java_9.7.1-1_all.deb ... 1507s Unpacking libasm-java (9.7.1-1) ... 1507s Selecting previously unselected package libel-api-java. 1507s Preparing to unpack .../115-libel-api-java_3.0.0-3_all.deb ... 1507s Unpacking libel-api-java (3.0.0-3) ... 1507s Selecting previously unselected package libjsp-api-java. 1507s Preparing to unpack .../116-libjsp-api-java_2.3.4-3_all.deb ... 1507s Unpacking libjsp-api-java (2.3.4-3) ... 1507s Selecting previously unselected package libservlet-api-java. 1507s Preparing to unpack .../117-libservlet-api-java_4.0.1-2_all.deb ... 1507s Unpacking libservlet-api-java (4.0.1-2) ... 1507s Selecting previously unselected package libwebsocket-api-java. 1507s Preparing to unpack .../118-libwebsocket-api-java_1.1-2_all.deb ... 1507s Unpacking libwebsocket-api-java (1.1-2) ... 1507s Selecting previously unselected package libjetty9-java. 1507s Preparing to unpack .../119-libjetty9-java_9.4.56-1_all.deb ... 1507s Unpacking libjetty9-java (9.4.56-1) ... 1508s Selecting previously unselected package libjnr-constants-java. 1508s Preparing to unpack .../120-libjnr-constants-java_0.10.4-2_all.deb ... 1508s Unpacking libjnr-constants-java (0.10.4-2) ... 1508s Selecting previously unselected package libjffi-jni:arm64. 1508s Preparing to unpack .../121-libjffi-jni_1.3.13+ds-1_arm64.deb ... 1508s Unpacking libjffi-jni:arm64 (1.3.13+ds-1) ... 1508s Selecting previously unselected package libjffi-java. 1508s Preparing to unpack .../122-libjffi-java_1.3.13+ds-1_all.deb ... 1508s Unpacking libjffi-java (1.3.13+ds-1) ... 1508s Selecting previously unselected package libjnr-x86asm-java. 1508s Preparing to unpack .../123-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 1508s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 1508s Selecting previously unselected package libjnr-ffi-java. 1508s Preparing to unpack .../124-libjnr-ffi-java_2.2.15-2_all.deb ... 1508s Unpacking libjnr-ffi-java (2.2.15-2) ... 1508s Selecting previously unselected package libjnr-enxio-java. 1508s Preparing to unpack .../125-libjnr-enxio-java_0.32.16-1_all.deb ... 1508s Unpacking libjnr-enxio-java (0.32.16-1) ... 1508s Selecting previously unselected package libjnr-posix-java. 1508s Preparing to unpack .../126-libjnr-posix-java_3.1.18-1_all.deb ... 1508s Unpacking libjnr-posix-java (3.1.18-1) ... 1508s Selecting previously unselected package libjnr-unixsocket-java. 1508s Preparing to unpack .../127-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1508s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1508s Selecting previously unselected package libactivation-java. 1508s Preparing to unpack .../128-libactivation-java_1.2.0-2_all.deb ... 1508s Unpacking libactivation-java (1.2.0-2) ... 1508s Selecting previously unselected package libmail-java. 1508s Preparing to unpack .../129-libmail-java_1.6.5-3_all.deb ... 1508s Unpacking libmail-java (1.6.5-3) ... 1508s Selecting previously unselected package libcommons-logging-java. 1508s Preparing to unpack .../130-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1508s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1508s Selecting previously unselected package libjaxb-api-java. 1508s Preparing to unpack .../131-libjaxb-api-java_2.3.1-1_all.deb ... 1508s Unpacking libjaxb-api-java (2.3.1-1) ... 1508s Selecting previously unselected package libspring-core-java. 1508s Preparing to unpack .../132-libspring-core-java_4.3.30-2_all.deb ... 1508s Unpacking libspring-core-java (4.3.30-2) ... 1508s Selecting previously unselected package libspring-beans-java. 1508s Preparing to unpack .../133-libspring-beans-java_4.3.30-2_all.deb ... 1508s Unpacking libspring-beans-java (4.3.30-2) ... 1508s Selecting previously unselected package libtaglibs-standard-spec-java. 1508s Preparing to unpack .../134-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1508s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1508s Selecting previously unselected package libtaglibs-standard-impl-java. 1508s Preparing to unpack .../135-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1508s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1508s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1508s Preparing to unpack .../136-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1508s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1508s Selecting previously unselected package libeclipse-jdt-core-java. 1508s Preparing to unpack .../137-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1508s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1508s Selecting previously unselected package libtomcat9-java. 1508s Preparing to unpack .../138-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1508s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1508s Selecting previously unselected package libjetty9-extra-java. 1508s Preparing to unpack .../139-libjetty9-extra-java_9.4.56-1_all.deb ... 1508s Unpacking libjetty9-extra-java (9.4.56-1) ... 1508s Selecting previously unselected package libjctools-java. 1508s Preparing to unpack .../140-libjctools-java_2.0.2-1_all.deb ... 1508s Unpacking libjctools-java (2.0.2-1) ... 1509s Selecting previously unselected package libnetty-java. 1509s Preparing to unpack .../141-libnetty-java_1%3a4.1.48-10_all.deb ... 1509s Unpacking libnetty-java (1:4.1.48-10) ... 1509s Selecting previously unselected package libslf4j-java. 1509s Preparing to unpack .../142-libslf4j-java_1.7.32-1_all.deb ... 1509s Unpacking libslf4j-java (1.7.32-1) ... 1509s Selecting previously unselected package libsnappy1v5:arm64. 1509s Preparing to unpack .../143-libsnappy1v5_1.2.1-1_arm64.deb ... 1509s Unpacking libsnappy1v5:arm64 (1.2.1-1) ... 1509s Selecting previously unselected package libsnappy-jni. 1509s Preparing to unpack .../144-libsnappy-jni_1.1.10.5-2_arm64.deb ... 1509s Unpacking libsnappy-jni (1.1.10.5-2) ... 1509s Selecting previously unselected package libsnappy-java. 1509s Preparing to unpack .../145-libsnappy-java_1.1.10.5-2_all.deb ... 1509s Unpacking libsnappy-java (1.1.10.5-2) ... 1509s Selecting previously unselected package libapr1t64:arm64. 1509s Preparing to unpack .../146-libapr1t64_1.7.2-3.2ubuntu1_arm64.deb ... 1509s Unpacking libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 1509s Selecting previously unselected package libnetty-tcnative-jni. 1509s Preparing to unpack .../147-libnetty-tcnative-jni_2.0.28-1build4_arm64.deb ... 1509s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1509s Selecting previously unselected package libnetty-tcnative-java. 1509s Preparing to unpack .../148-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1509s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1509s Selecting previously unselected package liblog4j1.2-java. 1509s Preparing to unpack .../149-liblog4j1.2-java_1.2.17-11_all.deb ... 1509s Unpacking liblog4j1.2-java (1.2.17-11) ... 1509s Selecting previously unselected package libzookeeper-java. 1509s Preparing to unpack .../150-libzookeeper-java_3.9.3-1_all.deb ... 1509s Unpacking libzookeeper-java (3.9.3-1) ... 1509s Selecting previously unselected package zookeeper. 1509s Preparing to unpack .../151-zookeeper_3.9.3-1_all.deb ... 1509s Unpacking zookeeper (3.9.3-1) ... 1509s Selecting previously unselected package zookeeperd. 1509s Preparing to unpack .../152-zookeeperd_3.9.3-1_all.deb ... 1509s Unpacking zookeeperd (3.9.3-1) ... 1509s Selecting previously unselected package fonts-font-awesome. 1509s Preparing to unpack .../153-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1509s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1509s Selecting previously unselected package libcares2:arm64. 1509s Preparing to unpack .../154-libcares2_1.34.2-1_arm64.deb ... 1509s Unpacking libcares2:arm64 (1.34.2-1) ... 1509s Selecting previously unselected package libev4t64:arm64. 1509s Preparing to unpack .../155-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 1509s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 1509s Selecting previously unselected package libio-pty-perl. 1509s Preparing to unpack .../156-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 1509s Unpacking libio-pty-perl (1:1.20-1build3) ... 1509s Selecting previously unselected package libipc-run-perl. 1509s Preparing to unpack .../157-libipc-run-perl_20231003.0-2_all.deb ... 1509s Unpacking libipc-run-perl (20231003.0-2) ... 1509s Selecting previously unselected package libjs-jquery. 1509s Preparing to unpack .../158-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1509s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1509s Selecting previously unselected package libjs-underscore. 1509s Preparing to unpack .../159-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1509s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1509s Selecting previously unselected package libjs-sphinxdoc. 1509s Preparing to unpack .../160-libjs-sphinxdoc_7.4.7-4_all.deb ... 1509s Unpacking libjs-sphinxdoc (7.4.7-4) ... 1509s Selecting previously unselected package libpq5:arm64. 1509s Preparing to unpack .../161-libpq5_17.0-1_arm64.deb ... 1509s Unpacking libpq5:arm64 (17.0-1) ... 1509s Selecting previously unselected package libtime-duration-perl. 1509s Preparing to unpack .../162-libtime-duration-perl_1.21-2_all.deb ... 1509s Unpacking libtime-duration-perl (1.21-2) ... 1509s Selecting previously unselected package libtimedate-perl. 1509s Preparing to unpack .../163-libtimedate-perl_2.3300-2_all.deb ... 1509s Unpacking libtimedate-perl (2.3300-2) ... 1509s Selecting previously unselected package libxslt1.1:arm64. 1509s Preparing to unpack .../164-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 1509s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 1510s Selecting previously unselected package moreutils. 1510s Preparing to unpack .../165-moreutils_0.69-1_arm64.deb ... 1510s Unpacking moreutils (0.69-1) ... 1510s Selecting previously unselected package python3-ydiff. 1510s Preparing to unpack .../166-python3-ydiff_1.3-1_all.deb ... 1510s Unpacking python3-ydiff (1.3-1) ... 1510s Selecting previously unselected package python3-cdiff. 1510s Preparing to unpack .../167-python3-cdiff_1.3-1_all.deb ... 1510s Unpacking python3-cdiff (1.3-1) ... 1510s Selecting previously unselected package python3-colorama. 1510s Preparing to unpack .../168-python3-colorama_0.4.6-4_all.deb ... 1510s Unpacking python3-colorama (0.4.6-4) ... 1510s Selecting previously unselected package python3-click. 1510s Preparing to unpack .../169-python3-click_8.1.7-2_all.deb ... 1510s Unpacking python3-click (8.1.7-2) ... 1510s Selecting previously unselected package python3-six. 1510s Preparing to unpack .../170-python3-six_1.16.0-7_all.deb ... 1510s Unpacking python3-six (1.16.0-7) ... 1510s Selecting previously unselected package python3-dateutil. 1510s Preparing to unpack .../171-python3-dateutil_2.9.0-2_all.deb ... 1510s Unpacking python3-dateutil (2.9.0-2) ... 1510s Selecting previously unselected package python3-wcwidth. 1510s Preparing to unpack .../172-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1510s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1510s Selecting previously unselected package python3-prettytable. 1510s Preparing to unpack .../173-python3-prettytable_3.10.1-1_all.deb ... 1510s Unpacking python3-prettytable (3.10.1-1) ... 1510s Selecting previously unselected package python3-psutil. 1510s Preparing to unpack .../174-python3-psutil_5.9.8-2build2_arm64.deb ... 1510s Unpacking python3-psutil (5.9.8-2build2) ... 1510s Selecting previously unselected package python3-psycopg2. 1510s Preparing to unpack .../175-python3-psycopg2_2.9.9-2_arm64.deb ... 1510s Unpacking python3-psycopg2 (2.9.9-2) ... 1510s Selecting previously unselected package python3-greenlet. 1510s Preparing to unpack .../176-python3-greenlet_3.0.3-0ubuntu6_arm64.deb ... 1510s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 1510s Selecting previously unselected package python3-dnspython. 1510s Preparing to unpack .../177-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1510s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1510s Selecting previously unselected package python3-eventlet. 1510s Preparing to unpack .../178-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 1510s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 1510s Selecting previously unselected package python3-zope.event. 1510s Preparing to unpack .../179-python3-zope.event_5.0-0.1_all.deb ... 1510s Unpacking python3-zope.event (5.0-0.1) ... 1510s Selecting previously unselected package python3-zope.interface. 1510s Preparing to unpack .../180-python3-zope.interface_7.1.1-1_arm64.deb ... 1510s Unpacking python3-zope.interface (7.1.1-1) ... 1510s Selecting previously unselected package python3-gevent. 1510s Preparing to unpack .../181-python3-gevent_24.2.1-1_arm64.deb ... 1510s Unpacking python3-gevent (24.2.1-1) ... 1510s Selecting previously unselected package python3-kerberos. 1510s Preparing to unpack .../182-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 1510s Unpacking python3-kerberos (1.1.14-3.1build9) ... 1510s Selecting previously unselected package python3-pure-sasl. 1510s Preparing to unpack .../183-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 1510s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 1510s Selecting previously unselected package python3-kazoo. 1510s Preparing to unpack .../184-python3-kazoo_2.9.0-2_all.deb ... 1510s Unpacking python3-kazoo (2.9.0-2) ... 1510s Selecting previously unselected package patroni. 1510s Preparing to unpack .../185-patroni_3.3.1-1_all.deb ... 1510s Unpacking patroni (3.3.1-1) ... 1510s Selecting previously unselected package sphinx-rtd-theme-common. 1510s Preparing to unpack .../186-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 1510s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1510s Selecting previously unselected package patroni-doc. 1510s Preparing to unpack .../187-patroni-doc_3.3.1-1_all.deb ... 1510s Unpacking patroni-doc (3.3.1-1) ... 1510s Selecting previously unselected package postgresql-client-16. 1511s Preparing to unpack .../188-postgresql-client-16_16.4-3_arm64.deb ... 1511s Unpacking postgresql-client-16 (16.4-3) ... 1511s Selecting previously unselected package postgresql-16. 1511s Preparing to unpack .../189-postgresql-16_16.4-3_arm64.deb ... 1511s Unpacking postgresql-16 (16.4-3) ... 1511s Selecting previously unselected package postgresql. 1511s Preparing to unpack .../190-postgresql_16+262_all.deb ... 1511s Unpacking postgresql (16+262) ... 1511s Selecting previously unselected package python3-parse. 1511s Preparing to unpack .../191-python3-parse_1.20.2-1_all.deb ... 1511s Unpacking python3-parse (1.20.2-1) ... 1511s Selecting previously unselected package python3-parse-type. 1511s Preparing to unpack .../192-python3-parse-type_0.6.4-1_all.deb ... 1511s Unpacking python3-parse-type (0.6.4-1) ... 1511s Selecting previously unselected package python3-behave. 1511s Preparing to unpack .../193-python3-behave_1.2.6-6_all.deb ... 1511s Unpacking python3-behave (1.2.6-6) ... 1511s Selecting previously unselected package python3-coverage. 1511s Preparing to unpack .../194-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 1511s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1511s Selecting previously unselected package autopkgtest-satdep. 1511s Preparing to unpack .../195-4-autopkgtest-satdep.deb ... 1511s Unpacking autopkgtest-satdep (0) ... 1511s Setting up postgresql-client-common (262) ... 1511s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1511s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 1511s Setting up liblcms2-2:arm64 (2.16-2) ... 1511s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1511s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 1511s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 1511s Setting up libjackson2-annotations-java (2.14.0-1) ... 1511s Setting up libsharpyuv0:arm64 (1.4.0-0.1) ... 1511s Setting up libwayland-server0:arm64 (1.23.0-1) ... 1511s Setting up libx11-xcb1:arm64 (2:1.8.10-2) ... 1511s Setting up libslf4j-java (1.7.32-1) ... 1511s Setting up fonts-lato (2.015-1) ... 1511s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1511s Setting up libxdamage1:arm64 (1:1.1.6-1build1) ... 1511s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 1511s Setting up liblerc4:arm64 (4.0.0+ds-4ubuntu2) ... 1511s Setting up libjsr305-java (0.1~+svn49-11) ... 1511s Setting up hicolor-icon-theme (0.18-1) ... 1511s Setting up libxi6:arm64 (2:1.8.2-1) ... 1511s Setting up java-common (0.76) ... 1511s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 1511s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 1511s Setting up libcommons-cli-java (1.6.0-1) ... 1511s Setting up libio-pty-perl (1:1.20-1build3) ... 1511s Setting up python3-colorama (0.4.6-4) ... 1511s Setting up libxcb-render0:arm64 (1.17.0-2) ... 1511s Setting up python3-zope.event (5.0-0.1) ... 1512s Setting up python3-zope.interface (7.1.1-1) ... 1512s Setting up libdrm-radeon1:arm64 (2.4.123-1) ... 1512s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 1512s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 1512s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1512s Setting up python3-ydiff (1.3-1) ... 1512s Setting up libasm-java (9.7.1-1) ... 1512s Setting up x11-common (1:7.7+23ubuntu3) ... 1512s Setting up libpq5:arm64 (17.0-1) ... 1512s Setting up libdeflate0:arm64 (1.22-1) ... 1512s Setting up python3-kerberos (1.1.14-3.1build9) ... 1512s Setting up liblog4j1.2-java (1.2.17-11) ... 1512s Setting up libel-api-java (3.0.0-3) ... 1512s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1513s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 1513s Setting up python3-click (8.1.7-2) ... 1513s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 1513s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 1513s Setting up libcolord2:arm64 (1.4.7-1build2) ... 1513s Setting up python3-psutil (5.9.8-2build2) ... 1513s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1513s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1513s Setting up libsnappy1v5:arm64 (1.2.1-1) ... 1513s Setting up libxcb-present0:arm64 (1.17.0-2) ... 1513s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1513s Setting up libdconf1:arm64 (0.40.0-4build2) ... 1513s Setting up libjctools-java (2.0.2-1) ... 1513s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1513s Setting up python3-six (1.16.0-7) ... 1513s Setting up libasound2-data (1.2.12-1) ... 1513s Setting up libasound2t64:arm64 (1.2.12-1) ... 1513s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1513s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1513s Setting up libepoxy0:arm64 (1.5.10-2) ... 1513s Setting up ssl-cert (1.1.2ubuntu2) ... 1514s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1514s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 1514s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 1514s Setting up libapache-pom-java (33-2) ... 1514s Setting up libavahi-common-data:arm64 (0.8-13ubuntu6) ... 1514s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 1514s Setting up libatspi2.0-0t64:arm64 (2.54.0-1) ... 1514s Setting up libwebsocket-api-java (1.1-2) ... 1514s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 1514s Setting up libxinerama1:arm64 (2:1.1.4-3build1) ... 1514s Setting up fonts-dejavu-mono (2.37-8) ... 1514s Setting up libcares2:arm64 (1.34.2-1) ... 1514s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 1514s Setting up python3-psycopg2 (2.9.9-2) ... 1514s Setting up fonts-dejavu-core (2.37-8) ... 1514s Setting up libipc-run-perl (20231003.0-2) ... 1514s Setting up libpcsclite1:arm64 (2.3.0-1) ... 1514s Setting up libjpeg-turbo8:arm64 (2.1.5-2ubuntu2) ... 1514s Setting up libactivation-java (1.2.0-2) ... 1514s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1514s Setting up libhamcrest-java (2.2-2) ... 1514s Setting up libglapi-mesa:arm64 (24.2.3-1ubuntu1) ... 1514s Setting up libjsp-api-java (2.3.4-3) ... 1514s Setting up libvulkan1:arm64 (1.3.296.0-1) ... 1514s Setting up libtime-duration-perl (1.21-2) ... 1514s Setting up libwebp7:arm64 (1.4.0-0.1) ... 1514s Setting up libtimedate-perl (2.3300-2) ... 1514s Setting up libxcb-dri2-0:arm64 (1.17.0-2) ... 1514s Setting up libgif7:arm64 (5.2.2-1ubuntu1) ... 1514s Setting up libxshmfence1:arm64 (1.3-1build5) ... 1514s Setting up libmail-java (1.6.5-3) ... 1514s Setting up at-spi2-common (2.54.0-1) ... 1514s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1515s Setting up libnetty-java (1:4.1.48-10) ... 1515s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 1515s Setting up python3-parse (1.20.2-1) ... 1515s Setting up libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 1515s Setting up libjson-perl (4.10000-1) ... 1515s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 1515s Setting up libservlet-api-java (4.0.1-2) ... 1515s Setting up libjackson2-core-java (2.14.1-1) ... 1515s Setting up libharfbuzz0b:arm64 (10.0.1-1) ... 1515s Setting up libthai-data (0.1.29-2build1) ... 1515s Setting up python3-dateutil (2.9.0-2) ... 1515s Setting up libjffi-jni:arm64 (1.3.13+ds-1) ... 1515s Setting up libwayland-egl1:arm64 (1.23.0-1) ... 1515s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1515s Setting up ca-certificates-java (20240118) ... 1515s No JRE found. Skipping Java certificates setup. 1515s Setting up python3-prettytable (3.10.1-1) ... 1515s Setting up libsnappy-jni (1.1.10.5-2) ... 1515s Setting up libxcomposite1:arm64 (1:0.4.6-1) ... 1515s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1515s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1515s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1515s Setting up libdrm-amdgpu1:arm64 (2.4.123-1) ... 1515s Setting up libjnr-constants-java (0.10.4-2) ... 1515s Setting up libwayland-client0:arm64 (1.23.0-1) ... 1515s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 1515s Setting up libjaxb-api-java (2.3.1-1) ... 1515s Setting up libjffi-java (1.3.13+ds-1) ... 1515s Setting up mesa-libgallium:arm64 (24.2.3-1ubuntu1) ... 1515s Setting up libjetty9-java (9.4.56-1) ... 1515s Setting up moreutils (0.69-1) ... 1515s Setting up libatk1.0-0t64:arm64 (2.54.0-1) ... 1515s Setting up openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1515s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 1515s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1515s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1515s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1515s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1515s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 1515s Setting up libgbm1:arm64 (24.2.3-1ubuntu1) ... 1515s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 1515s Setting up libxtst6:arm64 (2:1.2.3-1.1build1) ... 1515s Setting up libxcursor1:arm64 (1:1.2.2-1) ... 1515s Setting up postgresql-client-16 (16.4-3) ... 1516s 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 1516s Setting up python3-cdiff (1.3-1) ... 1516s Setting up libgl1-mesa-dri:arm64 (24.2.3-1ubuntu1) ... 1516s Setting up libcommons-parent-java (56-1) ... 1516s Setting up libavahi-common3:arm64 (0.8-13ubuntu6) ... 1516s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1516s Setting up dconf-service (0.40.0-4build2) ... 1516s Setting up python3-gevent (24.2.1-1) ... 1516s Setting up libjackson2-databind-java (2.14.0-1) ... 1516s Setting up libthai0:arm64 (0.1.29-2build1) ... 1516s Setting up python3-parse-type (0.6.4-1) ... 1516s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 1516s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1516s Setting up python3-kazoo (2.9.0-2) ... 1517s Setting up postgresql-common (262) ... 1517s 1517s Creating config file /etc/postgresql-common/createcluster.conf with new version 1517s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1517s Removing obsolete dictionary files: 1518s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1518s Setting up libjs-sphinxdoc (7.4.7-4) ... 1518s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1518s Setting up libwayland-cursor0:arm64 (1.23.0-1) ... 1518s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1518s Setting up python3-behave (1.2.6-6) ... 1518s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1518s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1518s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1518s """Registers a custom type that will be available to "parse" 1518s Setting up libsnappy-java (1.1.10.5-2) ... 1518s Setting up libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1518s Setting up patroni (3.3.1-1) ... 1519s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1519s Setting up libavahi-client3:arm64 (0.8-13ubuntu6) ... 1519s Setting up libjnr-ffi-java (2.2.15-2) ... 1519s Setting up libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 1519s Setting up gtk-update-icon-cache (4.16.5+ds-1) ... 1519s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 1521s Regenerating fonts cache... done. 1521s Setting up libglx-mesa0:arm64 (24.2.3-1ubuntu1) ... 1521s Setting up postgresql-16 (16.4-3) ... 1521s Creating new PostgreSQL cluster 16/main ... 1521s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1521s The files belonging to this database system will be owned by user "postgres". 1521s This user must also own the server process. 1521s 1521s The database cluster will be initialized with locale "C.UTF-8". 1521s The default database encoding has accordingly been set to "UTF8". 1521s The default text search configuration will be set to "english". 1521s 1521s Data page checksums are disabled. 1521s 1521s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1521s creating subdirectories ... ok 1521s selecting dynamic shared memory implementation ... posix 1521s selecting default max_connections ... 100 1522s selecting default shared_buffers ... 128MB 1522s selecting default time zone ... Etc/UTC 1522s creating configuration files ... ok 1522s running bootstrap script ... ok 1522s performing post-bootstrap initialization ... ok 1522s syncing data to disk ... ok 1525s Setting up libglx0:arm64 (1.7.0-1build1) ... 1525s Setting up libspring-core-java (4.3.30-2) ... 1525s Setting up dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1525s Setting up libcommons-io-java (2.17.0-1) ... 1525s Setting up patroni-doc (3.3.1-1) ... 1525s Setting up libpango-1.0-0:arm64 (1.54.0+ds-3) ... 1525s Setting up libcairo2:arm64 (1.18.2-2) ... 1525s Setting up libjnr-enxio-java (0.32.16-1) ... 1525s Setting up libgl1:arm64 (1.7.0-1build1) ... 1525s Setting up libcairo-gobject2:arm64 (1.18.2-2) ... 1526s Setting up postgresql (16+262) ... 1526s Setting up libpangoft2-1.0-0:arm64 (1.54.0+ds-3) ... 1526s Setting up libcups2t64:arm64 (2.4.10-1ubuntu2) ... 1526s Setting up libgtk-3-common (3.24.43-3ubuntu2) ... 1526s Setting up libjnr-posix-java (3.1.18-1) ... 1526s Setting up libpangocairo-1.0-0:arm64 (1.54.0+ds-3) ... 1526s Setting up libspring-beans-java (4.3.30-2) ... 1526s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1526s Setting up libjetty9-extra-java (9.4.56-1) ... 1526s Setting up libguava-java (32.0.1-1) ... 1526s Setting up adwaita-icon-theme (47.0-2) ... 1526s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1526s Setting up liberror-prone-java (2.18.0-1) ... 1526s Setting up humanity-icon-theme (0.6.16) ... 1526s Setting up ubuntu-mono (24.04-0ubuntu1) ... 1526s Processing triggers for man-db (2.12.1-3) ... 1526s Processing triggers for libglib2.0-0t64:arm64 (2.82.1-0ubuntu1) ... 1526s Setting up libgtk-3-0t64:arm64 (3.24.43-3ubuntu2) ... 1527s Processing triggers for libc-bin (2.40-1ubuntu3) ... 1527s Processing triggers for ca-certificates-java (20240118) ... 1527s Adding debian:ACCVRAIZ1.pem 1527s Adding debian:AC_RAIZ_FNMT-RCM.pem 1527s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1527s Adding debian:ANF_Secure_Server_Root_CA.pem 1527s Adding debian:Actalis_Authentication_Root_CA.pem 1527s Adding debian:AffirmTrust_Commercial.pem 1527s Adding debian:AffirmTrust_Networking.pem 1527s Adding debian:AffirmTrust_Premium.pem 1527s Adding debian:AffirmTrust_Premium_ECC.pem 1527s Adding debian:Amazon_Root_CA_1.pem 1527s Adding debian:Amazon_Root_CA_2.pem 1527s Adding debian:Amazon_Root_CA_3.pem 1527s Adding debian:Amazon_Root_CA_4.pem 1527s Adding debian:Atos_TrustedRoot_2011.pem 1527s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1527s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1527s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1527s Adding debian:BJCA_Global_Root_CA1.pem 1527s Adding debian:BJCA_Global_Root_CA2.pem 1527s Adding debian:Baltimore_CyberTrust_Root.pem 1527s Adding debian:Buypass_Class_2_Root_CA.pem 1527s Adding debian:Buypass_Class_3_Root_CA.pem 1527s Adding debian:CA_Disig_Root_R2.pem 1527s Adding debian:CFCA_EV_ROOT.pem 1527s Adding debian:COMODO_Certification_Authority.pem 1527s Adding debian:COMODO_ECC_Certification_Authority.pem 1527s Adding debian:COMODO_RSA_Certification_Authority.pem 1527s Adding debian:Certainly_Root_E1.pem 1527s Adding debian:Certainly_Root_R1.pem 1527s Adding debian:Certigna.pem 1527s Adding debian:Certigna_Root_CA.pem 1527s Adding debian:Certum_EC-384_CA.pem 1527s Adding debian:Certum_Trusted_Network_CA.pem 1527s Adding debian:Certum_Trusted_Network_CA_2.pem 1527s Adding debian:Certum_Trusted_Root_CA.pem 1527s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1527s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1527s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1527s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1527s Adding debian:Comodo_AAA_Services_root.pem 1527s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1527s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1527s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1527s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1527s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1527s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1527s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1527s Adding debian:DigiCert_Global_Root_CA.pem 1527s Adding debian:DigiCert_Global_Root_G2.pem 1527s Adding debian:DigiCert_Global_Root_G3.pem 1527s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1527s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1527s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1527s Adding debian:DigiCert_Trusted_Root_G4.pem 1527s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1527s Adding debian:Entrust_Root_Certification_Authority.pem 1527s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1527s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1527s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1527s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1527s Adding debian:GLOBALTRUST_2020.pem 1527s Adding debian:GTS_Root_R1.pem 1527s Adding debian:GTS_Root_R2.pem 1527s Adding debian:GTS_Root_R3.pem 1527s Adding debian:GTS_Root_R4.pem 1527s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1527s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1527s Adding debian:GlobalSign_Root_CA.pem 1527s Adding debian:GlobalSign_Root_CA_-_R3.pem 1527s Adding debian:GlobalSign_Root_CA_-_R6.pem 1527s Adding debian:GlobalSign_Root_E46.pem 1527s Adding debian:GlobalSign_Root_R46.pem 1527s Adding debian:Go_Daddy_Class_2_CA.pem 1527s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1527s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1527s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1527s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1527s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1527s Adding debian:HiPKI_Root_CA_-_G1.pem 1527s Adding debian:Hongkong_Post_Root_CA_3.pem 1527s Adding debian:ISRG_Root_X1.pem 1527s Adding debian:ISRG_Root_X2.pem 1527s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1527s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1527s Adding debian:Izenpe.com.pem 1527s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1527s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1527s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1527s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1527s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1527s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1527s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1527s Adding debian:QuoVadis_Root_CA_1_G3.pem 1527s Adding debian:QuoVadis_Root_CA_2.pem 1527s Adding debian:QuoVadis_Root_CA_2_G3.pem 1527s Adding debian:QuoVadis_Root_CA_3.pem 1527s Adding debian:QuoVadis_Root_CA_3_G3.pem 1527s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1527s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1527s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1527s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1527s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1527s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1527s Adding debian:SZAFIR_ROOT_CA2.pem 1527s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1527s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1527s Adding debian:SecureSign_RootCA11.pem 1527s Adding debian:SecureTrust_CA.pem 1527s Adding debian:Secure_Global_CA.pem 1527s Adding debian:Security_Communication_ECC_RootCA1.pem 1527s Adding debian:Security_Communication_RootCA2.pem 1527s Adding debian:Security_Communication_RootCA3.pem 1527s Adding debian:Security_Communication_Root_CA.pem 1527s Adding debian:Starfield_Class_2_CA.pem 1527s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1527s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1527s Adding debian:SwissSign_Gold_CA_-_G2.pem 1527s Adding debian:SwissSign_Silver_CA_-_G2.pem 1527s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1527s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1527s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1527s Adding debian:TWCA_Global_Root_CA.pem 1527s Adding debian:TWCA_Root_Certification_Authority.pem 1527s Adding debian:TeliaSonera_Root_CA_v1.pem 1527s Adding debian:Telia_Root_CA_v2.pem 1527s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1527s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1527s Adding debian:Trustwave_Global_Certification_Authority.pem 1527s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1527s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1527s Adding debian:TunTrust_Root_CA.pem 1527s Adding debian:UCA_Extended_Validation_Root.pem 1527s Adding debian:UCA_Global_G2_Root.pem 1527s Adding debian:USERTrust_ECC_Certification_Authority.pem 1527s Adding debian:USERTrust_RSA_Certification_Authority.pem 1527s Adding debian:XRamp_Global_CA_Root.pem 1527s Adding debian:certSIGN_ROOT_CA.pem 1527s Adding debian:certSIGN_Root_CA_G2.pem 1527s Adding debian:e-Szigno_Root_CA_2017.pem 1527s Adding debian:ePKI_Root_Certification_Authority.pem 1527s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1527s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1527s Adding debian:emSign_Root_CA_-_C1.pem 1527s Adding debian:emSign_Root_CA_-_G1.pem 1527s Adding debian:vTrus_ECC_Root_CA.pem 1527s Adding debian:vTrus_Root_CA.pem 1527s done. 1527s Setting up openjdk-21-jre:arm64 (21.0.5+11-1) ... 1527s Setting up junit4 (4.13.2-5) ... 1527s Setting up default-jre-headless (2:1.21-76) ... 1527s Setting up default-jre (2:1.21-76) ... 1527s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1527s Setting up libzookeeper-java (3.9.3-1) ... 1527s Setting up zookeeper (3.9.3-1) ... 1528s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1528s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1528s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1528s Setting up zookeeperd (3.9.3-1) ... 1528s Setting up autopkgtest-satdep (0) ... 1537s (Reading database ... 100113 files and directories currently installed.) 1537s Removing autopkgtest-satdep (0) ... 1538s autopkgtest [04:21:16]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1538s autopkgtest [04:21:16]: test acceptance-zookeeper: [----------------------- 1544s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1544s ++ ls -1r /usr/lib/postgresql/ 1544s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1544s + '[' 16 == 10 -o 16 == 11 ']' 1544s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1544s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 1544s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1545s Nov 14 04:21:23 Feature: basic replication # features/basic_replication.feature:1 1545s Nov 14 04:21:23 We should check that the basic bootstrapping, replication and failover works. 1545s Nov 14 04:21:23 Scenario: check replication of a single table # features/basic_replication.feature:4 1545s Nov 14 04:21:23 Given I start postgres0 # features/steps/basic_replication.py:8 1548s Nov 14 04:21:26 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1548s Nov 14 04:21:26 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1548s Nov 14 04:21:26 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 1548s Nov 14 04:21:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 1548s Nov 14 04:21:26 When I start postgres1 # features/steps/basic_replication.py:8 1551s Nov 14 04:21:29 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1554s Nov 14 04:21:32 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1554s Nov 14 04:21:32 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1554s Nov 14 04:21:32 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1555s Nov 14 04:21:33 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1559s Nov 14 04:21:37 1559s Nov 14 04:21:37 Scenario: check restart of sync replica # features/basic_replication.feature:17 1559s Nov 14 04:21:37 Given I shut down postgres2 # features/steps/basic_replication.py:29 1560s Nov 14 04:21:38 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1560s Nov 14 04:21:38 When I start postgres2 # features/steps/basic_replication.py:8 1563s Nov 14 04:21:41 And I shut down postgres1 # features/steps/basic_replication.py:29 1566s Nov 14 04:21:44 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1567s Nov 14 04:21:45 When I start postgres1 # features/steps/basic_replication.py:8 1570s Nov 14 04:21:48 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1570s Nov 14 04:21:48 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1570s Nov 14 04:21:48 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1570s Nov 14 04:21:48 1570s Nov 14 04:21:48 Scenario: check stuck sync replica # features/basic_replication.feature:28 1570s Nov 14 04:21:48 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 1570s Nov 14 04:21:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1570s Nov 14 04:21:48 And I create table on postgres0 # features/steps/basic_replication.py:73 1570s Nov 14 04:21:48 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1571s Nov 14 04:21:49 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1571s Nov 14 04:21:49 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1571s Nov 14 04:21:49 And I load data on postgres0 # features/steps/basic_replication.py:84 1572s Nov 14 04:21:50 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1575s Nov 14 04:21:53 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1575s Nov 14 04:21:53 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1576s Nov 14 04:21:54 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1576s Nov 14 04:21:54 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 1576s Nov 14 04:21:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1576s Nov 14 04:21:54 And I drop table on postgres0 # features/steps/basic_replication.py:73 1576s Nov 14 04:21:54 1576s Nov 14 04:21:54 Scenario: check multi sync replication # features/basic_replication.feature:44 1576s Nov 14 04:21:54 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 1576s Nov 14 04:21:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1576s Nov 14 04:21:54 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1580s Nov 14 04:21:58 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1580s Nov 14 04:21:58 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1580s Nov 14 04:21:58 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 1580s Nov 14 04:21:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1580s Nov 14 04:21:58 And I shut down postgres1 # features/steps/basic_replication.py:29 1583s Nov 14 04:22:01 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1584s Nov 14 04:22:02 When I start postgres1 # features/steps/basic_replication.py:8 1587s Nov 14 04:22:05 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1588s Nov 14 04:22:06 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1588s Nov 14 04:22:06 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1588s Nov 14 04:22:06 1588s Nov 14 04:22:06 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1588s Nov 14 04:22:06 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1590s Nov 14 04:22:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1590s Nov 14 04:22:08 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1593s Nov 14 04:22:10 And I shut down postgres0 # features/steps/basic_replication.py:29 1593s Nov 14 04:22:11 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1594s Nov 14 04:22:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1594s Nov 14 04:22:12 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1614s Nov 14 04:22:32 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1618s Nov 14 04:22:36 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1618s Nov 14 04:22:36 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 1618s Nov 14 04:22:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1618s Nov 14 04:22:36 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1618s Nov 14 04:22:36 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1621s Nov 14 04:22:39 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1621s Nov 14 04:22:39 1621s Nov 14 04:22:39 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1621s Nov 14 04:22:39 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1621s Nov 14 04:22:39 And I start postgres0 # features/steps/basic_replication.py:8 1621s Nov 14 04:22:39 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1628s Nov 14 04:22:46 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1628s Nov 14 04:22:46 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1628s Nov 14 04:22:46 1628s Nov 14 04:22:46 @reject-duplicate-name 1628s Nov 14 04:22:46 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1628s Nov 14 04:22:46 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1630s Nov 14 04:22:48 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:121 1634s Nov 14 04:22:52 1634s Nov 14 04:22:52 Feature: cascading replication # features/cascading_replication.feature:1 1634s Nov 14 04:22:52 We should check that patroni can do base backup and streaming from the replica 1634s Nov 14 04:22:52 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1634s Nov 14 04:22:52 Given I start postgres0 # features/steps/basic_replication.py:8 1637s Nov 14 04:22:55 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1637s Nov 14 04:22:55 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1640s Nov 14 04:22:58 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1641s Nov 14 04:22:59 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1641s Nov 14 04:22:59 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1641s Nov 14 04:22:59 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1641s Nov 14 04:22:59 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1644s Nov 14 04:23:02 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1649s Nov 14 04:23:07 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1655s Nov 14 04:23:12 1655s Nov 14 04:23:12 Feature: citus # features/citus.feature:1 1655s SKIP FEATURE citus: Citus extenstion isn't available 1655s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1655s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1655s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1655s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1655s 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 1655s Nov 14 04:23:12 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1655s Nov 14 04:23:12 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1655s Nov 14 04:23:12 Given I start postgres0 in citus group 0 # None 1655s Nov 14 04:23:12 And I start postgres2 in citus group 1 # None 1655s Nov 14 04:23:12 Then postgres0 is a leader in a group 0 after 10 seconds # None 1655s Nov 14 04:23:12 And postgres2 is a leader in a group 1 after 10 seconds # None 1655s Nov 14 04:23:12 When I start postgres1 in citus group 0 # None 1655s Nov 14 04:23:12 And I start postgres3 in citus group 1 # None 1655s Nov 14 04:23:12 Then replication works from postgres0 to postgres1 after 15 seconds # None 1655s Nov 14 04:23:12 Then replication works from postgres2 to postgres3 after 15 seconds # None 1655s Nov 14 04:23:12 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1655s Nov 14 04:23:12 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1655s Nov 14 04:23:12 1655s Nov 14 04:23:12 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1655s Nov 14 04:23:12 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1655s Nov 14 04:23:12 Then postgres1 role is the primary after 10 seconds # None 1655s Nov 14 04:23:12 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1655s Nov 14 04:23:12 And replication works from postgres1 to postgres0 after 15 seconds # None 1655s Nov 14 04:23:12 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1655s Nov 14 04:23:12 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1655s Nov 14 04:23:12 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1655s Nov 14 04:23:12 Then postgres0 role is the primary after 10 seconds # None 1655s Nov 14 04:23:12 And replication works from postgres0 to postgres1 after 15 seconds # None 1655s Nov 14 04:23:12 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1655s Nov 14 04:23:12 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1655s Nov 14 04:23:12 1655s Nov 14 04:23:12 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1655s Nov 14 04:23:12 Given I create a distributed table on postgres0 # None 1655s Nov 14 04:23:12 And I start a thread inserting data on postgres0 # None 1655s Nov 14 04:23:12 When I run patronictl.py switchover batman --group 1 --force # None 1655s Nov 14 04:23:12 Then I receive a response returncode 0 # None 1655s Nov 14 04:23:12 And postgres3 role is the primary after 10 seconds # None 1655s Nov 14 04:23:12 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1655s Nov 14 04:23:12 And replication works from postgres3 to postgres2 after 15 seconds # None 1655s Nov 14 04:23:12 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1655s Nov 14 04:23:12 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1655s Nov 14 04:23:12 And a thread is still alive # None 1655s Nov 14 04:23:12 When I run patronictl.py switchover batman --group 1 --force # None 1655s Nov 14 04:23:12 Then I receive a response returncode 0 # None 1655s Nov 14 04:23:12 And postgres2 role is the primary after 10 seconds # None 1655s Nov 14 04:23:12 And replication works from postgres2 to postgres3 after 15 seconds # None 1655s Nov 14 04:23:12 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1655s Nov 14 04:23:12 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1655s Nov 14 04:23:12 And a thread is still alive # None 1655s Nov 14 04:23:12 When I stop a thread # None 1655s Nov 14 04:23:12 Then a distributed table on postgres0 has expected rows # None 1655s Nov 14 04:23:12 1655s Nov 14 04:23:12 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1655s Nov 14 04:23:12 Given I cleanup a distributed table on postgres0 # None 1655s Nov 14 04:23:12 And I start a thread inserting data on postgres0 # None 1655s Nov 14 04:23:12 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1655s Nov 14 04:23:12 Then I receive a response returncode 0 # None 1655s Nov 14 04:23:12 And postgres2 role is the primary after 10 seconds # None 1655s Nov 14 04:23:12 And replication works from postgres2 to postgres3 after 15 seconds # None 1655s Nov 14 04:23:12 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1655s Nov 14 04:23:12 And a thread is still alive # None 1655s Nov 14 04:23:12 When I stop a thread # None 1655s Nov 14 04:23:12 Then a distributed table on postgres0 has expected rows # None 1655s Nov 14 04:23:12 1655s Nov 14 04:23:12 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1655s Nov 14 04:23:12 Given I start postgres4 in citus group 2 # None 1655s Nov 14 04:23:12 Then postgres4 is a leader in a group 2 after 10 seconds # None 1655s Nov 14 04:23:12 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1655s Nov 14 04:23:12 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1655s Nov 14 04:23:12 Then I receive a response returncode 0 # None 1655s Nov 14 04:23:12 And I receive a response output "+ttl: 20" # None 1655s Nov 14 04:23:12 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1655s Nov 14 04:23:12 When I shut down postgres4 # None 1655s Nov 14 04:23:12 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1655s Nov 14 04:23:12 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1655s Nov 14 04:23:12 Then a transaction finishes in 20 seconds # None 1655s Nov 14 04:23:12 1655s Nov 14 04:23:12 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1655s Nov 14 04:23:12 We should check that patroni can bootstrap a new cluster from a backup 1655s Nov 14 04:23:12 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1655s Nov 14 04:23:12 Given I start postgres0 # features/steps/basic_replication.py:8 1658s Nov 14 04:23:16 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1658s Nov 14 04:23:16 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1658s Nov 14 04:23:16 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1662s Nov 14 04:23:20 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1663s Nov 14 04:23:21 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1663s Nov 14 04:23:21 1663s Nov 14 04:23:21 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1663s Nov 14 04:23:21 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1663s Nov 14 04:23:21 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1663s Nov 14 04:23:21 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1668s Nov 14 04:23:26 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1668s Nov 14 04:23:26 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1674s Nov 14 04:23:32 1674s Nov 14 04:23:32 Feature: ignored slots # features/ignored_slots.feature:1 1674s Nov 14 04:23:32 1674s Nov 14 04:23:32 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1674s Nov 14 04:23:32 Given I start postgres1 # features/steps/basic_replication.py:8 1677s Nov 14 04:23:35 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1677s Nov 14 04:23:35 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1677s Nov 14 04:23:35 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 1677s Nov 14 04:23:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1677s Nov 14 04:23:35 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1677s Nov 14 04:23:35 When I shut down postgres1 # features/steps/basic_replication.py:29 1679s Nov 14 04:23:37 And I start postgres1 # features/steps/basic_replication.py:8 1681s Nov 14 04:23:39 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1682s Nov 14 04:23:40 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1683s Nov 14 04:23:41 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1683s Nov 14 04:23:41 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1683s Nov 14 04:23:41 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1683s Nov 14 04:23:41 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1683s Nov 14 04:23:41 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1683s Nov 14 04:23:41 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1683s Nov 14 04:23:41 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1683s Nov 14 04:23:41 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1683s Nov 14 04:23:41 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1683s Nov 14 04:23:41 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1683s Nov 14 04:23:41 When I start postgres0 # features/steps/basic_replication.py:8 1687s Nov 14 04:23:45 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1688s Nov 14 04:23:46 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1688s Nov 14 04:23:46 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1689s Nov 14 04:23:47 When I shut down postgres1 # features/steps/basic_replication.py:29 1691s Nov 14 04:23:49 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1692s Nov 14 04:23:50 When I start postgres1 # features/steps/basic_replication.py:8 1695s Nov 14 04:23:53 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1695s Nov 14 04:23:53 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1695s Nov 14 04:23:53 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1697s Nov 14 04:23:55 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1697s Nov 14 04:23:55 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1697s Nov 14 04:23:55 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1697s Nov 14 04:23:55 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1697s Nov 14 04:23:55 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1697s Nov 14 04:23:55 When I shut down postgres0 # features/steps/basic_replication.py:29 1699s Nov 14 04:23:57 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1700s Nov 14 04:23:58 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1700s Nov 14 04:23:58 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1700s Nov 14 04:23:58 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1700s Nov 14 04:23:58 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1702s Nov 14 04:24:00 1702s Nov 14 04:24:00 Feature: nostream node # features/nostream_node.feature:1 1702s Nov 14 04:24:00 1702s Nov 14 04:24:00 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1702s Nov 14 04:24:00 When I start postgres0 # features/steps/basic_replication.py:8 1705s Nov 14 04:24:03 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1708s Nov 14 04:24:06 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1709s Nov 14 04:24:07 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1713s Nov 14 04:24:11 1713s Nov 14 04:24:11 @slot-advance 1713s Nov 14 04:24:11 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1713s Nov 14 04:24:11 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1713s Nov 14 04:24:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1713s Nov 14 04:24:11 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1715s Nov 14 04:24:13 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1716s Nov 14 04:24:14 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1719s Nov 14 04:24:17 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1726s Nov 14 04:24:24 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1726s Nov 14 04:24:24 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1732s Nov 14 04:24:30 1732s Nov 14 04:24:30 Feature: patroni api # features/patroni_api.feature:1 1732s Nov 14 04:24:30 We should check that patroni correctly responds to valid and not-valid API requests. 1732s Nov 14 04:24:30 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1732s Nov 14 04:24:30 Given I start postgres0 # features/steps/basic_replication.py:8 1735s Nov 14 04:24:33 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1735s Nov 14 04:24:33 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1735s Nov 14 04:24:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1735s Nov 14 04:24:33 And I receive a response state running # features/steps/patroni_api.py:98 1735s Nov 14 04:24:33 And I receive a response role master # features/steps/patroni_api.py:98 1735s Nov 14 04:24:33 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1735s Nov 14 04:24:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 1735s Nov 14 04:24:33 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1735s Nov 14 04:24:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1735s Nov 14 04:24:33 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1735s Nov 14 04:24:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 1735s Nov 14 04:24:33 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1735s Nov 14 04:24:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 1735s Nov 14 04:24:33 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1735s Nov 14 04:24:33 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1737s Nov 14 04:24:35 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1737s Nov 14 04:24:35 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1737s Nov 14 04:24:35 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1737s Nov 14 04:24:35 Then I receive a response code 412 # features/steps/patroni_api.py:98 1737s Nov 14 04:24:35 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1737s Nov 14 04:24:35 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1737s Nov 14 04:24:35 Then I receive a response code 400 # features/steps/patroni_api.py:98 1737s Nov 14 04:24:35 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1737s Nov 14 04:24:35 Then I receive a response code 400 # features/steps/patroni_api.py:98 1737s Nov 14 04:24:35 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1737s Nov 14 04:24:35 1737s Nov 14 04:24:35 Scenario: check local configuration reload # features/patroni_api.feature:32 1737s Nov 14 04:24:35 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1737s Nov 14 04:24:35 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1737s Nov 14 04:24:35 Then I receive a response code 202 # features/steps/patroni_api.py:98 1737s Nov 14 04:24:35 1737s Nov 14 04:24:35 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1737s Nov 14 04:24:35 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 1737s Nov 14 04:24:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1737s Nov 14 04:24:35 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1739s Nov 14 04:24:37 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1739s Nov 14 04:24:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1739s Nov 14 04:24:37 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1739s Nov 14 04:24:37 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1739s Nov 14 04:24:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1739s Nov 14 04:24:37 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1739s Nov 14 04:24:37 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1743s Nov 14 04:24:41 1743s Nov 14 04:24:41 Scenario: check the scheduled restart # features/patroni_api.feature:49 1743s Nov 14 04:24:41 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1745s Nov 14 04:24:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1745s Nov 14 04:24:43 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1745s Nov 14 04:24:43 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1745s Nov 14 04:24:43 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 1745s Nov 14 04:24:43 Then I receive a response code 202 # features/steps/patroni_api.py:98 1745s Nov 14 04:24:43 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1753s Nov 14 04:24:51 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1753s Nov 14 04:24:51 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 1753s Nov 14 04:24:51 Then I receive a response code 202 # features/steps/patroni_api.py:98 1753s Nov 14 04:24:51 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 1760s Nov 14 04:24:58 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1761s Nov 14 04:24:59 1761s Nov 14 04:24:59 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1761s Nov 14 04:24:59 Given I start postgres1 # features/steps/basic_replication.py:8 1764s Nov 14 04:25:02 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1765s Nov 14 04:25:03 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1767s Nov 14 04:25:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1767s Nov 14 04:25:04 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1767s Nov 14 04:25:05 waiting for server to shut down.... done 1767s Nov 14 04:25:05 server stopped 1767s Nov 14 04:25:05 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1767s Nov 14 04:25:05 Then I receive a response code 503 # features/steps/patroni_api.py:98 1767s Nov 14 04:25:05 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1768s Nov 14 04:25:06 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1770s Nov 14 04:25:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1770s Nov 14 04:25:08 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1772s Nov 14 04:25:09 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1774s Nov 14 04:25:11 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1774s Nov 14 04:25:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1774s Nov 14 04:25:12 And I receive a response state running # features/steps/patroni_api.py:98 1774s Nov 14 04:25:12 And I receive a response role replica # features/steps/patroni_api.py:98 1774s Nov 14 04:25:12 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1777s Nov 14 04:25:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1777s Nov 14 04:25:15 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1777s Nov 14 04:25:15 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1778s Nov 14 04:25:16 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1778s Nov 14 04:25:16 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1780s Nov 14 04:25:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1780s Nov 14 04:25:18 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1780s Nov 14 04:25:18 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1781s Nov 14 04:25:19 1781s Nov 14 04:25:19 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1781s Nov 14 04:25:19 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 1783s Nov 14 04:25:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1783s Nov 14 04:25:21 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1783s Nov 14 04:25:21 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1783s Nov 14 04:25:21 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1788s Nov 14 04:25:26 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1788s Nov 14 04:25:26 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1789s Nov 14 04:25:27 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1789s Nov 14 04:25:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 1789s Nov 14 04:25:27 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1789s Nov 14 04:25:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1789s Nov 14 04:25:27 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1790s Nov 14 04:25:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1790s Nov 14 04:25:28 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1790s Nov 14 04:25:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 1790s Nov 14 04:25:28 1790s Nov 14 04:25:28 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1790s Nov 14 04:25:28 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1791s Nov 14 04:25:29 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1791s Nov 14 04:25:29 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1791s Nov 14 04:25:29 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1792s Nov 14 04:25:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1792s Nov 14 04:25:30 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1794s Nov 14 04:25:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1794s Nov 14 04:25:32 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1804s Nov 14 04:25:42 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1805s Nov 14 04:25:43 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1807s Nov 14 04:25:45 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1807s Nov 14 04:25:45 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1808s Nov 14 04:25:46 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1808s Nov 14 04:25:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1808s Nov 14 04:25:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1808s Nov 14 04:25:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 1808s Nov 14 04:25:46 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1808s Nov 14 04:25:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 1808s Nov 14 04:25:46 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1808s Nov 14 04:25:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1812s Nov 14 04:25:50 1812s Nov 14 04:25:50 Feature: permanent slots # features/permanent_slots.feature:1 1812s Nov 14 04:25:50 1812s Nov 14 04:25:50 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1812s Nov 14 04:25:50 Given I start postgres0 # features/steps/basic_replication.py:8 1815s Nov 14 04:25:53 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1815s Nov 14 04:25:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1815s Nov 14 04:25:53 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 1815s Nov 14 04:25:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1815s Nov 14 04:25:53 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1815s Nov 14 04:25:53 When I start postgres1 # features/steps/basic_replication.py:8 1818s Nov 14 04:25:56 And I start postgres2 # features/steps/basic_replication.py:8 1821s Nov 14 04:25:59 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1824s Nov 14 04:26:02 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1824s Nov 14 04:26:02 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1824s Nov 14 04:26:02 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1824s Nov 14 04:26:02 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1824s Nov 14 04:26:02 1824s Nov 14 04:26:02 @slot-advance 1824s Nov 14 04:26:02 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1824s Nov 14 04:26:02 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1828s Nov 14 04:26:06 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 1828s Nov 14 04:26:06 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1829s Nov 14 04:26:07 1829s Nov 14 04:26:07 @slot-advance 1829s Nov 14 04:26:07 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1829s Nov 14 04:26:07 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1836s Nov 14 04:26:14 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1836s Nov 14 04:26:14 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1837s Nov 14 04:26:15 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1838s Nov 14 04:26:16 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1838s Nov 14 04:26:16 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1838s Nov 14 04:26:16 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1838s Nov 14 04:26:16 1838s Nov 14 04:26:16 @slot-advance 1838s Nov 14 04:26:16 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1838s Nov 14 04:26:16 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1838s Nov 14 04:26:16 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1838s Nov 14 04:26:16 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1838s Nov 14 04:26:16 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1838s Nov 14 04:26:16 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1838s Nov 14 04:26:16 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1838s Nov 14 04:26:16 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1838s Nov 14 04:26:16 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1838s Nov 14 04:26:16 1838s Nov 14 04:26:16 @slot-advance 1838s Nov 14 04:26:16 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1838s Nov 14 04:26:16 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1838s Nov 14 04:26:16 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1838s Nov 14 04:26:16 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1838s Nov 14 04:26:16 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1842s Nov 14 04:26:20 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1842s Nov 14 04:26:20 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1842s Nov 14 04:26:20 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1842s Nov 14 04:26:20 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1842s Nov 14 04:26:20 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1842s Nov 14 04:26:20 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1842s Nov 14 04:26:20 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1842s Nov 14 04:26:20 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1842s Nov 14 04:26:20 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1842s Nov 14 04:26:20 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1842s Nov 14 04:26:20 1842s Nov 14 04:26:20 @slot-advance 1842s Nov 14 04:26:20 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1842s Nov 14 04:26:20 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1842s Nov 14 04:26:20 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1842s Nov 14 04:26:20 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1842s Nov 14 04:26:20 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1842s Nov 14 04:26:20 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1842s Nov 14 04:26:20 1842s Nov 14 04:26:20 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1842s Nov 14 04:26:20 Given I shut down postgres3 # features/steps/basic_replication.py:29 1843s Nov 14 04:26:21 And I shut down postgres2 # features/steps/basic_replication.py:29 1844s Nov 14 04:26:22 And I shut down postgres0 # features/steps/basic_replication.py:29 1846s Nov 14 04:26:24 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1846s Nov 14 04:26:24 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1846s Nov 14 04:26:24 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1848s Nov 14 04:26:26 1848s Nov 14 04:26:26 Feature: priority replication # features/priority_failover.feature:1 1848s Nov 14 04:26:26 We should check that we can give nodes priority during failover 1848s Nov 14 04:26:26 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1848s Nov 14 04:26:26 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1851s Nov 14 04:26:29 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1854s Nov 14 04:26:32 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1855s Nov 14 04:26:33 When I shut down postgres0 # features/steps/basic_replication.py:29 1857s Nov 14 04:26:35 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:121 1859s Nov 14 04:26:37 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1859s Nov 14 04:26:37 When I start postgres0 # features/steps/basic_replication.py:8 1861s Nov 14 04:26:39 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1863s Nov 14 04:26:41 1863s Nov 14 04:26:41 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1863s Nov 14 04:26:41 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1866s Nov 14 04:26:44 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1870s Nov 14 04:26:48 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1871s Nov 14 04:26:49 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1873s Nov 14 04:26:51 When I shut down postgres0 # features/steps/basic_replication.py:29 1876s Nov 14 04:26:54 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1877s Nov 14 04:26:55 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:121 1877s Nov 14 04:26:55 1877s Nov 14 04:26:55 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1877s Nov 14 04:26:55 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1877s Nov 14 04:26:55 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1877s Nov 14 04:26:55 Then I receive a response code 202 # features/steps/patroni_api.py:98 1877s Nov 14 04:26:55 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:121 1879s Nov 14 04:26:57 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1880s Nov 14 04:26:58 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1880s Nov 14 04:26:58 Then I receive a response code 412 # features/steps/patroni_api.py:98 1880s Nov 14 04:26:58 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1880s Nov 14 04:26:58 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1880s Nov 14 04:26:58 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1880s Nov 14 04:26:58 Then I receive a response code 202 # features/steps/patroni_api.py:98 1880s Nov 14 04:26:58 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:121 1881s Nov 14 04:26:59 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1882s Nov 14 04:27:00 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1884s Nov 14 04:27:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1884s Nov 14 04:27:02 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1889s Nov 14 04:27:07 1889s Nov 14 04:27:07 Feature: recovery # features/recovery.feature:1 1889s Nov 14 04:27:07 We want to check that crashed postgres is started back 1889s Nov 14 04:27:07 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1889s Nov 14 04:27:07 Given I start postgres0 # features/steps/basic_replication.py:8 1892s Nov 14 04:27:10 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1892s Nov 14 04:27:10 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1892s Nov 14 04:27:10 When I start postgres1 # features/steps/basic_replication.py:8 1895s Nov 14 04:27:13 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1895s Nov 14 04:27:13 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1896s Nov 14 04:27:14 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1896s Nov 14 04:27:14 waiting for server to shut down.... done 1896s Nov 14 04:27:14 server stopped 1896s Nov 14 04:27:14 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1898s Nov 14 04:27:16 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1899s Nov 14 04:27:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1899s Nov 14 04:27:17 And I receive a response role master # features/steps/patroni_api.py:98 1899s Nov 14 04:27:17 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1899s Nov 14 04:27:17 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1900s Nov 14 04:27:18 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1903s Nov 14 04:27:21 1903s Nov 14 04:27:21 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1903s Nov 14 04:27:21 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 1903s Nov 14 04:27:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1903s Nov 14 04:27:21 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1903s Nov 14 04:27:21 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1903s Nov 14 04:27:21 waiting for server to shut down.... done 1903s Nov 14 04:27:21 server stopped 1903s Nov 14 04:27:21 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1905s Nov 14 04:27:23 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1910s Nov 14 04:27:27 1910s Nov 14 04:27:27 Feature: standby cluster # features/standby_cluster.feature:1 1910s Nov 14 04:27:27 1910s Nov 14 04:27:27 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1910s Nov 14 04:27:27 Given I start postgres1 # features/steps/basic_replication.py:8 1912s Nov 14 04:27:30 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1912s Nov 14 04:27:30 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1912s Nov 14 04:27:30 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 1912s Nov 14 04:27:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1912s Nov 14 04:27:30 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1912s Nov 14 04:27:30 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1915s Nov 14 04:27:33 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 1915s Nov 14 04:27:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1915s Nov 14 04:27:33 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1915s Nov 14 04:27:33 When I start postgres0 # features/steps/basic_replication.py:8 1919s Nov 14 04:27:36 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1920s Nov 14 04:27:37 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1921s Nov 14 04:27:39 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1921s Nov 14 04:27:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 1921s Nov 14 04:27:39 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1921s Nov 14 04:27:39 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1921s Nov 14 04:27:39 1921s Nov 14 04:27:39 @slot-advance 1921s Nov 14 04:27:39 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1921s Nov 14 04:27:39 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1923s Nov 14 04:27:41 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1930s Nov 14 04:27:48 1930s Nov 14 04:27:48 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1930s Nov 14 04:27:48 When I shut down postgres1 # features/steps/basic_replication.py:29 1932s Nov 14 04:27:50 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1932s Nov 14 04:27:50 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1933s Nov 14 04:27:51 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1933s Nov 14 04:27:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1933s Nov 14 04:27:51 1933s Nov 14 04:27:51 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1933s Nov 14 04:27:51 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1936s Nov 14 04:27:54 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1936s Nov 14 04:27:54 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1936s Nov 14 04:27:54 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1936s Nov 14 04:27:54 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1936s Nov 14 04:27:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1936s Nov 14 04:27:54 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1936s Nov 14 04:27:54 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1939s Nov 14 04:27:57 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1939s Nov 14 04:27:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 1939s Nov 14 04:27:57 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1939s Nov 14 04:27:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1939s Nov 14 04:27:57 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1939s Nov 14 04:27:57 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1939s Nov 14 04:27:57 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1942s Nov 14 04:28:00 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1942s Nov 14 04:28:00 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1942s Nov 14 04:28:00 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1942s Nov 14 04:28:00 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1942s Nov 14 04:28:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1942s Nov 14 04:28:00 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1942s Nov 14 04:28:00 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1942s Nov 14 04:28:00 1942s Nov 14 04:28:00 Scenario: check switchover # features/standby_cluster.feature:57 1942s Nov 14 04:28:00 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1946s Nov 14 04:28:04 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1946s Nov 14 04:28:04 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1948s Nov 14 04:28:06 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 1948s Nov 14 04:28:06 1948s Nov 14 04:28:06 Scenario: check failover # features/standby_cluster.feature:63 1948s Nov 14 04:28:06 When I kill postgres2 # features/steps/basic_replication.py:34 1949s Nov 14 04:28:07 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1949s Nov 14 04:28:07 waiting for server to shut down.... done 1949s Nov 14 04:28:07 server stopped 1949s Nov 14 04:28:07 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1970s Nov 14 04:28:28 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1970s Nov 14 04:28:28 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1970s Nov 14 04:28:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 1970s Nov 14 04:28:28 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1970s Nov 14 04:28:28 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1971s Nov 14 04:28:29 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 1975s Nov 14 04:28:33 1975s Nov 14 04:28:33 Feature: watchdog # features/watchdog.feature:1 1975s Nov 14 04:28:33 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1975s Nov 14 04:28:33 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1975s Nov 14 04:28:33 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1978s Nov 14 04:28:36 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1978s Nov 14 04:28:36 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1978s Nov 14 04:28:36 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1979s Nov 14 04:28:37 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1979s Nov 14 04:28:37 1979s Nov 14 04:28:37 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1979s Nov 14 04:28:37 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1981s Nov 14 04:28:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1981s Nov 14 04:28:39 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1981s Nov 14 04:28:39 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1985s Nov 14 04:28:43 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1985s Nov 14 04:28:43 1985s Nov 14 04:28:43 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1985s Nov 14 04:28:43 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1986s Nov 14 04:28:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1986s Nov 14 04:28:44 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1988s Nov 14 04:28:46 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1988s Nov 14 04:28:46 1988s Nov 14 04:28:46 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1988s Nov 14 04:28:46 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1988s Nov 14 04:28:46 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1989s Nov 14 04:28:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1989s Nov 14 04:28:47 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1989s Nov 14 04:28:47 1989s Nov 14 04:28:47 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1989s Nov 14 04:28:47 Given I shut down postgres0 # features/steps/basic_replication.py:29 1991s Nov 14 04:28:49 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1991s Nov 14 04:28:49 1991s Nov 14 04:28:49 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1991s Nov 14 04:28:49 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1991s Nov 14 04:28:49 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1993s Nov 14 04:28:51 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1995s Nov 14 04:28:53 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1995s Nov 14 04:28:53 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2023s Nov 14 04:29:20 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.10250.XQxdRHkx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.10294.XErvCFyx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.10436.XALolIlx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.10499.XNDnsEIx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.10553.XSNvOaux 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.10661.XPtEXWGx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.10784.XmqIOfZx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.10987.XFkhlIGx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.11034.XIKXgBOx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.11041.XcMdnhux 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.11046.XCTLkstx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.11062.XZjMsVsx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7044.XKsVmqpx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7089.XWWgvUzx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7136.XKBqbgDx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7211.XofgVUtx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7259.XaKJNaWx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7334.XBCDNqWx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7383.XGHcGkkx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7388.XNLkbXrx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7488.XsYTFvDx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7585.XpouOtIx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7597.XoaAUdTx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7641.XVUgQfGx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7689.XXBlyPmx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7828.XtYVySPx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7874.XNkHoEPx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.7930.XsruqgTx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8028.XkgnZgox 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8087.XzFToOBx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8150.XRAUGfQx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8243.XxZWYZMx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8347.XmqIsMFx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8392.XcwQfgKx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8455.XzulhoAx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8490.XtIzSBpx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8672.XWMdFmgx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8722.XtFZghfx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8742.XnHnxhgx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8810.XkXWsqAx 2023s Nov 14 04:29:21 Skipping duplicate data .coverage.autopkgtest.8865.XjvpXRyx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8872.XXljjavx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8910.XDahloux 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.8954.XidPOiMx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9118.XuhPZdSx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9122.XzLPkDxx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9130.XXFviPrx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9271.XWTjCOGx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9318.XJLXZfIx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9360.XvONbZgx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9405.XvDEUTzx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9451.XjlHBoDx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9654.XuoaUZex 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9698.XEcTeVlx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9773.XJsbslux 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9860.XERFxpPx 2023s Nov 14 04:29:21 Combined data file .coverage.autopkgtest.9906.XvuBkRtx 2025s Nov 14 04:29:23 Name Stmts Miss Cover 2025s Nov 14 04:29:23 -------------------------------------------------------------------------------------------------------- 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/api.py 770 289 62% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 92 86% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 288 70 76% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/ha.py 1244 372 70% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 214 74% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/six.py 504 249 51% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2025s Nov 14 04:29:23 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2025s Nov 14 04:29:23 patroni/__init__.py 13 2 85% 2025s Nov 14 04:29:23 patroni/__main__.py 199 199 0% 2025s Nov 14 04:29:23 patroni/api.py 770 770 0% 2025s Nov 14 04:29:23 patroni/async_executor.py 96 69 28% 2025s Nov 14 04:29:23 patroni/collections.py 56 15 73% 2025s Nov 14 04:29:23 patroni/config.py 371 194 48% 2025s Nov 14 04:29:23 patroni/config_generator.py 212 212 0% 2025s Nov 14 04:29:23 patroni/ctl.py 936 411 56% 2025s Nov 14 04:29:23 patroni/daemon.py 76 76 0% 2025s Nov 14 04:29:23 patroni/dcs/__init__.py 646 271 58% 2025s Nov 14 04:29:23 patroni/dcs/consul.py 485 485 0% 2025s Nov 14 04:29:23 patroni/dcs/etcd3.py 679 679 0% 2025s Nov 14 04:29:23 patroni/dcs/etcd.py 603 603 0% 2025s Nov 14 04:29:23 patroni/dcs/exhibitor.py 61 61 0% 2025s Nov 14 04:29:23 patroni/dcs/kubernetes.py 938 938 0% 2025s Nov 14 04:29:23 patroni/dcs/raft.py 319 319 0% 2025s Nov 14 04:29:23 patroni/dcs/zookeeper.py 288 152 47% 2025s Nov 14 04:29:23 patroni/dynamic_loader.py 35 7 80% 2025s Nov 14 04:29:23 patroni/exceptions.py 16 1 94% 2025s Nov 14 04:29:23 patroni/file_perm.py 43 15 65% 2025s Nov 14 04:29:23 patroni/global_config.py 81 18 78% 2025s Nov 14 04:29:23 patroni/ha.py 1244 1244 0% 2025s Nov 14 04:29:23 patroni/log.py 219 173 21% 2025s Nov 14 04:29:23 patroni/postgresql/__init__.py 821 651 21% 2025s Nov 14 04:29:23 patroni/postgresql/available_parameters/__init__.py 21 3 86% 2025s Nov 14 04:29:23 patroni/postgresql/bootstrap.py 252 222 12% 2025s Nov 14 04:29:23 patroni/postgresql/callback_executor.py 55 34 38% 2025s Nov 14 04:29:23 patroni/postgresql/cancellable.py 104 84 19% 2025s Nov 14 04:29:23 patroni/postgresql/config.py 813 698 14% 2025s Nov 14 04:29:23 patroni/postgresql/connection.py 75 50 33% 2025s Nov 14 04:29:23 patroni/postgresql/misc.py 41 29 29% 2025s Nov 14 04:29:23 patroni/postgresql/mpp/__init__.py 89 21 76% 2025s Nov 14 04:29:23 patroni/postgresql/mpp/citus.py 259 259 0% 2025s Nov 14 04:29:23 patroni/postgresql/postmaster.py 170 139 18% 2025s Nov 14 04:29:23 patroni/postgresql/rewind.py 416 416 0% 2025s Nov 14 04:29:23 patroni/postgresql/slots.py 334 285 15% 2025s Nov 14 04:29:23 patroni/postgresql/sync.py 130 96 26% 2025s Nov 14 04:29:23 patroni/postgresql/validator.py 157 52 67% 2025s Nov 14 04:29:23 patroni/psycopg.py 42 28 33% 2025s Nov 14 04:29:23 patroni/raft_controller.py 22 22 0% 2025s Nov 14 04:29:23 patroni/request.py 62 6 90% 2025s Nov 14 04:29:23 patroni/scripts/__init__.py 0 0 100% 2025s Nov 14 04:29:23 patroni/scripts/aws.py 59 59 0% 2025s Nov 14 04:29:23 patroni/scripts/barman/__init__.py 0 0 100% 2025s Nov 14 04:29:23 patroni/scripts/barman/cli.py 51 51 0% 2025s Nov 14 04:29:23 patroni/scripts/barman/config_switch.py 51 51 0% 2025s Nov 14 04:29:23 patroni/scripts/barman/recover.py 37 37 0% 2025s Nov 14 04:29:23 patroni/scripts/barman/utils.py 94 94 0% 2025s Nov 14 04:29:23 patroni/scripts/wale_restore.py 207 207 0% 2025s Nov 14 04:29:23 patroni/tags.py 38 11 71% 2025s Nov 14 04:29:23 patroni/utils.py 350 228 35% 2025s Nov 14 04:29:23 patroni/validator.py 301 215 29% 2025s Nov 14 04:29:23 patroni/version.py 1 0 100% 2025s Nov 14 04:29:23 patroni/watchdog/__init__.py 2 2 0% 2025s Nov 14 04:29:23 patroni/watchdog/base.py 203 203 0% 2025s Nov 14 04:29:23 patroni/watchdog/linux.py 135 135 0% 2025s Nov 14 04:29:23 -------------------------------------------------------------------------------------------------------- 2025s Nov 14 04:29:23 TOTAL 39824 23871 40% 2025s Nov 14 04:29:23 11 features passed, 0 failed, 1 skipped 2025s Nov 14 04:29:23 44 scenarios passed, 0 failed, 5 skipped 2025s Nov 14 04:29:23 444 steps passed, 0 failed, 61 skipped, 0 undefined 2025s Nov 14 04:29:23 Took 7m13.707s 2025s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2025s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2025s + rm -f '/tmp/pgpass?' 2025s ++ id -u 2025s + '[' 0 -eq 0 ']' 2025s + '[' -x /etc/init.d/zookeeper ']' 2025s + /etc/init.d/zookeeper stop 2025s Stopping zookeeper (via systemctl): zookeeper.service. 2025s autopkgtest [04:29:23]: test acceptance-zookeeper: -----------------------] 2026s acceptance-zookeeper PASS 2026s autopkgtest [04:29:24]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2026s autopkgtest [04:29:24]: test acceptance-raft: preparing testbed 2093s autopkgtest [04:30:31]: testbed dpkg architecture: arm64 2093s autopkgtest [04:30:31]: testbed apt version: 2.9.8 2093s autopkgtest [04:30:31]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2094s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2094s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2094s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 2095s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [991 kB] 2095s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 2095s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [130 kB] 2095s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 2095s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [726 kB] 2095s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [6012 B] 2095s Fetched 2101 kB in 1s (2397 kB/s) 2095s Reading package lists... 2097s Reading package lists... 2097s Building dependency tree... 2097s Reading state information... 2098s Calculating upgrade... 2098s The following packages will be upgraded: 2098s bpfcc-tools bpftrace libbpfcc libgnutls30t64 libjson-glib-1.0-0 2098s libjson-glib-1.0-common libnewt0.52 libutempter0 python3-bpfcc python3-newt 2098s whiptail 2098s 11 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2098s Need to get 4324 kB of archives. 2098s After this operation, 9216 B of additional disk space will be used. 2098s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgnutls30t64 arm64 3.8.8-2ubuntu1 [956 kB] 2099s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-newt arm64 0.52.24-2ubuntu4 [21.2 kB] 2099s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libnewt0.52 arm64 0.52.24-2ubuntu4 [47.2 kB] 2099s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 whiptail arm64 0.52.24-2ubuntu4 [17.6 kB] 2099s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libbpfcc arm64 0.30.0+ds-1ubuntu5 [610 kB] 2099s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bpfcc all 0.30.0+ds-1ubuntu5 [40.4 kB] 2099s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 bpfcc-tools all 0.30.0+ds-1ubuntu5 [697 kB] 2099s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 bpftrace arm64 0.21.2-2ubuntu2 [1854 kB] 2099s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 2099s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-0 arm64 1.10.0+ds-3 [66.5 kB] 2099s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libutempter0 arm64 1.2.1-4 [9646 B] 2099s Fetched 4324 kB in 1s (5595 kB/s) 2100s (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 ... 79924 files and directories currently installed.) 2100s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_arm64.deb ... 2100s Unpacking libgnutls30t64:arm64 (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 2100s Setting up libgnutls30t64:arm64 (3.8.8-2ubuntu1) ... 2100s (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 ... 79924 files and directories currently installed.) 2100s Preparing to unpack .../0-python3-newt_0.52.24-2ubuntu4_arm64.deb ... 2100s Unpacking python3-newt:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2100s Preparing to unpack .../1-libnewt0.52_0.52.24-2ubuntu4_arm64.deb ... 2100s Unpacking libnewt0.52:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2100s Preparing to unpack .../2-whiptail_0.52.24-2ubuntu4_arm64.deb ... 2100s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2100s Preparing to unpack .../3-libbpfcc_0.30.0+ds-1ubuntu5_arm64.deb ... 2100s Unpacking libbpfcc:arm64 (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 2100s Preparing to unpack .../4-python3-bpfcc_0.30.0+ds-1ubuntu5_all.deb ... 2100s Unpacking python3-bpfcc (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 2100s Preparing to unpack .../5-bpfcc-tools_0.30.0+ds-1ubuntu5_all.deb ... 2100s Unpacking bpfcc-tools (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 2100s Preparing to unpack .../6-bpftrace_0.21.2-2ubuntu2_arm64.deb ... 2100s Unpacking bpftrace (0.21.2-2ubuntu2) over (0.21.2-2) ... 2100s Preparing to unpack .../7-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 2100s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 2100s Preparing to unpack .../8-libjson-glib-1.0-0_1.10.0+ds-3_arm64.deb ... 2100s Unpacking libjson-glib-1.0-0:arm64 (1.10.0+ds-3) over (1.10.0+ds-2) ... 2100s Preparing to unpack .../9-libutempter0_1.2.1-4_arm64.deb ... 2100s Unpacking libutempter0:arm64 (1.2.1-4) over (1.2.1-3build1) ... 2100s Setting up libnewt0.52:arm64 (0.52.24-2ubuntu4) ... 2101s Setting up python3-newt:arm64 (0.52.24-2ubuntu4) ... 2101s Setting up libutempter0:arm64 (1.2.1-4) ... 2101s Setting up whiptail (0.52.24-2ubuntu4) ... 2101s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 2101s Setting up libbpfcc:arm64 (0.30.0+ds-1ubuntu5) ... 2101s Setting up python3-bpfcc (0.30.0+ds-1ubuntu5) ... 2101s Setting up bpftrace (0.21.2-2ubuntu2) ... 2101s Setting up libjson-glib-1.0-0:arm64 (1.10.0+ds-3) ... 2101s Setting up bpfcc-tools (0.30.0+ds-1ubuntu5) ... 2101s Processing triggers for man-db (2.12.1-3) ... 2102s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2102s Reading package lists... 2102s Building dependency tree... 2102s Reading state information... 2103s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2103s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2103s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2103s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2103s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2104s Reading package lists... 2104s Reading package lists... 2105s Building dependency tree... 2105s Reading state information... 2105s Calculating upgrade... 2106s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2106s Reading package lists... 2106s Building dependency tree... 2106s Reading state information... 2107s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2113s Reading package lists... 2113s Building dependency tree... 2113s Reading state information... 2114s Starting pkgProblemResolver with broken count: 0 2114s Starting 2 pkgProblemResolver with broken count: 0 2114s Done 2115s The following additional packages will be installed: 2115s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2115s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libtime-duration-perl 2115s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 2115s postgresql-16 postgresql-client-16 postgresql-client-common 2115s postgresql-common python3-behave python3-cdiff python3-click 2115s python3-colorama python3-coverage python3-dateutil python3-parse 2115s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 2115s python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2115s sphinx-rtd-theme-common ssl-cert 2115s Suggested packages: 2115s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 2115s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 2115s Recommended packages: 2115s javascript-common libjson-xs-perl 2115s The following NEW packages will be installed: 2115s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 2115s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 2115s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2115s patroni-doc postgresql postgresql-16 postgresql-client-16 2115s postgresql-client-common postgresql-common python3-behave python3-cdiff 2115s python3-click python3-colorama python3-coverage python3-dateutil 2115s python3-parse python3-parse-type python3-prettytable python3-psutil 2115s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2115s sphinx-rtd-theme-common ssl-cert 2115s 0 upgraded, 38 newly installed, 0 to remove and 0 not upgraded. 2115s Need to get 23.8 MB/23.8 MB of archives. 2115s After this operation, 86.1 MB of additional disk space will be used. 2115s Get:1 /tmp/autopkgtest.dgezgb/5-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [752 B] 2115s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 2115s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 2115s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 2115s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 2115s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 2115s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2115s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 2115s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 2115s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2116s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2116s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 2116s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 2116s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 2116s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 2116s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 2116s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 2116s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 2116s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 2116s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 2116s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 2116s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 2116s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 2116s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2116s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 2116s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 2116s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 2116s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 2116s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 2116s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 2116s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 2116s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 2116s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 2117s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 2117s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 2117s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 2117s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 2117s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 2117s Preconfiguring packages ... 2117s Fetched 23.8 MB in 2s (11.9 MB/s) 2117s Selecting previously unselected package fonts-lato. 2117s (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 ... 79925 files and directories currently installed.) 2117s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2117s Unpacking fonts-lato (2.015-1) ... 2117s Selecting previously unselected package libjson-perl. 2117s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2117s Unpacking libjson-perl (4.10000-1) ... 2117s Selecting previously unselected package postgresql-client-common. 2117s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 2117s Unpacking postgresql-client-common (262) ... 2117s Selecting previously unselected package ssl-cert. 2117s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 2117s Unpacking ssl-cert (1.1.2ubuntu2) ... 2117s Selecting previously unselected package postgresql-common. 2117s Preparing to unpack .../04-postgresql-common_262_all.deb ... 2117s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2117s Unpacking postgresql-common (262) ... 2118s Selecting previously unselected package fonts-font-awesome. 2118s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2118s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2118s Selecting previously unselected package libio-pty-perl. 2118s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 2118s Unpacking libio-pty-perl (1:1.20-1build3) ... 2118s Selecting previously unselected package libipc-run-perl. 2118s Preparing to unpack .../07-libipc-run-perl_20231003.0-2_all.deb ... 2118s Unpacking libipc-run-perl (20231003.0-2) ... 2118s Selecting previously unselected package libjs-jquery. 2118s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2118s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2118s Selecting previously unselected package libjs-underscore. 2118s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2118s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2118s Selecting previously unselected package libjs-sphinxdoc. 2118s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 2118s Unpacking libjs-sphinxdoc (7.4.7-4) ... 2118s Selecting previously unselected package libpq5:arm64. 2118s Preparing to unpack .../11-libpq5_17.0-1_arm64.deb ... 2118s Unpacking libpq5:arm64 (17.0-1) ... 2118s Selecting previously unselected package libtime-duration-perl. 2118s Preparing to unpack .../12-libtime-duration-perl_1.21-2_all.deb ... 2118s Unpacking libtime-duration-perl (1.21-2) ... 2118s Selecting previously unselected package libtimedate-perl. 2118s Preparing to unpack .../13-libtimedate-perl_2.3300-2_all.deb ... 2118s Unpacking libtimedate-perl (2.3300-2) ... 2118s Selecting previously unselected package libxslt1.1:arm64. 2118s Preparing to unpack .../14-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 2118s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 2118s Selecting previously unselected package moreutils. 2118s Preparing to unpack .../15-moreutils_0.69-1_arm64.deb ... 2118s Unpacking moreutils (0.69-1) ... 2118s Selecting previously unselected package python3-ydiff. 2118s Preparing to unpack .../16-python3-ydiff_1.3-1_all.deb ... 2118s Unpacking python3-ydiff (1.3-1) ... 2118s Selecting previously unselected package python3-cdiff. 2118s Preparing to unpack .../17-python3-cdiff_1.3-1_all.deb ... 2118s Unpacking python3-cdiff (1.3-1) ... 2118s Selecting previously unselected package python3-colorama. 2118s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 2118s Unpacking python3-colorama (0.4.6-4) ... 2118s Selecting previously unselected package python3-click. 2118s Preparing to unpack .../19-python3-click_8.1.7-2_all.deb ... 2118s Unpacking python3-click (8.1.7-2) ... 2118s Selecting previously unselected package python3-six. 2118s Preparing to unpack .../20-python3-six_1.16.0-7_all.deb ... 2118s Unpacking python3-six (1.16.0-7) ... 2118s Selecting previously unselected package python3-dateutil. 2118s Preparing to unpack .../21-python3-dateutil_2.9.0-2_all.deb ... 2118s Unpacking python3-dateutil (2.9.0-2) ... 2118s Selecting previously unselected package python3-wcwidth. 2118s Preparing to unpack .../22-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2118s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2118s Selecting previously unselected package python3-prettytable. 2118s Preparing to unpack .../23-python3-prettytable_3.10.1-1_all.deb ... 2118s Unpacking python3-prettytable (3.10.1-1) ... 2118s Selecting previously unselected package python3-psutil. 2118s Preparing to unpack .../24-python3-psutil_5.9.8-2build2_arm64.deb ... 2118s Unpacking python3-psutil (5.9.8-2build2) ... 2118s Selecting previously unselected package python3-psycopg2. 2118s Preparing to unpack .../25-python3-psycopg2_2.9.9-2_arm64.deb ... 2118s Unpacking python3-psycopg2 (2.9.9-2) ... 2118s Selecting previously unselected package python3-pysyncobj. 2118s Preparing to unpack .../26-python3-pysyncobj_0.3.12-1_all.deb ... 2118s Unpacking python3-pysyncobj (0.3.12-1) ... 2118s Selecting previously unselected package patroni. 2118s Preparing to unpack .../27-patroni_3.3.1-1_all.deb ... 2118s Unpacking patroni (3.3.1-1) ... 2118s Selecting previously unselected package sphinx-rtd-theme-common. 2118s Preparing to unpack .../28-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 2118s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2119s Selecting previously unselected package patroni-doc. 2119s Preparing to unpack .../29-patroni-doc_3.3.1-1_all.deb ... 2119s Unpacking patroni-doc (3.3.1-1) ... 2119s Selecting previously unselected package postgresql-client-16. 2119s Preparing to unpack .../30-postgresql-client-16_16.4-3_arm64.deb ... 2119s Unpacking postgresql-client-16 (16.4-3) ... 2119s Selecting previously unselected package postgresql-16. 2119s Preparing to unpack .../31-postgresql-16_16.4-3_arm64.deb ... 2119s Unpacking postgresql-16 (16.4-3) ... 2119s Selecting previously unselected package postgresql. 2119s Preparing to unpack .../32-postgresql_16+262_all.deb ... 2119s Unpacking postgresql (16+262) ... 2119s Selecting previously unselected package python3-parse. 2119s Preparing to unpack .../33-python3-parse_1.20.2-1_all.deb ... 2119s Unpacking python3-parse (1.20.2-1) ... 2119s Selecting previously unselected package python3-parse-type. 2119s Preparing to unpack .../34-python3-parse-type_0.6.4-1_all.deb ... 2119s Unpacking python3-parse-type (0.6.4-1) ... 2119s Selecting previously unselected package python3-behave. 2119s Preparing to unpack .../35-python3-behave_1.2.6-6_all.deb ... 2119s Unpacking python3-behave (1.2.6-6) ... 2119s Selecting previously unselected package python3-coverage. 2119s Preparing to unpack .../36-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 2119s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2119s Selecting previously unselected package autopkgtest-satdep. 2119s Preparing to unpack .../37-5-autopkgtest-satdep.deb ... 2119s Unpacking autopkgtest-satdep (0) ... 2119s Setting up postgresql-client-common (262) ... 2119s Setting up fonts-lato (2.015-1) ... 2119s Setting up libio-pty-perl (1:1.20-1build3) ... 2119s Setting up python3-pysyncobj (0.3.12-1) ... 2120s Setting up python3-colorama (0.4.6-4) ... 2120s Setting up python3-ydiff (1.3-1) ... 2120s Setting up libpq5:arm64 (17.0-1) ... 2120s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2120s Setting up python3-click (8.1.7-2) ... 2120s Setting up python3-psutil (5.9.8-2build2) ... 2121s Setting up python3-six (1.16.0-7) ... 2121s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2121s Setting up ssl-cert (1.1.2ubuntu2) ... 2121s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2122s Setting up python3-psycopg2 (2.9.9-2) ... 2122s Setting up libipc-run-perl (20231003.0-2) ... 2122s Setting up libtime-duration-perl (1.21-2) ... 2122s Setting up libtimedate-perl (2.3300-2) ... 2122s Setting up python3-parse (1.20.2-1) ... 2122s Setting up libjson-perl (4.10000-1) ... 2122s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 2122s Setting up python3-dateutil (2.9.0-2) ... 2122s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2122s Setting up python3-prettytable (3.10.1-1) ... 2122s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2122s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2122s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2122s Setting up moreutils (0.69-1) ... 2122s Setting up postgresql-client-16 (16.4-3) ... 2123s 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 2123s Setting up python3-cdiff (1.3-1) ... 2123s Setting up python3-parse-type (0.6.4-1) ... 2123s Setting up postgresql-common (262) ... 2123s 2123s Creating config file /etc/postgresql-common/createcluster.conf with new version 2124s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2124s Removing obsolete dictionary files: 2124s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2125s Setting up libjs-sphinxdoc (7.4.7-4) ... 2125s Setting up python3-behave (1.2.6-6) ... 2125s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2125s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2125s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2125s """Registers a custom type that will be available to "parse" 2125s Setting up patroni (3.3.1-1) ... 2125s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2126s Setting up postgresql-16 (16.4-3) ... 2126s Creating new PostgreSQL cluster 16/main ... 2126s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2126s The files belonging to this database system will be owned by user "postgres". 2126s This user must also own the server process. 2126s 2126s The database cluster will be initialized with locale "C.UTF-8". 2126s The default database encoding has accordingly been set to "UTF8". 2126s The default text search configuration will be set to "english". 2126s 2126s Data page checksums are disabled. 2126s 2126s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2126s creating subdirectories ... ok 2126s selecting dynamic shared memory implementation ... posix 2126s selecting default max_connections ... 100 2126s selecting default shared_buffers ... 128MB 2126s selecting default time zone ... Etc/UTC 2126s creating configuration files ... ok 2126s running bootstrap script ... ok 2127s performing post-bootstrap initialization ... ok 2127s syncing data to disk ... ok 2130s Setting up patroni-doc (3.3.1-1) ... 2130s Setting up postgresql (16+262) ... 2130s Setting up autopkgtest-satdep (0) ... 2130s Processing triggers for man-db (2.12.1-3) ... 2131s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2135s (Reading database ... 82944 files and directories currently installed.) 2135s Removing autopkgtest-satdep (0) ... 2137s autopkgtest [04:31:15]: test acceptance-raft: debian/tests/acceptance raft 2137s autopkgtest [04:31:15]: test acceptance-raft: [----------------------- 2137s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2137s ++ ls -1r /usr/lib/postgresql/ 2137s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2137s + '[' 16 == 10 -o 16 == 11 ']' 2137s + echo '### PostgreSQL 16 acceptance-raft ###' 2137s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 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' 2137s ### PostgreSQL 16 acceptance-raft ### 2143s Nov 14 04:31:21 Feature: basic replication # features/basic_replication.feature:1 2143s Nov 14 04:31:21 We should check that the basic bootstrapping, replication and failover works. 2143s Nov 14 04:31:21 Scenario: check replication of a single table # features/basic_replication.feature:4 2143s Nov 14 04:31:21 Given I start postgres0 # features/steps/basic_replication.py:8 2146s Nov 14 04:31:24 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2146s Nov 14 04:31:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2146s Nov 14 04:31: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 2146s Nov 14 04:31:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 2146s Nov 14 04:31:24 When I start postgres1 # features/steps/basic_replication.py:8 2156s Nov 14 04:31:34 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2160s Nov 14 04:31:38 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2160s Nov 14 04:31:38 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2160s Nov 14 04:31:38 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2161s Nov 14 04:31:39 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2161s Nov 14 04:31:39 2161s Nov 14 04:31:39 Scenario: check restart of sync replica # features/basic_replication.feature:17 2161s Nov 14 04:31:39 Given I shut down postgres2 # features/steps/basic_replication.py:29 2162s Nov 14 04:31:40 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2162s Nov 14 04:31:40 When I start postgres2 # features/steps/basic_replication.py:8 2167s Nov 14 04:31:44 And I shut down postgres1 # features/steps/basic_replication.py:29 2170s Nov 14 04:31:47 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2170s Nov 14 04:31:47 When I start postgres1 # features/steps/basic_replication.py:8 2173s Nov 14 04:31:51 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2174s Nov 14 04:31:52 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2174s Nov 14 04:31:52 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2174s Nov 14 04:31:52 2174s Nov 14 04:31:52 Scenario: check stuck sync replica # features/basic_replication.feature:28 2174s Nov 14 04:31:52 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 2174s Nov 14 04:31:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2174s Nov 14 04:31:52 And I create table on postgres0 # features/steps/basic_replication.py:73 2174s Nov 14 04:31:52 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2175s Nov 14 04:31:53 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2175s Nov 14 04:31:53 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2175s Nov 14 04:31:53 And I load data on postgres0 # features/steps/basic_replication.py:84 2175s Nov 14 04:31:53 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2178s Nov 14 04:31:56 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2178s Nov 14 04:31:56 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2178s Nov 14 04:31:56 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2178s Nov 14 04:31:56 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 2178s Nov 14 04:31:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2178s Nov 14 04:31:56 And I drop table on postgres0 # features/steps/basic_replication.py:73 2178s Nov 14 04:31:56 2178s Nov 14 04:31:56 Scenario: check multi sync replication # features/basic_replication.feature:44 2178s Nov 14 04:31:56 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 2179s Nov 14 04:31:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2179s Nov 14 04:31:56 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2183s Nov 14 04:32:00 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2183s Nov 14 04:32:01 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2183s Nov 14 04:32:01 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 2183s Nov 14 04:32:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2183s Nov 14 04:32:01 And I shut down postgres1 # features/steps/basic_replication.py:29 2186s Nov 14 04:32:04 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2187s Nov 14 04:32:05 When I start postgres1 # features/steps/basic_replication.py:8 2190s Nov 14 04:32:08 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2191s Nov 14 04:32:09 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2191s Nov 14 04:32:09 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2191s Nov 14 04:32:09 2191s Nov 14 04:32:09 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2191s Nov 14 04:32:09 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2193s Nov 14 04:32:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2193s Nov 14 04:32:11 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2195s Nov 14 04:32:13 And I shut down postgres0 # features/steps/basic_replication.py:29 2196s Nov 14 04:32:14 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2197s Nov 14 04:32:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2197s Nov 14 04:32:15 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2216s Nov 14 04:32:34 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2218s Nov 14 04:32:36 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2218s Nov 14 04:32:36 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 2219s Nov 14 04:32:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2219s Nov 14 04:32:37 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2219s Nov 14 04:32:37 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2221s Nov 14 04:32:39 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2221s Nov 14 04:32:39 2221s Nov 14 04:32:39 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2221s Nov 14 04:32:39 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2221s Nov 14 04:32:39 And I start postgres0 # features/steps/basic_replication.py:8 2221s Nov 14 04:32:39 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2225s Nov 14 04:32:43 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2225s Nov 14 04:32:43 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2229s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2244s Nov 14 04:33:02 2244s Nov 14 04:33:02 @reject-duplicate-name 2244s Nov 14 04:33:02 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2244s Nov 14 04:33:02 Given I start duplicate postgres0 on port 8011 # None 2244s Nov 14 04:33:02 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 2244s Nov 14 04:33:02 2244s Nov 14 04:33:02 Feature: cascading replication # features/cascading_replication.feature:1 2244s Nov 14 04:33:02 We should check that patroni can do base backup and streaming from the replica 2244s Nov 14 04:33:02 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2244s Nov 14 04:33:02 Given I start postgres0 # features/steps/basic_replication.py:8 2253s Nov 14 04:33:11 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2253s Nov 14 04:33:11 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2256s Nov 14 04:33:14 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2257s Nov 14 04:33:15 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2257s Nov 14 04:33:15 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2257s Nov 14 04:33:15 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2257s Nov 14 04:33:15 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2260s Nov 14 04:33:18 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2262s Nov 14 04:33:20 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2279s Nov 14 04:33:37 2279s SKIP FEATURE citus: Citus extenstion isn't available 2279s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2279s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2279s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2279s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2279s 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 2279s Nov 14 04:33:37 Feature: citus # features/citus.feature:1 2279s Nov 14 04:33:37 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2279s Nov 14 04:33:37 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2279s Nov 14 04:33:37 Given I start postgres0 in citus group 0 # None 2279s Nov 14 04:33:37 And I start postgres2 in citus group 1 # None 2279s Nov 14 04:33:37 Then postgres0 is a leader in a group 0 after 10 seconds # None 2279s Nov 14 04:33:37 And postgres2 is a leader in a group 1 after 10 seconds # None 2279s Nov 14 04:33:37 When I start postgres1 in citus group 0 # None 2279s Nov 14 04:33:37 And I start postgres3 in citus group 1 # None 2279s Nov 14 04:33:37 Then replication works from postgres0 to postgres1 after 15 seconds # None 2279s Nov 14 04:33:37 Then replication works from postgres2 to postgres3 after 15 seconds # None 2279s Nov 14 04:33:37 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2279s Nov 14 04:33:37 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2279s Nov 14 04:33:37 2279s Nov 14 04:33:37 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2279s Nov 14 04:33:37 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2279s Nov 14 04:33:37 Then postgres1 role is the primary after 10 seconds # None 2279s Nov 14 04:33:37 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2279s Nov 14 04:33:37 And replication works from postgres1 to postgres0 after 15 seconds # None 2279s Nov 14 04:33:37 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2279s Nov 14 04:33:37 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2279s Nov 14 04:33:37 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2279s Nov 14 04:33:37 Then postgres0 role is the primary after 10 seconds # None 2279s Nov 14 04:33:37 And replication works from postgres0 to postgres1 after 15 seconds # None 2279s Nov 14 04:33:37 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2279s Nov 14 04:33:37 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2279s Nov 14 04:33:37 2279s Nov 14 04:33:37 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2279s Nov 14 04:33:37 Given I create a distributed table on postgres0 # None 2279s Nov 14 04:33:37 And I start a thread inserting data on postgres0 # None 2279s Nov 14 04:33:37 When I run patronictl.py switchover batman --group 1 --force # None 2279s Nov 14 04:33:37 Then I receive a response returncode 0 # None 2279s Nov 14 04:33:37 And postgres3 role is the primary after 10 seconds # None 2279s Nov 14 04:33:37 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2279s Nov 14 04:33:37 And replication works from postgres3 to postgres2 after 15 seconds # None 2279s Nov 14 04:33:37 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2279s Nov 14 04:33:37 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2279s Nov 14 04:33:37 And a thread is still alive # None 2279s Nov 14 04:33:37 When I run patronictl.py switchover batman --group 1 --force # None 2279s Nov 14 04:33:37 Then I receive a response returncode 0 # None 2279s Nov 14 04:33:37 And postgres2 role is the primary after 10 seconds # None 2279s Nov 14 04:33:37 And replication works from postgres2 to postgres3 after 15 seconds # None 2279s Nov 14 04:33:37 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2279s Nov 14 04:33:37 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2279s Nov 14 04:33:37 And a thread is still alive # None 2279s Nov 14 04:33:37 When I stop a thread # None 2279s Nov 14 04:33:37 Then a distributed table on postgres0 has expected rows # None 2279s Nov 14 04:33:37 2279s Nov 14 04:33:37 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2279s Nov 14 04:33:37 Given I cleanup a distributed table on postgres0 # None 2279s Nov 14 04:33:37 And I start a thread inserting data on postgres0 # None 2279s Nov 14 04:33:37 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2279s Nov 14 04:33:37 Then I receive a response returncode 0 # None 2279s Nov 14 04:33:37 And postgres2 role is the primary after 10 seconds # None 2279s Nov 14 04:33:37 And replication works from postgres2 to postgres3 after 15 seconds # None 2279s Nov 14 04:33:37 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2279s Nov 14 04:33:37 And a thread is still alive # None 2279s Nov 14 04:33:37 When I stop a thread # None 2279s Nov 14 04:33:37 Then a distributed table on postgres0 has expected rows # None 2285s Nov 14 04:33:43 2285s Nov 14 04:33:43 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2285s Nov 14 04:33:43 Given I start postgres4 in citus group 2 # None 2285s Nov 14 04:33:43 Then postgres4 is a leader in a group 2 after 10 seconds # None 2285s Nov 14 04:33:43 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2285s Nov 14 04:33:43 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2285s Nov 14 04:33:43 Then I receive a response returncode 0 # None 2285s Nov 14 04:33:43 And I receive a response output "+ttl: 20" # None 2285s Nov 14 04:33:43 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2285s Nov 14 04:33:43 When I shut down postgres4 # None 2285s Nov 14 04:33:43 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2285s Nov 14 04:33:43 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2285s Nov 14 04:33:43 Then a transaction finishes in 20 seconds # None 2285s Nov 14 04:33:43 2285s Nov 14 04:33:43 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2285s Nov 14 04:33:43 We should check that patroni can bootstrap a new cluster from a backup 2285s Nov 14 04:33:43 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2285s Nov 14 04:33:43 Given I start postgres0 # features/steps/basic_replication.py:8 2288s Nov 14 04:33:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2288s Nov 14 04:33:46 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2288s Nov 14 04:33:46 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2292s Nov 14 04:33:50 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2293s Nov 14 04:33:51 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2293s Nov 14 04:33:51 2293s Nov 14 04:33:51 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2293s Nov 14 04:33:51 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2293s Nov 14 04:33:51 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2294s Nov 14 04:33:52 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2299s Nov 14 04:33:57 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2299s Nov 14 04:33:57 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2316s Nov 14 04:34:14 2316s Nov 14 04:34:14 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2316s Nov 14 04:34:14 We should check the basic dcs failsafe mode functioning 2316s Nov 14 04:34:14 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2316s Nov 14 04:34:14 Given I start postgres0 # features/steps/basic_replication.py:8 2319s Nov 14 04:34:17 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2319s Nov 14 04:34:17 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2319s Nov 14 04:34:17 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 2319s Nov 14 04:34:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 2319s Nov 14 04:34:17 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2319s Nov 14 04:34:17 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2320s Nov 14 04:34:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 2320s Nov 14 04:34:17 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2320s Nov 14 04:34:17 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 2320s Nov 14 04:34:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 2320s Nov 14 04:34:18 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 2320s Nov 14 04:34:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 2320s Nov 14 04:34:18 2320s Nov 14 04:34:18 @dcs-failsafe 2320s Nov 14 04:34:18 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2320s Nov 14 04:34:18 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2320s Nov 14 04:34:18 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 2324s Nov 14 04:34:22 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2324s Nov 14 04:34:22 2324s Nov 14 04:34:22 @dcs-failsafe 2324s Nov 14 04:34:22 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2324s Nov 14 04:34:22 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2324s Nov 14 04:34:22 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2324s Nov 14 04:34:22 And I shut down postgres0 # features/steps/basic_replication.py:29 2326s Nov 14 04:34:24 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2329s Nov 14 04:34:27 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2330s Nov 14 04:34:27 2330s Nov 14 04:34:27 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2330s Nov 14 04:34:27 Given I start postgres0 # features/steps/basic_replication.py:8 2332s Nov 14 04:34:30 And I start postgres1 # features/steps/basic_replication.py:8 2332s Nov 14 04:34:30 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2333s Nov 14 04:34:31 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2333s Nov 14 04:34:31 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2339s Nov 14 04:34:37 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2339s Nov 14 04:34:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2339s Nov 14 04:34:37 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2339s Nov 14 04:34:37 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2339s Nov 14 04:34:37 2339s Nov 14 04:34:37 @dcs-failsafe @slot-advance 2339s Nov 14 04:34:37 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2339s Nov 14 04:34:37 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2339s Nov 14 04:34:37 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2340s Nov 14 04:34:38 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2342s Nov 14 04:34:40 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2342s Nov 14 04:34:40 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 2347s Nov 14 04:34:45 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2347s Nov 14 04:34:45 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2347s Nov 14 04:34:45 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2347s Nov 14 04:34:45 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2347s Nov 14 04:34:45 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2347s Nov 14 04:34:45 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2354s Nov 14 04:34:52 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2354s Nov 14 04:34:52 2354s Nov 14 04:34:52 @dcs-failsafe 2354s Nov 14 04:34:52 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2354s Nov 14 04:34:52 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2354s Nov 14 04:34:52 And I kill postgres1 # features/steps/basic_replication.py:34 2355s Nov 14 04:34:53 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2355s Nov 14 04:34:53 waiting for server to shut down.... done 2355s Nov 14 04:34:53 server stopped 2355s Nov 14 04:34:53 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2357s Nov 14 04:34:55 2357s Nov 14 04:34:55 @dcs-failsafe 2357s Nov 14 04:34:55 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2357s Nov 14 04:34:55 Given I kill postgres0 # features/steps/basic_replication.py:34 2358s Nov 14 04:34:56 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2358s Nov 14 04:34:56 waiting for server to shut down.... done 2358s Nov 14 04:34:56 server stopped 2358s Nov 14 04:34:56 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2358s Nov 14 04:34:56 When I start postgres1 # features/steps/basic_replication.py:8 2361s Nov 14 04:34:59 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2362s Nov 14 04:35:00 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2363s Nov 14 04:35:01 2363s Nov 14 04:35:01 @dcs-failsafe 2363s Nov 14 04:35:01 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2363s Nov 14 04:35:01 Given I start postgres0 # features/steps/basic_replication.py:8 2368s Nov 14 04:35:05 And I start postgres2 # features/steps/basic_replication.py:8 2373s Nov 14 04:35:11 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2373s Nov 14 04:35:11 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2373s Nov 14 04:35:11 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2374s Nov 14 04:35:12 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2375s Nov 14 04:35:13 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2376s Nov 14 04:35:14 2376s Nov 14 04:35:14 @dcs-failsafe @slot-advance 2376s Nov 14 04:35:14 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2376s Nov 14 04:35:14 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 2376s Nov 14 04:35:14 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2380s Nov 14 04:35:18 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2381s Nov 14 04:35:19 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2381s Nov 14 04:35:19 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2383s Nov 14 04:35:21 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2383s Nov 14 04:35:21 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2383s Nov 14 04:35:21 2383s Nov 14 04:35:21 @dcs-failsafe 2383s Nov 14 04:35:21 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 2383s Nov 14 04:35:21 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2383s Nov 14 04:35:21 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 2387s Nov 14 04:35:25 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2387s Nov 14 04:35:25 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2387s Nov 14 04:35:25 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2387s Nov 14 04:35:25 2387s Nov 14 04:35:25 @dcs-failsafe @slot-advance 2387s Nov 14 04:35:25 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 2387s Nov 14 04:35:25 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2387s Nov 14 04:35:25 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2388s Nov 14 04:35:26 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2388s Nov 14 04:35:26 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2388s Nov 14 04:35:26 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2394s Nov 14 04:35:32 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2394s Nov 14 04:35:32 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2394s Nov 14 04:35:32 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2394s Nov 14 04:35:32 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2407s Nov 14 04:35:45 2407s Nov 14 04:35:45 Feature: ignored slots # features/ignored_slots.feature:1 2407s Nov 14 04:35:45 2407s Nov 14 04:35:45 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2407s Nov 14 04:35:45 Given I start postgres1 # features/steps/basic_replication.py:8 2416s Nov 14 04:35:54 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2416s Nov 14 04:35:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2416s Nov 14 04:35:54 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 2416s Nov 14 04:35:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 2416s Nov 14 04:35:54 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2416s Nov 14 04:35:54 When I shut down postgres1 # features/steps/basic_replication.py:29 2418s Nov 14 04:35:56 And I start postgres1 # features/steps/basic_replication.py:8 2421s Nov 14 04:35:59 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2424s Nov 14 04:36:02 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2425s Nov 14 04:36:03 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2425s Nov 14 04:36:03 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2425s Nov 14 04:36:03 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2425s Nov 14 04:36:03 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2425s Nov 14 04:36:03 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2425s Nov 14 04:36:03 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2425s Nov 14 04:36:03 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2425s Nov 14 04:36:03 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2425s Nov 14 04:36:03 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2425s Nov 14 04:36:03 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2425s Nov 14 04:36:03 When I start postgres0 # features/steps/basic_replication.py:8 2429s Nov 14 04:36:07 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2429s Nov 14 04:36:07 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2429s Nov 14 04:36:07 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2430s Nov 14 04:36:08 When I shut down postgres1 # features/steps/basic_replication.py:29 2432s Nov 14 04:36:10 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2433s Nov 14 04:36:11 When I start postgres1 # features/steps/basic_replication.py:8 2436s Nov 14 04:36:14 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2436s Nov 14 04:36:14 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2437s Nov 14 04:36:15 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2439s Nov 14 04:36:17 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2439s Nov 14 04:36: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 2439s Nov 14 04:36: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 2439s Nov 14 04:36: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 2439s Nov 14 04:36:17 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2439s Nov 14 04:36:17 When I shut down postgres0 # features/steps/basic_replication.py:29 2441s Nov 14 04:36:19 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2442s Nov 14 04:36:20 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2442s Nov 14 04:36:20 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2442s Nov 14 04:36:20 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2442s Nov 14 04:36:20 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2451s Nov 14 04:36:29 2451s Nov 14 04:36:29 Feature: nostream node # features/nostream_node.feature:1 2451s Nov 14 04:36:29 2451s Nov 14 04:36:29 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2451s Nov 14 04:36:29 When I start postgres0 # features/steps/basic_replication.py:8 2460s Nov 14 04:36:38 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2464s Nov 14 04:36:42 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2464s Nov 14 04:36:42 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2469s Nov 14 04:36:47 2471s Nov 14 04:36:47 @slot-advance 2471s Nov 14 04:36:47 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2471s Nov 14 04:36:47 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2471s Nov 14 04:36:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 2471s Nov 14 04:36:47 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2471s Nov 14 04:36:49 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2472s Nov 14 04:36:50 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2476s Nov 14 04:36:54 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2476s Nov 14 04:36:54 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2476s Nov 14 04:36:54 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2492s Nov 14 04:37:10 2492s Nov 14 04:37:10 Feature: patroni api # features/patroni_api.feature:1 2492s Nov 14 04:37:10 We should check that patroni correctly responds to valid and not-valid API requests. 2492s Nov 14 04:37:10 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2492s Nov 14 04:37:10 Given I start postgres0 # features/steps/basic_replication.py:8 2495s Nov 14 04:37:13 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2496s Nov 14 04:37:14 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2496s Nov 14 04:37:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 2496s Nov 14 04:37:14 And I receive a response state running # features/steps/patroni_api.py:98 2496s Nov 14 04:37:14 And I receive a response role master # features/steps/patroni_api.py:98 2496s Nov 14 04:37:14 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2496s Nov 14 04:37:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 2496s Nov 14 04:37:14 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2496s Nov 14 04:37:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 2496s Nov 14 04:37:14 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2496s Nov 14 04:37:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 2496s Nov 14 04:37:14 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2496s Nov 14 04:37:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 2496s Nov 14 04:37:14 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2496s Nov 14 04:37:14 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2498s Nov 14 04:37:16 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2498s Nov 14 04:37:16 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2498s Nov 14 04:37:16 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2498s Nov 14 04:37:16 Then I receive a response code 412 # features/steps/patroni_api.py:98 2498s Nov 14 04:37:16 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2498s Nov 14 04:37:16 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2498s Nov 14 04:37:16 Then I receive a response code 400 # features/steps/patroni_api.py:98 2498s Nov 14 04:37:16 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2498s Nov 14 04:37:16 Then I receive a response code 400 # features/steps/patroni_api.py:98 2498s Nov 14 04:37:16 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2498s Nov 14 04:37:16 2498s Nov 14 04:37:16 Scenario: check local configuration reload # features/patroni_api.feature:32 2498s Nov 14 04:37:16 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2498s Nov 14 04:37:16 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2498s Nov 14 04:37:16 Then I receive a response code 202 # features/steps/patroni_api.py:98 2498s Nov 14 04:37:16 2498s Nov 14 04:37:16 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2498s Nov 14 04:37:16 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 2498s Nov 14 04:37:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2498s Nov 14 04:37:16 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2500s Nov 14 04:37:18 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2500s Nov 14 04:37:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 2500s Nov 14 04:37:18 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2500s Nov 14 04:37:18 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2500s Nov 14 04:37:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 2500s Nov 14 04:37:18 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2500s Nov 14 04:37:18 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2504s Nov 14 04:37:22 2504s Nov 14 04:37:22 Scenario: check the scheduled restart # features/patroni_api.feature:49 2504s Nov 14 04:37:22 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2506s Nov 14 04:37:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2506s Nov 14 04:37:24 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2506s Nov 14 04:37:24 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2506s Nov 14 04:37:24 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 2506s Nov 14 04:37:24 Then I receive a response code 202 # features/steps/patroni_api.py:98 2506s Nov 14 04:37:24 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2514s Nov 14 04:37:32 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2514s Nov 14 04:37:32 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 2514s Nov 14 04:37:32 Then I receive a response code 202 # features/steps/patroni_api.py:98 2514s Nov 14 04:37:32 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 2521s Nov 14 04:37:39 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2523s Nov 14 04:37:40 2523s Nov 14 04:37:40 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2523s Nov 14 04:37:40 Given I start postgres1 # features/steps/basic_replication.py:8 2528s Nov 14 04:37:46 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2529s Nov 14 04:37:47 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2531s Nov 14 04:37:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2531s Nov 14 04:37:49 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2531s Nov 14 04:37:49 waiting for server to shut down.... done 2531s Nov 14 04:37:49 server stopped 2531s Nov 14 04:37:49 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2531s Nov 14 04:37:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 2531s Nov 14 04:37:49 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2532s Nov 14 04:37:50 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2535s Nov 14 04:37:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2535s Nov 14 04:37:53 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2536s Nov 14 04:37:54 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2538s Nov 14 04:37:56 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2538s Nov 14 04:37:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2538s Nov 14 04:37:56 And I receive a response state running # features/steps/patroni_api.py:98 2538s Nov 14 04:37:56 And I receive a response role replica # features/steps/patroni_api.py:98 2538s Nov 14 04:37:56 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2542s Nov 14 04:38:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2542s Nov 14 04:38:00 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2542s Nov 14 04:38:00 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2543s Nov 14 04:38:01 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2543s Nov 14 04:38:01 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2545s Nov 14 04:38:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2545s Nov 14 04:38:03 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2545s Nov 14 04:38:03 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2546s Nov 14 04:38:04 2546s Nov 14 04:38:04 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2546s Nov 14 04:38:04 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 2548s Nov 14 04:38:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2548s Nov 14 04:38:06 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2548s Nov 14 04:38:06 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2548s Nov 14 04:38:06 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2553s Nov 14 04:38:11 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2553s Nov 14 04:38:11 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2554s Nov 14 04:38:12 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2555s Nov 14 04:38:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 2555s Nov 14 04:38:12 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2555s Nov 14 04:38:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 2555s Nov 14 04:38:13 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2555s Nov 14 04:38:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 2555s Nov 14 04:38:13 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2555s Nov 14 04:38:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 2555s Nov 14 04:38:13 2555s Nov 14 04:38:13 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2555s Nov 14 04:38:13 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2556s Nov 14 04:38:14 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2556s Nov 14 04:38:14 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2556s Nov 14 04:38:14 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2558s Nov 14 04:38:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2558s Nov 14 04:38:16 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2560s Nov 14 04:38:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2560s Nov 14 04:38:18 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2570s Nov 14 04:38:28 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2570s Nov 14 04:38:28 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2573s Nov 14 04:38:31 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2573s Nov 14 04:38:31 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2574s Nov 14 04:38:32 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2574s Nov 14 04:38:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2574s Nov 14 04:38:32 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2574s Nov 14 04:38:32 Then I receive a response code 503 # features/steps/patroni_api.py:98 2574s Nov 14 04:38:32 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2574s Nov 14 04:38:32 Then I receive a response code 503 # features/steps/patroni_api.py:98 2574s Nov 14 04:38:32 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2574s Nov 14 04:38:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2586s Nov 14 04:38:43 2586s Nov 14 04:38:43 Feature: permanent slots # features/permanent_slots.feature:1 2586s Nov 14 04:38:43 2586s Nov 14 04:38:43 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2586s Nov 14 04:38:43 Given I start postgres0 # features/steps/basic_replication.py:8 2595s Nov 14 04:38:53 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2595s Nov 14 04:38:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2595s Nov 14 04:38:53 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 2595s Nov 14 04:38:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 2595s Nov 14 04:38:53 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2595s Nov 14 04:38:53 When I start postgres1 # features/steps/basic_replication.py:8 2598s Nov 14 04:38:56 And I start postgres2 # features/steps/basic_replication.py:8 2601s Nov 14 04:38:59 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2605s Nov 14 04:39:03 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2605s Nov 14 04:39:03 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2605s Nov 14 04:39:03 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2605s Nov 14 04:39:03 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2605s Nov 14 04:39:03 2605s Nov 14 04:39:03 @slot-advance 2605s Nov 14 04:39:03 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2605s Nov 14 04:39:03 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2608s Nov 14 04:39:06 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 2608s Nov 14 04:39:06 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2609s Nov 14 04:39:07 2609s Nov 14 04:39:07 @slot-advance 2609s Nov 14 04:39:07 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2609s Nov 14 04:39:07 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2614s Nov 14 04:39:12 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2614s Nov 14 04:39:12 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2615s Nov 14 04:39:13 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2616s Nov 14 04:39:14 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2616s Nov 14 04:39:14 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2616s Nov 14 04:39:14 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2616s Nov 14 04:39:14 2616s Nov 14 04:39:14 @slot-advance 2616s Nov 14 04:39:14 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2616s Nov 14 04:39:14 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2616s Nov 14 04:39:14 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2616s Nov 14 04:39:14 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2616s Nov 14 04:39:14 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2616s Nov 14 04:39:14 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2616s Nov 14 04:39:14 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2616s Nov 14 04:39:14 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2616s Nov 14 04:39:14 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2616s Nov 14 04:39:14 2616s Nov 14 04:39:14 @slot-advance 2616s Nov 14 04:39:14 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2616s Nov 14 04:39:14 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2616s Nov 14 04:39:14 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2616s Nov 14 04:39:14 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2616s Nov 14 04:39:14 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2618s Nov 14 04:39:16 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2618s Nov 14 04:39:16 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2618s Nov 14 04:39:16 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2618s Nov 14 04:39:16 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2618s Nov 14 04:39:16 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2618s Nov 14 04:39:16 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2618s Nov 14 04:39:16 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2620s Nov 14 04:39:18 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2620s Nov 14 04:39:18 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2620s Nov 14 04:39:18 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2620s Nov 14 04:39:18 2620s Nov 14 04:39:18 @slot-advance 2620s Nov 14 04:39:18 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2620s Nov 14 04:39:18 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2620s Nov 14 04:39:18 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2620s Nov 14 04:39:18 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2620s Nov 14 04:39:18 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2620s Nov 14 04:39:18 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2620s Nov 14 04:39:18 2620s Nov 14 04:39:18 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2620s Nov 14 04:39:18 Given I shut down postgres3 # features/steps/basic_replication.py:29 2621s Nov 14 04:39:19 And I shut down postgres2 # features/steps/basic_replication.py:29 2622s Nov 14 04:39:20 And I shut down postgres0 # features/steps/basic_replication.py:29 2624s Nov 14 04:39:22 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2624s Nov 14 04:39:22 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2624s Nov 14 04:39:22 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2636s Nov 14 04:39:33 2636s Nov 14 04:39:33 Feature: priority replication # features/priority_failover.feature:1 2636s Nov 14 04:39:33 We should check that we can give nodes priority during failover 2636s Nov 14 04:39:33 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2636s Nov 14 04:39:33 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2639s Nov 14 04:39:37 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2648s Nov 14 04:39:46 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2649s Nov 14 04:39:47 When I shut down postgres0 # features/steps/basic_replication.py:29 2651s Nov 14 04:39:49 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:121 2653s Nov 14 04:39:51 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2653s Nov 14 04:39:51 When I start postgres0 # features/steps/basic_replication.py:8 2656s Nov 14 04:39:54 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2659s Nov 14 04:39:57 2659s Nov 14 04:39:57 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2659s Nov 14 04:39:57 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2668s Nov 14 04:40:06 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2671s Nov 14 04:40:09 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2672s Nov 14 04:40:10 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2673s Nov 14 04:40:11 When I shut down postgres0 # features/steps/basic_replication.py:29 2675s Nov 14 04:40:13 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2676s Nov 14 04:40:14 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:121 2676s Nov 14 04:40:14 2676s Nov 14 04:40:14 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2676s Nov 14 04:40:14 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2676s Nov 14 04:40:14 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2676s Nov 14 04:40:14 Then I receive a response code 202 # features/steps/patroni_api.py:98 2676s Nov 14 04:40:14 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:121 2678s Nov 14 04:40:16 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2679s Nov 14 04:40:17 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2679s Nov 14 04:40:17 Then I receive a response code 412 # features/steps/patroni_api.py:98 2679s Nov 14 04:40:17 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2679s Nov 14 04:40:17 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2679s Nov 14 04:40:17 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2679s Nov 14 04:40:17 Then I receive a response code 202 # features/steps/patroni_api.py:98 2679s Nov 14 04:40: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:121 2681s Nov 14 04:40:19 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2682s Nov 14 04:40:20 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2685s Nov 14 04:40:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2685s Nov 14 04:40:23 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2699s Nov 14 04:40:37 2699s Nov 14 04:40:37 Feature: recovery # features/recovery.feature:1 2699s Nov 14 04:40:37 We want to check that crashed postgres is started back 2699s Nov 14 04:40:37 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2699s Nov 14 04:40:37 Given I start postgres0 # features/steps/basic_replication.py:8 2702s Nov 14 04:40:40 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2702s Nov 14 04:40:40 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2702s Nov 14 04:40:40 When I start postgres1 # features/steps/basic_replication.py:8 2706s Nov 14 04:40:44 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2706s Nov 14 04:40:44 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2708s Nov 14 04:40:45 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2708s Nov 14 04:40:45 waiting for server to shut down.... done 2708s Nov 14 04:40:45 server stopped 2708s Nov 14 04:40:45 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2709s Nov 14 04:40:47 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2709s Nov 14 04:40:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 2709s Nov 14 04:40:47 And I receive a response role master # features/steps/patroni_api.py:98 2709s Nov 14 04:40:47 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2709s Nov 14 04:40:47 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2710s Nov 14 04:40:48 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2713s Nov 14 04:40:51 2713s Nov 14 04:40:51 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2713s Nov 14 04:40:51 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 2713s Nov 14 04:40:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 2713s Nov 14 04:40:51 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2713s Nov 14 04:40:51 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2713s Nov 14 04:40:51 waiting for server to shut down.... done 2713s Nov 14 04:40:51 server stopped 2713s Nov 14 04:40:51 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2715s Nov 14 04:40:53 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2726s Nov 14 04:41:04 2726s Nov 14 04:41:04 Feature: standby cluster # features/standby_cluster.feature:1 2726s Nov 14 04:41:04 2726s Nov 14 04:41:04 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2726s Nov 14 04:41:04 Given I start postgres1 # features/steps/basic_replication.py:8 2735s Nov 14 04:41:13 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2735s Nov 14 04:41:13 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2735s Nov 14 04:41:13 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 2735s Nov 14 04:41:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 2735s Nov 14 04:41:13 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2735s Nov 14 04:41:13 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2738s Nov 14 04:41:16 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 2738s Nov 14 04:41:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2738s Nov 14 04:41:16 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2738s Nov 14 04:41:16 When I start postgres0 # features/steps/basic_replication.py:8 2741s Nov 14 04:41:19 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2742s Nov 14 04:41:20 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2744s Nov 14 04:41:21 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2744s Nov 14 04:41:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2744s Nov 14 04:41:22 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2744s Nov 14 04:41:22 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2744s Nov 14 04:41:22 2744s Nov 14 04:41:22 @slot-advance 2744s Nov 14 04:41:22 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2744s Nov 14 04:41:22 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2746s Nov 14 04:41:24 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2751s Nov 14 04:41:29 2751s Nov 14 04:41:29 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2751s Nov 14 04:41:29 When I shut down postgres1 # features/steps/basic_replication.py:29 2753s Nov 14 04:41:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2753s Nov 14 04:41:31 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2754s Nov 14 04:41:32 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2754s Nov 14 04:41:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2754s Nov 14 04:41:32 2754s Nov 14 04:41:32 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2754s Nov 14 04:41:32 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2757s Nov 14 04:41:35 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2760s Nov 14 04:41:38 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2760s Nov 14 04:41:38 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2760s Nov 14 04:41:38 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2760s Nov 14 04:41:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 2760s Nov 14 04:41:38 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2760s Nov 14 04:41:38 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2763s Nov 14 04:41:41 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2763s Nov 14 04:41:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 2763s Nov 14 04:41:41 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2763s Nov 14 04:41:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2763s Nov 14 04:41:41 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2763s Nov 14 04:41:41 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2763s Nov 14 04:41:41 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2772s Nov 14 04:41:50 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2772s Nov 14 04:41:50 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2773s Nov 14 04:41:51 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2773s Nov 14 04:41:51 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2773s Nov 14 04:41:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 2773s Nov 14 04:41:51 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2773s Nov 14 04:41:51 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2773s Nov 14 04:41:51 2773s Nov 14 04:41:51 Scenario: check switchover # features/standby_cluster.feature:57 2773s Nov 14 04:41:51 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2777s Nov 14 04:41:55 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2777s Nov 14 04:41:55 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2779s Nov 14 04:41:57 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 2779s Nov 14 04:41:57 2779s Nov 14 04:41:57 Scenario: check failover # features/standby_cluster.feature:63 2779s Nov 14 04:41:57 When I kill postgres2 # features/steps/basic_replication.py:34 2780s Nov 14 04:41:58 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2780s Nov 14 04:41:58 waiting for server to shut down.... done 2780s Nov 14 04:41:58 server stopped 2780s Nov 14 04:41:58 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2799s Nov 14 04:42:17 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2799s Nov 14 04:42:17 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2799s Nov 14 04:42:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 2799s Nov 14 04:42:17 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2799s Nov 14 04:42:17 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2800s Nov 14 04:42:18 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 2815s Nov 14 04:42:33 2815s Nov 14 04:42:33 Feature: watchdog # features/watchdog.feature:1 2815s Nov 14 04:42:33 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2815s Nov 14 04:42:33 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2815s Nov 14 04:42:33 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2818s Nov 14 04:42:36 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2818s Nov 14 04:42:36 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2818s Nov 14 04:42:36 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2818s Nov 14 04:42:36 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2818s Nov 14 04:42:36 2818s Nov 14 04:42:36 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2818s Nov 14 04:42:36 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2820s Nov 14 04:42:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2820s Nov 14 04:42:38 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2820s Nov 14 04:42:38 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2824s Nov 14 04:42:42 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2824s Nov 14 04:42:42 2824s Nov 14 04:42:42 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2824s Nov 14 04:42:42 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2825s Nov 14 04:42:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2825s Nov 14 04:42:43 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2827s Nov 14 04:42:45 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2827s Nov 14 04:42:45 2827s Nov 14 04:42:45 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2827s Nov 14 04:42:45 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2827s Nov 14 04:42:45 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2829s Nov 14 04:42:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2829s Nov 14 04:42:47 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2829s Nov 14 04:42:47 2829s Nov 14 04:42:47 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2829s Nov 14 04:42:47 Given I shut down postgres0 # features/steps/basic_replication.py:29 2831s Nov 14 04:42:49 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2831s Nov 14 04:42:49 2831s Nov 14 04:42:49 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2831s Nov 14 04:42:49 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2831s Nov 14 04:42:49 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2834s Nov 14 04:42:52 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2836s Nov 14 04:42:54 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2836s Nov 14 04:42:54 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2873s Nov 14 04:43:31 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.4695.XmckdbUx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.4698.XZPVfIQx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.4742.XUmkOqOx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.4790.XbeTffxx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.4837.XRAsBpWx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.4882.XgihDRqx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.4953.XIOHEJrx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5002.XfrZTopx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5006.XwNsJmNx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5093.XxDfWFmx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5201.XmymoWgx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5204.XUwZYQzx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5248.XmBxuaTx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5308.XBuJvDBx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5427.XtlBXhGx 2875s Nov 14 04:43:33 Skipping duplicate data .coverage.autopkgtest.5431.XRAAyZox 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5434.XbFXTGBx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5479.XVaKtqUx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5534.XLuviIOx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5625.XeQKzWKx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5628.XqockRsx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.5939.XHlJjqYx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6017.XzERQHKx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6072.XpGchMux 2875s Nov 14 04:43:33 Skipping duplicate data .coverage.autopkgtest.6332.XwfwgpGx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6335.XWNyjuex 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6387.XbtenOux 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6448.XTNBHeox 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6540.XlIpoBcx 2875s Nov 14 04:43:33 Skipping duplicate data .coverage.autopkgtest.6635.XDsPaeZx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6638.XxUOERlx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6681.XGHCVHbx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6748.XyURwscx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6779.XMadXfbx 2875s Nov 14 04:43:33 Skipping duplicate data .coverage.autopkgtest.6913.XwfdTMVx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6917.XLlIqzZx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6966.XPPaKawx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.6982.XGBTrsYx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7020.XPeTMDTx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7069.XwNCOUvx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7075.XcBAEttx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7111.XhrYzicx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7154.XyFFhtFx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7318.XxKkjOsx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7321.XPCPqcUx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7328.XqbeoNyx 2875s Nov 14 04:43:33 Skipping duplicate data .coverage.autopkgtest.7436.Xwrjunux 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7439.XuivlQkx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7485.XySSntax 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7526.XNhzAEYx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7568.XzPkDWGx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7621.XenqNXQx 2875s Nov 14 04:43:33 Skipping duplicate data .coverage.autopkgtest.7777.XWIAnAsx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7780.XFoMcpFx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7823.XpEWkvyx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7894.XpnclLEx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.7975.XvEaRyDx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8041.XoowZCdx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8382.XYbnoZpx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8385.XmtOqgVx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8428.XsYyobTx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8565.XJaeXKMx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8568.XeyeHjPx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8633.XGXbIMcx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8686.XAjNNxYx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8786.XuYBVXRx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.8902.XfqUillx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.9030.XXHDzvlx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.9034.XxTJbcux 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.9077.XfiBAFVx 2875s Nov 14 04:43:33 Skipping duplicate data .coverage.autopkgtest.9080.XGJYxyOx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.9084.Xwnztvkx 2875s Nov 14 04:43:33 Combined data file .coverage.autopkgtest.9096.XOxyEmOx 2875s Nov 14 04:43:33 Skipping duplicate data .coverage.autopkgtest.9163.XiWlHdcx 2877s Nov 14 04:43:35 Name Stmts Miss Cover 2877s Nov 14 04:43:35 ------------------------------------------------------------------------------------------------------------- 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 114 96 16% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 397 257 35% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 59 58% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 50 64% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/utils.py 77 23 70% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/api.py 770 288 63% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 83 87% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 40 87% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/ha.py 1244 304 76% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 170 79% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 132 20% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 383 63% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 40 84% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/six.py 504 250 50% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2877s Nov 14 04:43:35 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2877s Nov 14 04:43:35 patroni/__init__.py 13 2 85% 2877s Nov 14 04:43:35 patroni/__main__.py 199 199 0% 2877s Nov 14 04:43:35 patroni/api.py 770 770 0% 2877s Nov 14 04:43:35 patroni/async_executor.py 96 69 28% 2877s Nov 14 04:43:35 patroni/collections.py 56 15 73% 2877s Nov 14 04:43:35 patroni/config.py 371 189 49% 2877s Nov 14 04:43:35 patroni/config_generator.py 212 212 0% 2877s Nov 14 04:43:35 patroni/ctl.py 936 411 56% 2877s Nov 14 04:43:35 patroni/daemon.py 76 6 92% 2877s Nov 14 04:43:35 patroni/dcs/__init__.py 646 268 59% 2877s Nov 14 04:43:35 patroni/dcs/consul.py 485 485 0% 2877s Nov 14 04:43:35 patroni/dcs/etcd3.py 679 679 0% 2877s Nov 14 04:43:35 patroni/dcs/etcd.py 603 603 0% 2877s Nov 14 04:43:35 patroni/dcs/exhibitor.py 61 61 0% 2877s Nov 14 04:43:35 patroni/dcs/kubernetes.py 938 938 0% 2877s Nov 14 04:43:35 patroni/dcs/raft.py 319 73 77% 2877s Nov 14 04:43:35 patroni/dcs/zookeeper.py 288 288 0% 2877s Nov 14 04:43:35 patroni/dynamic_loader.py 35 7 80% 2877s Nov 14 04:43:35 patroni/exceptions.py 16 1 94% 2877s Nov 14 04:43:35 patroni/file_perm.py 43 15 65% 2877s Nov 14 04:43:35 patroni/global_config.py 81 18 78% 2877s Nov 14 04:43:35 patroni/ha.py 1244 1244 0% 2877s Nov 14 04:43:35 patroni/log.py 219 93 58% 2877s Nov 14 04:43:35 patroni/postgresql/__init__.py 821 651 21% 2877s Nov 14 04:43:35 patroni/postgresql/available_parameters/__init__.py 21 1 95% 2877s Nov 14 04:43:35 patroni/postgresql/bootstrap.py 252 222 12% 2877s Nov 14 04:43:35 patroni/postgresql/callback_executor.py 55 34 38% 2877s Nov 14 04:43:35 patroni/postgresql/cancellable.py 104 84 19% 2877s Nov 14 04:43:35 patroni/postgresql/config.py 813 698 14% 2877s Nov 14 04:43:35 patroni/postgresql/connection.py 75 50 33% 2877s Nov 14 04:43:35 patroni/postgresql/misc.py 41 29 29% 2877s Nov 14 04:43:35 patroni/postgresql/mpp/__init__.py 89 21 76% 2877s Nov 14 04:43:35 patroni/postgresql/mpp/citus.py 259 259 0% 2877s Nov 14 04:43:35 patroni/postgresql/postmaster.py 170 139 18% 2877s Nov 14 04:43:35 patroni/postgresql/rewind.py 416 416 0% 2877s Nov 14 04:43:35 patroni/postgresql/slots.py 334 285 15% 2877s Nov 14 04:43:35 patroni/postgresql/sync.py 130 96 26% 2877s Nov 14 04:43:35 patroni/postgresql/validator.py 157 52 67% 2877s Nov 14 04:43:35 patroni/psycopg.py 42 28 33% 2877s Nov 14 04:43:35 patroni/raft_controller.py 22 1 95% 2877s Nov 14 04:43:35 patroni/request.py 62 6 90% 2877s Nov 14 04:43:35 patroni/scripts/__init__.py 0 0 100% 2877s Nov 14 04:43:35 patroni/scripts/aws.py 59 59 0% 2877s Nov 14 04:43:35 patroni/scripts/barman/__init__.py 0 0 100% 2877s Nov 14 04:43:35 patroni/scripts/barman/cli.py 51 51 0% 2877s Nov 14 04:43:35 patroni/scripts/barman/config_switch.py 51 51 0% 2877s Nov 14 04:43:35 patroni/scripts/barman/recover.py 37 37 0% 2877s Nov 14 04:43:35 patroni/scripts/barman/utils.py 94 94 0% 2877s Nov 14 04:43:35 patroni/scripts/wale_restore.py 207 207 0% 2877s Nov 14 04:43:35 patroni/tags.py 38 11 71% 2877s Nov 14 04:43:35 patroni/utils.py 350 215 39% 2877s Nov 14 04:43:35 patroni/validator.py 301 215 29% 2877s Nov 14 04:43:35 patroni/version.py 1 0 100% 2877s Nov 14 04:43:35 patroni/watchdog/__init__.py 2 2 0% 2877s Nov 14 04:43:35 patroni/watchdog/base.py 203 203 0% 2877s Nov 14 04:43:35 patroni/watchdog/linux.py 135 135 0% 2877s Nov 14 04:43:35 ------------------------------------------------------------------------------------------------------------- 2877s Nov 14 04:43:35 TOTAL 44230 24981 44% 2877s Nov 14 04:43:35 12 features passed, 0 failed, 1 skipped 2877s Nov 14 04:43:35 54 scenarios passed, 0 failed, 6 skipped 2877s Nov 14 04:43:35 522 steps passed, 0 failed, 63 skipped, 0 undefined 2877s Nov 14 04:43:35 Took 9m25.277s 2877s ### End 16 acceptance-raft ### 2877s + echo '### End 16 acceptance-raft ###' 2877s + rm -f '/tmp/pgpass?' 2877s ++ id -u 2877s + '[' 1000 -eq 0 ']' 2877s autopkgtest [04:43:35]: test acceptance-raft: -----------------------] 2878s autopkgtest [04:43:36]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 2878s acceptance-raft PASS 2878s autopkgtest [04:43:36]: test test: preparing testbed 2951s autopkgtest [04:44:49]: testbed dpkg architecture: arm64 2951s autopkgtest [04:44:49]: testbed apt version: 2.9.8 2951s autopkgtest [04:44:49]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2952s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2952s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2952s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 2952s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [987 kB] 2953s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [98.6 kB] 2953s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [128 kB] 2953s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 2953s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [722 kB] 2953s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [6012 B] 2953s Fetched 2088 kB in 2s (1325 kB/s) 2953s Reading package lists... 2956s Reading package lists... 2957s Building dependency tree... 2957s Reading state information... 2958s Calculating upgrade... 2959s The following packages will be upgraded: 2959s bpfcc-tools bpftrace libbpfcc libgnutls30t64 libjson-glib-1.0-0 2959s libjson-glib-1.0-common libnewt0.52 libutempter0 python3-bpfcc python3-newt 2959s whiptail 2959s 11 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2959s Need to get 4324 kB of archives. 2959s After this operation, 9216 B of additional disk space will be used. 2959s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgnutls30t64 arm64 3.8.8-2ubuntu1 [956 kB] 2960s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-newt arm64 0.52.24-2ubuntu4 [21.2 kB] 2960s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libnewt0.52 arm64 0.52.24-2ubuntu4 [47.2 kB] 2960s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 whiptail arm64 0.52.24-2ubuntu4 [17.6 kB] 2960s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libbpfcc arm64 0.30.0+ds-1ubuntu5 [610 kB] 2960s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bpfcc all 0.30.0+ds-1ubuntu5 [40.4 kB] 2960s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 bpfcc-tools all 0.30.0+ds-1ubuntu5 [697 kB] 2960s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 bpftrace arm64 0.21.2-2ubuntu2 [1854 kB] 2961s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 2961s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-glib-1.0-0 arm64 1.10.0+ds-3 [66.5 kB] 2961s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libutempter0 arm64 1.2.1-4 [9646 B] 2961s Fetched 4324 kB in 2s (2330 kB/s) 2962s (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 ... 79924 files and directories currently installed.) 2962s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_arm64.deb ... 2962s Unpacking libgnutls30t64:arm64 (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 2962s Setting up libgnutls30t64:arm64 (3.8.8-2ubuntu1) ... 2962s (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 ... 79924 files and directories currently installed.) 2962s Preparing to unpack .../0-python3-newt_0.52.24-2ubuntu4_arm64.deb ... 2962s Unpacking python3-newt:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2962s Preparing to unpack .../1-libnewt0.52_0.52.24-2ubuntu4_arm64.deb ... 2962s Unpacking libnewt0.52:arm64 (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2962s Preparing to unpack .../2-whiptail_0.52.24-2ubuntu4_arm64.deb ... 2962s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2962s Preparing to unpack .../3-libbpfcc_0.30.0+ds-1ubuntu5_arm64.deb ... 2962s Unpacking libbpfcc:arm64 (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 2962s Preparing to unpack .../4-python3-bpfcc_0.30.0+ds-1ubuntu5_all.deb ... 2962s Unpacking python3-bpfcc (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 2962s Preparing to unpack .../5-bpfcc-tools_0.30.0+ds-1ubuntu5_all.deb ... 2962s Unpacking bpfcc-tools (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 2962s Preparing to unpack .../6-bpftrace_0.21.2-2ubuntu2_arm64.deb ... 2962s Unpacking bpftrace (0.21.2-2ubuntu2) over (0.21.2-2) ... 2963s Preparing to unpack .../7-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 2963s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 2963s Preparing to unpack .../8-libjson-glib-1.0-0_1.10.0+ds-3_arm64.deb ... 2963s Unpacking libjson-glib-1.0-0:arm64 (1.10.0+ds-3) over (1.10.0+ds-2) ... 2963s Preparing to unpack .../9-libutempter0_1.2.1-4_arm64.deb ... 2963s Unpacking libutempter0:arm64 (1.2.1-4) over (1.2.1-3build1) ... 2963s Setting up libnewt0.52:arm64 (0.52.24-2ubuntu4) ... 2963s Setting up python3-newt:arm64 (0.52.24-2ubuntu4) ... 2963s Setting up libutempter0:arm64 (1.2.1-4) ... 2963s Setting up whiptail (0.52.24-2ubuntu4) ... 2963s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 2963s Setting up libbpfcc:arm64 (0.30.0+ds-1ubuntu5) ... 2963s Setting up python3-bpfcc (0.30.0+ds-1ubuntu5) ... 2963s Setting up bpftrace (0.21.2-2ubuntu2) ... 2963s Setting up libjson-glib-1.0-0:arm64 (1.10.0+ds-3) ... 2963s Setting up bpfcc-tools (0.30.0+ds-1ubuntu5) ... 2963s Processing triggers for man-db (2.12.1-3) ... 2964s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2965s Reading package lists... 2965s Building dependency tree... 2965s Reading state information... 2967s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2967s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2967s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2967s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2967s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2969s Reading package lists... 2969s Reading package lists... 2969s Building dependency tree... 2969s Reading state information... 2970s Calculating upgrade... 2971s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2971s Reading package lists... 2971s Building dependency tree... 2971s Reading state information... 2972s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2978s Reading package lists... 2978s Building dependency tree... 2978s Reading state information... 2979s Starting pkgProblemResolver with broken count: 0 2979s Starting 2 pkgProblemResolver with broken count: 0 2979s Done 2981s The following additional packages will be installed: 2981s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 2981s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 2981s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 2981s libjs-underscore libpq5 patroni patroni-doc python3-aiohttp 2981s python3-aiosignal python3-async-timeout python3-boto3 python3-botocore 2981s python3-cachetools python3-cdiff python3-click python3-colorama 2981s python3-consul python3-coverage python3-dateutil python3-dnspython 2981s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 2981s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 2981s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 2981s python3-mccabe python3-mock python3-multidict python3-packaging 2981s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 2981s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 2981s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 2981s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 2981s python3-s3transfer python3-six python3-wcwidth python3-websocket 2981s python3-yarl python3-ydiff python3-zope.event python3-zope.interface 2981s sphinx-rtd-theme-common 2981s Suggested packages: 2981s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 2981s python3-tornado python3-twisted python-coverage-doc python3-trio 2981s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 2981s python-eventlet-doc python-gevent-doc python-greenlet-dev 2981s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 2981s Recommended packages: 2981s javascript-common python3-aiodns pyflakes3 2981s The following NEW packages will be installed: 2981s autopkgtest-satdep fonts-font-awesome fonts-lato libcares2 libev4t64 2981s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 2981s libjs-jquery-metadata libjs-jquery-tablesorter 2981s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 2981s patroni patroni-doc python3-aiohttp python3-aiosignal python3-async-timeout 2981s python3-boto3 python3-botocore python3-cachetools python3-cdiff 2981s python3-click python3-colorama python3-consul python3-coverage 2981s python3-dateutil python3-dnspython python3-etcd python3-eventlet 2981s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 2981s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 2981s python3-kerberos python3-kubernetes python3-mccabe python3-mock 2981s python3-multidict python3-packaging python3-pluggy python3-prettytable 2981s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 2981s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 2981s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 2981s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 2981s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 2981s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 2981s 0 upgraded, 70 newly installed, 0 to remove and 0 not upgraded. 2981s Need to get 16.9 MB/16.9 MB of archives. 2981s After this operation, 158 MB of additional disk space will be used. 2981s Get:1 /tmp/autopkgtest.dgezgb/6-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [792 B] 2981s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 2982s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2983s Get:4 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 2983s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2983s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.2-1 [95.2 kB] 2983s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 2983s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 2983s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 2983s Get:10 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 2983s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2983s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 2983s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 2983s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 2983s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 2983s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 2983s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 2983s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 2983s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 2983s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2983s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 2983s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 2983s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 2983s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 2983s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 2983s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-consul all 0.7.1-2 [21.6 kB] 2983s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.0.3-0ubuntu6 [153 kB] 2983s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 2983s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 2983s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.1.1-1 [140 kB] 2983s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.2.1-1 [791 kB] 2983s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 2983s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 2983s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 2983s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-multidict arm64 6.1.0-1 [34.0 kB] 2983s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-yarl arm64 1.9.4-1 [68.2 kB] 2983s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-async-timeout all 4.0.3-1 [6412 B] 2983s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-frozenlist arm64 1.5.0-1 [46.8 kB] 2983s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiosignal all 1.3.1-1 [5172 B] 2983s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohttp arm64 3.9.5-1 [278 kB] 2983s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 2983s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1 all 0.5.1-1 [57.4 kB] 2983s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1-modules all 0.3.0-1 [80.2 kB] 2983s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyu2f all 0.1.5-4 [22.9 kB] 2983s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-responses all 0.25.3-1 [54.3 kB] 2983s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 2983s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 2983s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 2983s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-websocket all 1.8.0-2 [38.5 kB] 2983s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kubernetes all 30.1.0-1 [386 kB] 2983s Get:51 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 2983s Get:52 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 2983s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 2984s Get:54 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 2984s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 2984s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 2984s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 2984s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 2984s Get:59 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 2984s Get:60 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 2984s Get:61 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycodestyle all 2.11.1-1 [29.9 kB] 2984s Get:62 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyflakes all 3.2.0-1 [52.8 kB] 2984s Get:63 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-flake8 all 7.1.1-1 [43.9 kB] 2984s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 2984s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.1-1 [41.4 kB] 2984s Get:66 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 2984s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.3-1 [251 kB] 2984s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 2984s Get:69 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 2984s Get:70 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 2985s Fetched 16.9 MB in 3s (5420 kB/s) 2985s Selecting previously unselected package fonts-lato. 2985s (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 ... 79925 files and directories currently installed.) 2985s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2985s Unpacking fonts-lato (2.015-1) ... 2985s Selecting previously unselected package libjs-jquery. 2985s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2985s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2985s Selecting previously unselected package libjs-jquery-hotkeys. 2985s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 2985s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 2985s Selecting previously unselected package fonts-font-awesome. 2986s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2986s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2986s Selecting previously unselected package libcares2:arm64. 2986s Preparing to unpack .../04-libcares2_1.34.2-1_arm64.deb ... 2986s Unpacking libcares2:arm64 (1.34.2-1) ... 2986s Selecting previously unselected package libev4t64:arm64. 2986s Preparing to unpack .../05-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 2986s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 2986s Selecting previously unselected package libjs-jquery-metadata. 2986s Preparing to unpack .../06-libjs-jquery-metadata_12-4_all.deb ... 2986s Unpacking libjs-jquery-metadata (12-4) ... 2986s Selecting previously unselected package libjs-jquery-tablesorter. 2986s Preparing to unpack .../07-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 2986s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 2986s Selecting previously unselected package libjs-jquery-throttle-debounce. 2986s Preparing to unpack .../08-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 2986s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 2986s Selecting previously unselected package libjs-underscore. 2986s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2986s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2986s Selecting previously unselected package libjs-sphinxdoc. 2986s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 2986s Unpacking libjs-sphinxdoc (7.4.7-4) ... 2986s Selecting previously unselected package libpq5:arm64. 2986s Preparing to unpack .../11-libpq5_17.0-1_arm64.deb ... 2986s Unpacking libpq5:arm64 (17.0-1) ... 2986s Selecting previously unselected package python3-ydiff. 2986s Preparing to unpack .../12-python3-ydiff_1.3-1_all.deb ... 2986s Unpacking python3-ydiff (1.3-1) ... 2986s Selecting previously unselected package python3-cdiff. 2986s Preparing to unpack .../13-python3-cdiff_1.3-1_all.deb ... 2986s Unpacking python3-cdiff (1.3-1) ... 2986s Selecting previously unselected package python3-colorama. 2986s Preparing to unpack .../14-python3-colorama_0.4.6-4_all.deb ... 2986s Unpacking python3-colorama (0.4.6-4) ... 2986s Selecting previously unselected package python3-click. 2986s Preparing to unpack .../15-python3-click_8.1.7-2_all.deb ... 2986s Unpacking python3-click (8.1.7-2) ... 2986s Selecting previously unselected package python3-six. 2986s Preparing to unpack .../16-python3-six_1.16.0-7_all.deb ... 2986s Unpacking python3-six (1.16.0-7) ... 2986s Selecting previously unselected package python3-dateutil. 2986s Preparing to unpack .../17-python3-dateutil_2.9.0-2_all.deb ... 2986s Unpacking python3-dateutil (2.9.0-2) ... 2986s Selecting previously unselected package python3-wcwidth. 2986s Preparing to unpack .../18-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2986s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2986s Selecting previously unselected package python3-prettytable. 2986s Preparing to unpack .../19-python3-prettytable_3.10.1-1_all.deb ... 2986s Unpacking python3-prettytable (3.10.1-1) ... 2986s Selecting previously unselected package python3-psutil. 2986s Preparing to unpack .../20-python3-psutil_5.9.8-2build2_arm64.deb ... 2986s Unpacking python3-psutil (5.9.8-2build2) ... 2986s Selecting previously unselected package python3-psycopg2. 2986s Preparing to unpack .../21-python3-psycopg2_2.9.9-2_arm64.deb ... 2986s Unpacking python3-psycopg2 (2.9.9-2) ... 2986s Selecting previously unselected package python3-dnspython. 2986s Preparing to unpack .../22-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 2986s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 2986s Selecting previously unselected package python3-etcd. 2986s Preparing to unpack .../23-python3-etcd_0.4.5-4_all.deb ... 2986s Unpacking python3-etcd (0.4.5-4) ... 2986s Selecting previously unselected package python3-consul. 2986s Preparing to unpack .../24-python3-consul_0.7.1-2_all.deb ... 2986s Unpacking python3-consul (0.7.1-2) ... 2987s Selecting previously unselected package python3-greenlet. 2987s Preparing to unpack .../25-python3-greenlet_3.0.3-0ubuntu6_arm64.deb ... 2987s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 2987s Selecting previously unselected package python3-eventlet. 2987s Preparing to unpack .../26-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 2987s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 2987s Selecting previously unselected package python3-zope.event. 2987s Preparing to unpack .../27-python3-zope.event_5.0-0.1_all.deb ... 2987s Unpacking python3-zope.event (5.0-0.1) ... 2987s Selecting previously unselected package python3-zope.interface. 2987s Preparing to unpack .../28-python3-zope.interface_7.1.1-1_arm64.deb ... 2987s Unpacking python3-zope.interface (7.1.1-1) ... 2987s Selecting previously unselected package python3-gevent. 2987s Preparing to unpack .../29-python3-gevent_24.2.1-1_arm64.deb ... 2987s Unpacking python3-gevent (24.2.1-1) ... 2987s Selecting previously unselected package python3-kerberos. 2987s Preparing to unpack .../30-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 2987s Unpacking python3-kerberos (1.1.14-3.1build9) ... 2987s Selecting previously unselected package python3-pure-sasl. 2987s Preparing to unpack .../31-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 2987s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 2987s Selecting previously unselected package python3-kazoo. 2987s Preparing to unpack .../32-python3-kazoo_2.9.0-2_all.deb ... 2987s Unpacking python3-kazoo (2.9.0-2) ... 2987s Selecting previously unselected package python3-multidict. 2987s Preparing to unpack .../33-python3-multidict_6.1.0-1_arm64.deb ... 2987s Unpacking python3-multidict (6.1.0-1) ... 2987s Selecting previously unselected package python3-yarl. 2987s Preparing to unpack .../34-python3-yarl_1.9.4-1_arm64.deb ... 2987s Unpacking python3-yarl (1.9.4-1) ... 2987s Selecting previously unselected package python3-async-timeout. 2987s Preparing to unpack .../35-python3-async-timeout_4.0.3-1_all.deb ... 2987s Unpacking python3-async-timeout (4.0.3-1) ... 2987s Selecting previously unselected package python3-frozenlist. 2987s Preparing to unpack .../36-python3-frozenlist_1.5.0-1_arm64.deb ... 2987s Unpacking python3-frozenlist (1.5.0-1) ... 2987s Selecting previously unselected package python3-aiosignal. 2987s Preparing to unpack .../37-python3-aiosignal_1.3.1-1_all.deb ... 2987s Unpacking python3-aiosignal (1.3.1-1) ... 2987s Selecting previously unselected package python3-aiohttp. 2987s Preparing to unpack .../38-python3-aiohttp_3.9.5-1_arm64.deb ... 2987s Unpacking python3-aiohttp (3.9.5-1) ... 2987s Selecting previously unselected package python3-cachetools. 2987s Preparing to unpack .../39-python3-cachetools_5.3.3-1_all.deb ... 2987s Unpacking python3-cachetools (5.3.3-1) ... 2987s Selecting previously unselected package python3-pyasn1. 2987s Preparing to unpack .../40-python3-pyasn1_0.5.1-1_all.deb ... 2987s Unpacking python3-pyasn1 (0.5.1-1) ... 2987s Selecting previously unselected package python3-pyasn1-modules. 2987s Preparing to unpack .../41-python3-pyasn1-modules_0.3.0-1_all.deb ... 2987s Unpacking python3-pyasn1-modules (0.3.0-1) ... 2987s Selecting previously unselected package python3-pyu2f. 2987s Preparing to unpack .../42-python3-pyu2f_0.1.5-4_all.deb ... 2987s Unpacking python3-pyu2f (0.1.5-4) ... 2988s Selecting previously unselected package python3-responses. 2988s Preparing to unpack .../43-python3-responses_0.25.3-1_all.deb ... 2988s Unpacking python3-responses (0.25.3-1) ... 2988s Selecting previously unselected package python3-rsa. 2988s Preparing to unpack .../44-python3-rsa_4.9-2_all.deb ... 2988s Unpacking python3-rsa (4.9-2) ... 2988s Selecting previously unselected package python3-google-auth. 2988s Preparing to unpack .../45-python3-google-auth_2.28.2-3_all.deb ... 2988s Unpacking python3-google-auth (2.28.2-3) ... 2988s Selecting previously unselected package python3-requests-oauthlib. 2988s Preparing to unpack .../46-python3-requests-oauthlib_1.3.1-1_all.deb ... 2988s Unpacking python3-requests-oauthlib (1.3.1-1) ... 2988s Selecting previously unselected package python3-websocket. 2988s Preparing to unpack .../47-python3-websocket_1.8.0-2_all.deb ... 2988s Unpacking python3-websocket (1.8.0-2) ... 2988s Selecting previously unselected package python3-kubernetes. 2988s Preparing to unpack .../48-python3-kubernetes_30.1.0-1_all.deb ... 2988s Unpacking python3-kubernetes (30.1.0-1) ... 2988s Selecting previously unselected package python3-pysyncobj. 2988s Preparing to unpack .../49-python3-pysyncobj_0.3.12-1_all.deb ... 2988s Unpacking python3-pysyncobj (0.3.12-1) ... 2988s Selecting previously unselected package patroni. 2988s Preparing to unpack .../50-patroni_3.3.1-1_all.deb ... 2988s Unpacking patroni (3.3.1-1) ... 2988s Selecting previously unselected package sphinx-rtd-theme-common. 2988s Preparing to unpack .../51-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 2988s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2988s Selecting previously unselected package patroni-doc. 2988s Preparing to unpack .../52-patroni-doc_3.3.1-1_all.deb ... 2988s Unpacking patroni-doc (3.3.1-1) ... 2988s Selecting previously unselected package python3-jmespath. 2988s Preparing to unpack .../53-python3-jmespath_1.0.1-1_all.deb ... 2988s Unpacking python3-jmespath (1.0.1-1) ... 2988s Selecting previously unselected package python3-botocore. 2988s Preparing to unpack .../54-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 2988s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 2989s Selecting previously unselected package python3-s3transfer. 2989s Preparing to unpack .../55-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 2989s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 2989s Selecting previously unselected package python3-boto3. 2989s Preparing to unpack .../56-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 2989s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 2989s Selecting previously unselected package python3-coverage. 2989s Preparing to unpack .../57-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 2989s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2989s Selecting previously unselected package python3-mccabe. 2989s Preparing to unpack .../58-python3-mccabe_0.7.0-1_all.deb ... 2989s Unpacking python3-mccabe (0.7.0-1) ... 2989s Selecting previously unselected package python3-pycodestyle. 2989s Preparing to unpack .../59-python3-pycodestyle_2.11.1-1_all.deb ... 2989s Unpacking python3-pycodestyle (2.11.1-1) ... 2990s Selecting previously unselected package python3-pyflakes. 2990s Preparing to unpack .../60-python3-pyflakes_3.2.0-1_all.deb ... 2990s Unpacking python3-pyflakes (3.2.0-1) ... 2990s Selecting previously unselected package python3-flake8. 2990s Preparing to unpack .../61-python3-flake8_7.1.1-1_all.deb ... 2990s Unpacking python3-flake8 (7.1.1-1) ... 2990s Selecting previously unselected package python3-iniconfig. 2990s Preparing to unpack .../62-python3-iniconfig_1.1.1-2_all.deb ... 2990s Unpacking python3-iniconfig (1.1.1-2) ... 2990s Selecting previously unselected package python3-packaging. 2990s Preparing to unpack .../63-python3-packaging_24.1-1_all.deb ... 2990s Unpacking python3-packaging (24.1-1) ... 2990s Selecting previously unselected package python3-pluggy. 2990s Preparing to unpack .../64-python3-pluggy_1.5.0-1_all.deb ... 2990s Unpacking python3-pluggy (1.5.0-1) ... 2990s Selecting previously unselected package python3-pytest. 2990s Preparing to unpack .../65-python3-pytest_8.3.3-1_all.deb ... 2990s Unpacking python3-pytest (8.3.3-1) ... 2990s Selecting previously unselected package libjs-jquery-isonscreen. 2990s Preparing to unpack .../66-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 2990s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 2990s Selecting previously unselected package python3-pytest-cov. 2990s Preparing to unpack .../67-python3-pytest-cov_5.0.0-1_all.deb ... 2990s Unpacking python3-pytest-cov (5.0.0-1) ... 2990s Selecting previously unselected package python3-mock. 2990s Preparing to unpack .../68-python3-mock_5.1.0-1_all.deb ... 2990s Unpacking python3-mock (5.1.0-1) ... 2990s Selecting previously unselected package autopkgtest-satdep. 2990s Preparing to unpack .../69-6-autopkgtest-satdep.deb ... 2990s Unpacking autopkgtest-satdep (0) ... 2990s Setting up python3-iniconfig (1.1.1-2) ... 2990s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 2990s Setting up fonts-lato (2.015-1) ... 2990s Setting up python3-pysyncobj (0.3.12-1) ... 2990s Setting up python3-cachetools (5.3.3-1) ... 2991s Setting up python3-colorama (0.4.6-4) ... 2991s Setting up python3-zope.event (5.0-0.1) ... 2991s Setting up python3-zope.interface (7.1.1-1) ... 2991s Setting up python3-pyflakes (3.2.0-1) ... 2992s Setting up python3-ydiff (1.3-1) ... 2992s Setting up libpq5:arm64 (17.0-1) ... 2992s Setting up python3-kerberos (1.1.14-3.1build9) ... 2992s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2992s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 2992s Setting up python3-click (8.1.7-2) ... 2992s Setting up python3-psutil (5.9.8-2build2) ... 2993s Setting up python3-multidict (6.1.0-1) ... 2993s Setting up python3-frozenlist (1.5.0-1) ... 2993s Setting up python3-aiosignal (1.3.1-1) ... 2993s Setting up python3-mock (5.1.0-1) ... 2994s Setting up python3-async-timeout (4.0.3-1) ... 2994s Setting up python3-six (1.16.0-7) ... 2994s Setting up python3-responses (0.25.3-1) ... 2994s Setting up python3-pycodestyle (2.11.1-1) ... 2994s Setting up python3-packaging (24.1-1) ... 2995s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2995s Setting up python3-pyu2f (0.1.5-4) ... 2995s Setting up python3-jmespath (1.0.1-1) ... 2995s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 2996s Setting up libcares2:arm64 (1.34.2-1) ... 2996s Setting up python3-psycopg2 (2.9.9-2) ... 2996s Setting up python3-pluggy (1.5.0-1) ... 2996s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 2996s Setting up python3-pyasn1 (0.5.1-1) ... 2997s Setting up python3-dateutil (2.9.0-2) ... 2997s Setting up python3-mccabe (0.7.0-1) ... 2997s Setting up python3-consul (0.7.1-2) ... 2997s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2997s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 2997s Setting up python3-prettytable (3.10.1-1) ... 2998s Setting up python3-yarl (1.9.4-1) ... 2998s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2998s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2998s Setting up python3-websocket (1.8.0-2) ... 2998s Setting up python3-requests-oauthlib (1.3.1-1) ... 2998s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2998s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 2998s Setting up python3-etcd (0.4.5-4) ... 2999s Setting up python3-pytest (8.3.3-1) ... 2999s Setting up python3-cdiff (1.3-1) ... 2999s Setting up python3-aiohttp (3.9.5-1) ... 3000s Setting up python3-gevent (24.2.1-1) ... 3000s Setting up python3-flake8 (7.1.1-1) ... 3001s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 3001s Setting up python3-kazoo (2.9.0-2) ... 3001s Setting up python3-pyasn1-modules (0.3.0-1) ... 3002s Setting up libjs-jquery-metadata (12-4) ... 3002s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 3002s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 3002s Setting up libjs-sphinxdoc (7.4.7-4) ... 3002s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3002s Setting up python3-rsa (4.9-2) ... 3002s Setting up patroni (3.3.1-1) ... 3002s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3003s Setting up patroni-doc (3.3.1-1) ... 3003s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 3004s Setting up python3-pytest-cov (5.0.0-1) ... 3004s Setting up python3-google-auth (2.28.2-3) ... 3004s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3004s Setting up python3-kubernetes (30.1.0-1) ... 3007s Setting up autopkgtest-satdep (0) ... 3007s Processing triggers for man-db (2.12.1-3) ... 3007s Processing triggers for libc-bin (2.40-1ubuntu3) ... 3016s (Reading database ... 86027 files and directories currently installed.) 3016s Removing autopkgtest-satdep (0) ... 3018s autopkgtest [04:45:56]: test test: [----------------------- 3019s running test 3019s ============================= test session starts ============================== 3019s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3 3019s cachedir: .pytest_cache 3019s rootdir: /tmp/autopkgtest.dgezgb/build.wDK/src 3019s plugins: cov-5.0.0, typeguard-4.4.1 3028s collecting ... collected 646 items 3028s 3028s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 3028s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 3028s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 3028s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 3028s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 3028s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 3028s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 3028s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 3028s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 3028s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 3028s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 3028s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 3028s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 3028s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 3028s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 3028s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 3028s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 3028s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 3028s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 3028s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 3028s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 3028s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 3028s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 3028s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 3029s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 3029s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 3029s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 3029s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 3029s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 3029s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 3029s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 3029s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 3029s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 3029s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 3029s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 3029s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 3029s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 3029s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 3029s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 3029s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 3029s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 3029s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 3029s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 3029s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 3029s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 3029s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 3029s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 3029s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 3029s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 3029s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 3029s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 3029s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 8%] 3029s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 3029s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 3029s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 3029s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 3029s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 3029s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 3029s tests/test_barman.py::TestMain::test_main PASSED [ 9%] 3029s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 3029s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 3029s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 3029s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 3029s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 3029s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 10%] 3029s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 3029s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 3029s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 3029s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 3029s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 3029s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 3029s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 11%] 3029s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 3029s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 3029s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 3029s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 3029s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 3029s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 12%] 3029s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 3029s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 3029s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 3029s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 3029s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 3029s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 13%] 3029s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 13%] 3029s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 3029s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 3029s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 3029s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 3029s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 3029s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 14%] 3029s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 3029s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 3030s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 3030s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 3030s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 3030s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 15%] 3030s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 15%] 3030s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 3030s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 15%] 3030s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 3030s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 3030s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 3030s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 16%] 3030s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 16%] 3030s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 3030s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 3030s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 3030s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 3030s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 17%] 3030s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 17%] 3030s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 3030s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 3030s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 3030s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 3030s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 3030s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 18%] 3030s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 18%] 3030s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 3030s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 3030s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 3030s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 3030s tests/test_consul.py::TestConsul::test_update_service PASSED [ 19%] 3030s tests/test_consul.py::TestConsul::test_watch PASSED [ 19%] 3030s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 3030s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 3030s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 3030s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 3030s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 3030s tests/test_ctl.py::TestCtl::test_failover PASSED [ 20%] 3030s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 20%] 3030s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 3030s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 3030s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 3030s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 3030s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 21%] 3030s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 21%] 3030s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 3030s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 3030s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 3030s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 3030s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 3030s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 22%] 3030s tests/test_ctl.py::TestCtl::test_members PASSED [ 22%] 3030s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 3030s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 3030s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 3030s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 3030s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 23%] 3030s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 23%] 3030s tests/test_ctl.py::TestCtl::test_reload PASSED [ 23%] 3031s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 3031s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 3031s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 3031s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 3031s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 24%] 3031s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 24%] 3031s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 3031s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 3031s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 3031s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 3031s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 25%] 3031s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 25%] 3031s tests/test_etcd.py::TestClient::test___del__ PASSED [ 25%] 3031s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 3031s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 3031s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 3031s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 26%] 3033s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 26%] 3033s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 26%] 3033s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 3033s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 3033s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 3033s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 3033s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 27%] 3033s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 27%] 3033s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 27%] 3033s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 3033s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 3033s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 3033s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 28%] 3033s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 28%] 3033s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 28%] 3033s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 3033s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 3033s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 3033s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 3033s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 29%] 3033s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 29%] 3033s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 29%] 3033s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 3033s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 3033s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 3033s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 30%] 3033s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 30%] 3033s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 30%] 3033s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 30%] 3033s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 3033s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 3033s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 3033s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 31%] 3033s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 31%] 3033s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 31%] 3033s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 3033s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 3033s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 3033s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 32%] 3033s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 32%] 3033s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 32%] 3033s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 32%] 3033s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 3033s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 3033s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 3033s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 33%] 3033s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 33%] 3033s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 33%] 3033s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 3033s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 3033s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 3033s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 34%] 3033s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 34%] 3033s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 34%] 3033s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 34%] 3033s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 3033s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 3033s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 3033s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 35%] 3033s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 35%] 3033s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 35%] 3033s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 3033s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 3033s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 3033s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 36%] 3033s tests/test_ha.py::TestHa::test_after_pause PASSED [ 36%] 3033s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 36%] 3033s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 3033s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 3033s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 3034s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 3034s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 37%] 3034s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 37%] 3034s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 3034s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 3034s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 3034s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 3034s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 38%] 3034s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 38%] 3034s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 3034s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 3034s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 3034s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 3034s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 39%] 3034s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 39%] 3034s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 3034s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 3034s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 3034s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 3034s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 3034s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 40%] 3034s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 3034s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 3034s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 3034s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 3034s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 3034s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 41%] 3034s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 3034s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 3034s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 3034s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 3034s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 3034s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 3034s tests/test_ha.py::TestHa::test_is_leader PASSED [ 42%] 3034s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 3034s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 3035s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 3035s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 3035s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 3035s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 43%] 3035s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 43%] 3035s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 3035s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 3035s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 3035s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 3035s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 3035s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 44%] 3035s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 3035s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 3035s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 3035s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 3035s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 3035s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 45%] 3035s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 3035s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 3035s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 3035s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 3035s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 3035s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 3035s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 3035s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 3035s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 3035s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 3035s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3035s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 3035s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 3035s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 3036s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 3036s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 3036s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 3036s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 3036s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 3036s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 3036s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 3036s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 3036s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 3036s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 3036s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 3036s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 3036s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 3036s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 3036s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 3036s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 3037s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 3037s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 3037s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 3037s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 3037s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 3037s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 3037s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 3037s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 3037s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 3037s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 3037s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 3037s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 3037s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 51%] 3037s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 3037s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 3037s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 3037s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 3037s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 3037s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 52%] 3037s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 3037s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 3037s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 3037s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 3037s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 3037s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 53%] 3037s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 53%] 3037s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 3037s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 3037s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 3037s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 3037s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 54%] 3037s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 54%] 3037s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 3037s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 3037s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 55%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 55%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 55%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 56%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 56%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 56%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 3037s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 57%] 3038s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 57%] 3038s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 3038s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 3038s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 3038s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 3038s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 58%] 3038s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 58%] 3038s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 58%] 3038s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 3038s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 3038s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 3038s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 59%] 3038s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 59%] 3038s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 59%] 3038s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 3038s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 3038s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 60%] 3038s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 60%] 3038s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 60%] 3038s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 60%] 3038s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 60%] 3038s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 3039s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 61%] 3039s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 61%] 3039s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 61%] 3039s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 61%] 3039s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 3039s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 3039s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 62%] 3039s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 62%] 3039s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 62%] 3039s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 62%] 3039s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 62%] 3039s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 3039s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 63%] 3039s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 63%] 3039s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 63%] 3039s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 63%] 3039s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 63%] 3039s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 3039s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 3039s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 64%] 3039s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 64%] 3040s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 64%] 3040s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 64%] 3040s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 64%] 3040s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 3040s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 65%] 3040s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 65%] 3040s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 65%] 3040s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 65%] 3040s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 65%] 3040s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 3040s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 3040s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 66%] 3040s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 66%] 3040s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 66%] 3040s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 66%] 3040s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 3040s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 3040s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 67%] 3040s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 67%] 3040s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 67%] 3040s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 67%] 3040s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 3040s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 3040s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 3040s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 68%] 3040s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 68%] 3040s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 68%] 3040s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 3040s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 3040s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 3040s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 69%] 3040s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 69%] 3040s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 69%] 3040s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 3040s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 3040s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 3040s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 3040s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 70%] 3041s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 70%] 3041s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 3041s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 3041s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 3041s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 3041s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 71%] 3041s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 71%] 3041s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 3041s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 3041s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 3041s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 3041s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 3041s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 72%] 3041s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 72%] 3041s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 3041s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 3041s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 3041s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 3041s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 73%] 3041s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 73%] 3041s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 3041s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 3041s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 3041s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 3041s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 3041s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 74%] 3041s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 3041s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 3041s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 3041s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 3041s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 3041s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 75%] 3042s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 3044s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 3046s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 3046s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 3048s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 3048s tests/test_raft.py::TestRaft::test_init PASSED [ 76%] 3050s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 3050s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 3050s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 3050s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 3050s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 3050s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 3050s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 3050s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 3050s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 3050s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 3050s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 3050s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 3050s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 3050s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 3050s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 3050s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 3050s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 3050s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 3050s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 3050s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 3051s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 3051s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 3051s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 3051s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 3051s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 3051s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 80%] 3051s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 3051s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 3051s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 3051s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 3051s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 3051s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 3051s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 81%] 3051s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 3051s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 3051s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 3051s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 3051s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 3051s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 3051s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 3051s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 3051s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 3051s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 3051s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 3051s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 3051s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 3051s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 3051s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 3051s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 3051s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 3051s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 3051s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 3051s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 3051s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 3051s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 3051s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 3051s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 3051s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 3051s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 3051s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 3051s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 3051s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 3051s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 3051s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 3051s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 3051s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 3051s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 3051s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 3051s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 3051s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 3051s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 3051s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 3051s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 3051s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 3051s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 3051s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 3051s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 3051s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 3051s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 3051s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 3051s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 3051s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 3051s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 3051s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 3051s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 3051s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 3051s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 3051s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 3051s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 3051s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 3051s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 3051s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 3051s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 3051s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 3051s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 3051s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 3051s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 3051s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 3052s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 3052s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 3052s patroni/api.py::patroni.api.check_access PASSED [ 93%] 3052s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 3052s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 3052s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 3052s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 3052s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 3052s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 3052s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 3052s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 3052s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 3053s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 3053s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 95%] 3053s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 3053s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 3053s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 3053s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 3053s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 3053s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 3053s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 3053s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 3053s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 3053s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 3053s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 3053s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 3053s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 97%] 3053s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 3053s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 3053s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 3053s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 3053s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 3053s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 97%] 3053s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 3053s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 3053s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 3053s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 3053s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 3053s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 3053s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 3053s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 3053s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 3053s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 3053s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 3053s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 3057s patroni/utils.py::patroni.utils.unquote PASSED [100%] 3057s 3057s ---------- coverage: platform linux, python 3.12.7-final-0 ----------- 3057s Name Stmts Miss Cover Missing 3057s ----------------------------------------------------------------------------------- 3057s patroni/__init__.py 13 0 100% 3057s patroni/__main__.py 199 1 99% 395 3057s patroni/api.py 770 0 100% 3057s patroni/async_executor.py 96 0 100% 3057s patroni/collections.py 56 3 95% 50, 99, 107 3057s patroni/config.py 371 0 100% 3057s patroni/config_generator.py 212 0 100% 3057s patroni/ctl.py 936 0 100% 3057s patroni/daemon.py 76 0 100% 3057s patroni/dcs/__init__.py 646 0 100% 3057s patroni/dcs/consul.py 485 0 100% 3057s patroni/dcs/etcd3.py 679 0 100% 3057s patroni/dcs/etcd.py 603 0 100% 3057s patroni/dcs/exhibitor.py 61 0 100% 3057s patroni/dcs/kubernetes.py 938 0 100% 3057s patroni/dcs/raft.py 319 0 100% 3057s patroni/dcs/zookeeper.py 288 0 100% 3057s patroni/dynamic_loader.py 35 0 100% 3057s patroni/exceptions.py 16 0 100% 3057s patroni/file_perm.py 43 0 100% 3057s patroni/global_config.py 81 0 100% 3057s patroni/ha.py 1244 2 99% 1925-1926 3057s patroni/log.py 219 2 99% 365-367 3057s patroni/postgresql/__init__.py 821 0 100% 3057s patroni/postgresql/available_parameters/__init__.py 21 0 100% 3057s patroni/postgresql/bootstrap.py 252 0 100% 3057s patroni/postgresql/callback_executor.py 55 0 100% 3057s patroni/postgresql/cancellable.py 104 0 100% 3057s patroni/postgresql/config.py 813 0 100% 3057s patroni/postgresql/connection.py 75 0 100% 3057s patroni/postgresql/misc.py 41 0 100% 3057s patroni/postgresql/mpp/__init__.py 89 0 100% 3057s patroni/postgresql/mpp/citus.py 259 122 53% 49, 52, 62, 66, 135-144, 149-162, 183-186, 205-227, 230-234, 255-271, 274-299, 302-320, 330, 338, 343-346, 360-361, 369-380, 395-399, 437, 458-459 3057s patroni/postgresql/postmaster.py 170 0 100% 3057s patroni/postgresql/rewind.py 416 0 100% 3057s patroni/postgresql/slots.py 334 0 100% 3057s patroni/postgresql/sync.py 130 0 100% 3057s patroni/postgresql/validator.py 157 0 100% 3057s patroni/psycopg.py 42 16 62% 19, 25-26, 42, 44-82, 120 3057s patroni/raft_controller.py 22 0 100% 3057s patroni/request.py 62 0 100% 3057s patroni/scripts/__init__.py 0 0 100% 3057s patroni/scripts/aws.py 59 1 98% 86 3057s patroni/scripts/barman/__init__.py 0 0 100% 3057s patroni/scripts/barman/cli.py 51 1 98% 240 3057s patroni/scripts/barman/config_switch.py 51 0 100% 3057s patroni/scripts/barman/recover.py 37 0 100% 3057s patroni/scripts/barman/utils.py 94 0 100% 3057s patroni/scripts/wale_restore.py 207 1 99% 374 3057s patroni/tags.py 38 0 100% 3057s patroni/utils.py 350 0 100% 3057s patroni/validator.py 301 0 100% 3057s patroni/version.py 1 0 100% 3057s patroni/watchdog/__init__.py 2 0 100% 3057s patroni/watchdog/base.py 203 0 100% 3057s patroni/watchdog/linux.py 135 1 99% 36 3057s ----------------------------------------------------------------------------------- 3057s TOTAL 13778 150 99% 3057s Coverage XML written to file coverage.xml 3057s 3057s 3057s ======================= 632 passed, 14 skipped in 38.10s ======================= 3059s autopkgtest [04:46:37]: test test: -----------------------] 3059s autopkgtest [04:46:37]: test test: - - - - - - - - - - results - - - - - - - - - - 3059s test PASS 3059s autopkgtest [04:46:37]: @@@@@@@@@@@@@@@@@@@@ summary 3059s acceptance-etcd3 PASS 3059s acceptance-etcd-basic PASS 3059s acceptance-etcd PASS 3059s acceptance-zookeeper PASS 3059s acceptance-raft PASS 3059s test PASS 3072s nova [W] Skipping flock in bos03-arm64 3072s Creating nova instance adt-plucky-arm64-patroni-20241114-035537-juju-7f2275-prod-proposed-migration-environment-20-ab9b2ea6-4b07-4e5e-bf0c-ac2b5b249d7d from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)... 3072s nova [W] Skipping flock in bos03-arm64 3072s Creating nova instance adt-plucky-arm64-patroni-20241114-035537-juju-7f2275-prod-proposed-migration-environment-20-ab9b2ea6-4b07-4e5e-bf0c-ac2b5b249d7d from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)... 3072s nova [W] Skipping flock in bos03-arm64 3072s Creating nova instance adt-plucky-arm64-patroni-20241114-035537-juju-7f2275-prod-proposed-migration-environment-20-ab9b2ea6-4b07-4e5e-bf0c-ac2b5b249d7d from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)... 3072s nova [W] Skipping flock in bos03-arm64 3072s Creating nova instance adt-plucky-arm64-patroni-20241114-035537-juju-7f2275-prod-proposed-migration-environment-20-ab9b2ea6-4b07-4e5e-bf0c-ac2b5b249d7d from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)... 3072s nova [W] Skipping flock in bos03-arm64 3072s Creating nova instance adt-plucky-arm64-patroni-20241114-035537-juju-7f2275-prod-proposed-migration-environment-20-ab9b2ea6-4b07-4e5e-bf0c-ac2b5b249d7d from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)...