0s autopkgtest [09:49:45]: starting date and time: 2024-11-13 09:49:45+0000 0s autopkgtest [09:49:45]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [09:49:45]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.jfb9d9q3/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults,src:python3-stdlib-extensions --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.12.7-1 python3-stdlib-extensions/3.12.7-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-arm64-45.secgroup --name adt-plucky-arm64-patroni-20241113-094945-juju-7f2275-prod-proposed-migration-environment-15-2bbd8361-8b53-4ead-8d60-e1047510a4be --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --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/ 85s autopkgtest [09:51:10]: testbed dpkg architecture: arm64 86s autopkgtest [09:51:11]: testbed apt version: 2.9.8 86s autopkgtest [09:51:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 86s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 87s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 87s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 87s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 87s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 87s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [104 kB] 87s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 87s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [601 kB] 87s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [17.1 kB] 87s Fetched 1794 kB in 1s (2069 kB/s) 87s Reading package lists... 90s Reading package lists... 90s Building dependency tree... 90s Reading state information... 91s Calculating upgrade... 91s The following NEW packages will be installed: 91s python3.13-gdbm 91s The following packages will be upgraded: 91s libpython3-stdlib python3 python3-gdbm python3-minimal 92s 4 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 92s Need to get 101 kB of archives. 92s After this operation, 141 kB of additional disk space will be used. 92s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.12.7-1 [27.4 kB] 92s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.12.7-1 [24.0 kB] 92s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.12.7-1 [10.0 kB] 92s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-gdbm arm64 3.13.0-2 [30.7 kB] 92s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-gdbm arm64 3.12.7-1 [8642 B] 92s Fetched 101 kB in 0s (280 kB/s) 93s (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.) 93s Preparing to unpack .../python3-minimal_3.12.7-1_arm64.deb ... 93s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 93s Setting up python3-minimal (3.12.7-1) ... 93s (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.) 93s Preparing to unpack .../python3_3.12.7-1_arm64.deb ... 93s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 93s Preparing to unpack .../libpython3-stdlib_3.12.7-1_arm64.deb ... 93s Unpacking libpython3-stdlib:arm64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 93s Selecting previously unselected package python3.13-gdbm. 93s Preparing to unpack .../python3.13-gdbm_3.13.0-2_arm64.deb ... 93s Unpacking python3.13-gdbm (3.13.0-2) ... 93s Preparing to unpack .../python3-gdbm_3.12.7-1_arm64.deb ... 93s Unpacking python3-gdbm:arm64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 93s Setting up python3.13-gdbm (3.13.0-2) ... 93s Setting up libpython3-stdlib:arm64 (3.12.7-1) ... 93s Setting up python3 (3.12.7-1) ... 94s Setting up python3-gdbm:arm64 (3.12.7-1) ... 94s Processing triggers for man-db (2.12.1-3) ... 94s Reading package lists... 95s Building dependency tree... 95s Reading state information... 95s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 96s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 96s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 96s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 96s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 97s Reading package lists... 97s Reading package lists... 98s Building dependency tree... 98s Reading state information... 98s Calculating upgrade... 99s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 99s Reading package lists... 99s Building dependency tree... 99s Reading state information... 100s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 102s autopkgtest [09:51:27]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 102s autopkgtest [09:51:27]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 105s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (dsc) [2851 B] 105s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (tar) [1150 kB] 105s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (diff) [23.1 kB] 105s gpgv: Signature made Tue Jul 2 12:54:38 2024 UTC 105s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 105s gpgv: Can't check signature: No public key 105s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.1-1.dsc: no acceptable signature found 105s autopkgtest [09:51:30]: testing package patroni version 3.3.1-1 106s autopkgtest [09:51:31]: build not needed 106s autopkgtest [09:51:31]: test acceptance-etcd3: preparing testbed 113s Reading package lists... 114s Building dependency tree... 114s Reading state information... 114s Starting pkgProblemResolver with broken count: 0 114s Starting 2 pkgProblemResolver with broken count: 0 114s Done 115s The following additional packages will be installed: 115s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 115s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 115s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 115s patroni-doc postgresql postgresql-16 postgresql-client-16 115s postgresql-client-common postgresql-common python3-behave python3-cdiff 115s python3-click python3-colorama python3-coverage python3-dateutil 115s python3-dnspython python3-etcd python3-parse python3-parse-type 115s python3-prettytable python3-psutil python3-psycopg2 python3-six 115s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 115s Suggested packages: 115s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 115s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 115s python3-httpcore etcd python-psycopg2-doc 115s Recommended packages: 115s javascript-common libjson-xs-perl 115s The following NEW packages will be installed: 115s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 115s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 115s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 115s patroni-doc postgresql postgresql-16 postgresql-client-16 115s postgresql-client-common postgresql-common python3-behave python3-cdiff 115s python3-click python3-colorama python3-coverage python3-dateutil 115s python3-dnspython python3-etcd python3-parse python3-parse-type 115s python3-prettytable python3-psutil python3-psycopg2 python3-six 115s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 115s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 115s Need to get 34.5 MB/34.5 MB of archives. 115s After this operation, 126 MB of additional disk space will be used. 115s Get:1 /tmp/autopkgtest.MGe7DY/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [764 B] 115s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 116s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 116s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 116s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 116s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 116s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.15-7 [10.5 MB] 116s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 116s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 116s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 116s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 116s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 116s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 116s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 116s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 116s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 116s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 116s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 116s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 116s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 116s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 116s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 116s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 116s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 116s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 116s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 117s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 117s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 117s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 117s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 117s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 117s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 117s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 117s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 117s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 118s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 118s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 118s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 118s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 118s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 118s Preconfiguring packages ... 118s Fetched 34.5 MB in 3s (13.2 MB/s) 118s Selecting previously unselected package fonts-lato. 118s (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 ... 79931 files and directories currently installed.) 118s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 118s Unpacking fonts-lato (2.015-1) ... 118s Selecting previously unselected package libjson-perl. 118s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 118s Unpacking libjson-perl (4.10000-1) ... 119s Selecting previously unselected package postgresql-client-common. 119s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 119s Unpacking postgresql-client-common (262) ... 119s Selecting previously unselected package ssl-cert. 119s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 119s Unpacking ssl-cert (1.1.2ubuntu2) ... 119s Selecting previously unselected package postgresql-common. 119s Preparing to unpack .../04-postgresql-common_262_all.deb ... 119s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 119s Unpacking postgresql-common (262) ... 119s Selecting previously unselected package etcd-server. 119s Preparing to unpack .../05-etcd-server_3.5.15-7_arm64.deb ... 119s Unpacking etcd-server (3.5.15-7) ... 119s Selecting previously unselected package fonts-font-awesome. 119s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 119s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 119s Selecting previously unselected package libio-pty-perl. 119s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 119s Unpacking libio-pty-perl (1:1.20-1build3) ... 119s Selecting previously unselected package libipc-run-perl. 119s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 119s Unpacking libipc-run-perl (20231003.0-2) ... 119s Selecting previously unselected package libjs-jquery. 119s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 119s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 119s Selecting previously unselected package libjs-underscore. 119s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 119s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 119s Selecting previously unselected package libjs-sphinxdoc. 119s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 119s Unpacking libjs-sphinxdoc (7.4.7-4) ... 119s Selecting previously unselected package libpq5:arm64. 119s Preparing to unpack .../12-libpq5_17.0-1_arm64.deb ... 119s Unpacking libpq5:arm64 (17.0-1) ... 119s Selecting previously unselected package libtime-duration-perl. 119s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 119s Unpacking libtime-duration-perl (1.21-2) ... 119s Selecting previously unselected package libtimedate-perl. 119s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 119s Unpacking libtimedate-perl (2.3300-2) ... 119s Selecting previously unselected package libxslt1.1:arm64. 119s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 119s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 119s Selecting previously unselected package moreutils. 119s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 119s Unpacking moreutils (0.69-1) ... 119s Selecting previously unselected package python3-ydiff. 119s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 119s Unpacking python3-ydiff (1.3-1) ... 119s Selecting previously unselected package python3-cdiff. 120s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 120s Unpacking python3-cdiff (1.3-1) ... 120s Selecting previously unselected package python3-colorama. 120s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 120s Unpacking python3-colorama (0.4.6-4) ... 120s Selecting previously unselected package python3-click. 120s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 120s Unpacking python3-click (8.1.7-2) ... 120s Selecting previously unselected package python3-six. 120s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 120s Unpacking python3-six (1.16.0-7) ... 120s Selecting previously unselected package python3-dateutil. 120s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 120s Unpacking python3-dateutil (2.9.0-2) ... 120s Selecting previously unselected package python3-wcwidth. 120s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 120s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 120s Selecting previously unselected package python3-prettytable. 120s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 120s Unpacking python3-prettytable (3.10.1-1) ... 120s Selecting previously unselected package python3-psutil. 120s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_arm64.deb ... 120s Unpacking python3-psutil (5.9.8-2build2) ... 120s Selecting previously unselected package python3-psycopg2. 120s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_arm64.deb ... 120s Unpacking python3-psycopg2 (2.9.9-2) ... 120s Selecting previously unselected package python3-dnspython. 120s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 120s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 120s Selecting previously unselected package python3-etcd. 120s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 120s Unpacking python3-etcd (0.4.5-4) ... 120s Selecting previously unselected package patroni. 120s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 120s Unpacking patroni (3.3.1-1) ... 120s Selecting previously unselected package sphinx-rtd-theme-common. 120s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 120s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 120s Selecting previously unselected package patroni-doc. 120s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 120s Unpacking patroni-doc (3.3.1-1) ... 120s Selecting previously unselected package postgresql-client-16. 120s Preparing to unpack .../32-postgresql-client-16_16.4-3_arm64.deb ... 120s Unpacking postgresql-client-16 (16.4-3) ... 120s Selecting previously unselected package postgresql-16. 120s Preparing to unpack .../33-postgresql-16_16.4-3_arm64.deb ... 120s Unpacking postgresql-16 (16.4-3) ... 121s Selecting previously unselected package postgresql. 121s Preparing to unpack .../34-postgresql_16+262_all.deb ... 121s Unpacking postgresql (16+262) ... 121s Selecting previously unselected package python3-parse. 121s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 121s Unpacking python3-parse (1.20.2-1) ... 121s Selecting previously unselected package python3-parse-type. 121s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 121s Unpacking python3-parse-type (0.6.4-1) ... 121s Selecting previously unselected package python3-behave. 121s Preparing to unpack .../37-python3-behave_1.2.6-6_all.deb ... 121s Unpacking python3-behave (1.2.6-6) ... 121s Selecting previously unselected package python3-coverage. 121s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 121s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 121s Selecting previously unselected package autopkgtest-satdep. 121s Preparing to unpack .../39-1-autopkgtest-satdep.deb ... 121s Unpacking autopkgtest-satdep (0) ... 121s Setting up postgresql-client-common (262) ... 121s Setting up fonts-lato (2.015-1) ... 121s Setting up libio-pty-perl (1:1.20-1build3) ... 121s Setting up python3-colorama (0.4.6-4) ... 121s Setting up python3-ydiff (1.3-1) ... 121s Setting up libpq5:arm64 (17.0-1) ... 121s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 122s Setting up python3-click (8.1.7-2) ... 122s Setting up python3-psutil (5.9.8-2build2) ... 122s Setting up python3-six (1.16.0-7) ... 122s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 123s Setting up ssl-cert (1.1.2ubuntu2) ... 123s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 124s Setting up python3-psycopg2 (2.9.9-2) ... 124s Setting up libipc-run-perl (20231003.0-2) ... 124s Setting up libtime-duration-perl (1.21-2) ... 124s Setting up libtimedate-perl (2.3300-2) ... 124s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 124s Setting up python3-parse (1.20.2-1) ... 124s Setting up libjson-perl (4.10000-1) ... 124s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 124s Setting up python3-dateutil (2.9.0-2) ... 124s Setting up etcd-server (3.5.15-7) ... 124s info: Selecting UID from range 100 to 999 ... 124s 124s info: Selecting GID from range 100 to 999 ... 124s info: Adding system user `etcd' (UID 107) ... 124s info: Adding new group `etcd' (GID 111) ... 124s info: Adding new user `etcd' (UID 107) with group `etcd' ... 124s info: Creating home directory `/var/lib/etcd/' ... 125s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 125s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 126s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 126s Setting up python3-prettytable (3.10.1-1) ... 126s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 126s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 126s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 126s Setting up moreutils (0.69-1) ... 126s Setting up python3-etcd (0.4.5-4) ... 126s Setting up postgresql-client-16 (16.4-3) ... 127s 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 127s Setting up python3-cdiff (1.3-1) ... 127s Setting up python3-parse-type (0.6.4-1) ... 127s Setting up postgresql-common (262) ... 127s 127s Creating config file /etc/postgresql-common/createcluster.conf with new version 127s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 127s Removing obsolete dictionary files: 128s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 129s Setting up libjs-sphinxdoc (7.4.7-4) ... 129s Setting up python3-behave (1.2.6-6) ... 129s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 129s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 129s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 129s """Registers a custom type that will be available to "parse" 129s Setting up patroni (3.3.1-1) ... 129s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 130s Setting up postgresql-16 (16.4-3) ... 130s Creating new PostgreSQL cluster 16/main ... 130s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 130s The files belonging to this database system will be owned by user "postgres". 130s This user must also own the server process. 130s 130s The database cluster will be initialized with locale "C.UTF-8". 130s The default database encoding has accordingly been set to "UTF8". 130s The default text search configuration will be set to "english". 130s 130s Data page checksums are disabled. 130s 130s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 130s creating subdirectories ... ok 130s selecting dynamic shared memory implementation ... posix 130s selecting default max_connections ... 100 130s selecting default shared_buffers ... 128MB 130s selecting default time zone ... Etc/UTC 130s creating configuration files ... ok 130s running bootstrap script ... ok 131s performing post-bootstrap initialization ... ok 131s syncing data to disk ... ok 135s Setting up patroni-doc (3.3.1-1) ... 135s Setting up postgresql (16+262) ... 135s Setting up autopkgtest-satdep (0) ... 135s Processing triggers for man-db (2.12.1-3) ... 136s Processing triggers for libc-bin (2.40-1ubuntu3) ... 140s (Reading database ... 83142 files and directories currently installed.) 140s Removing autopkgtest-satdep (0) ... 141s autopkgtest [09:52:06]: test acceptance-etcd3: debian/tests/acceptance etcd3 141s autopkgtest [09:52:06]: test acceptance-etcd3: [----------------------- 141s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 141s ++ ls -1r /usr/lib/postgresql/ 141s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 141s + '[' 16 == 10 -o 16 == 11 ']' 141s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 141s + 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' 141s ### PostgreSQL 16 acceptance-etcd3 ### 142s Nov 13 09:52:07 Feature: basic replication # features/basic_replication.feature:1 142s Nov 13 09:52:07 We should check that the basic bootstrapping, replication and failover works. 142s Nov 13 09:52:07 Scenario: check replication of a single table # features/basic_replication.feature:4 142s Nov 13 09:52:07 Given I start postgres0 # features/steps/basic_replication.py:8 146s Nov 13 09:52:11 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 146s Nov 13 09:52:11 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 146s Nov 13 09:52:11 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 147s Nov 13 09:52:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 147s Nov 13 09:52:11 When I start postgres1 # features/steps/basic_replication.py:8 151s Nov 13 09:52:16 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 155s Nov 13 09:52:20 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 155s Nov 13 09:52:20 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 155s Nov 13 09:52:20 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 156s Nov 13 09:52:21 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 156s Nov 13 09:52:21 156s Nov 13 09:52:21 Scenario: check restart of sync replica # features/basic_replication.feature:17 156s Nov 13 09:52:21 Given I shut down postgres2 # features/steps/basic_replication.py:29 157s Nov 13 09:52:22 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 157s Nov 13 09:52:22 When I start postgres2 # features/steps/basic_replication.py:8 160s Nov 13 09:52:25 And I shut down postgres1 # features/steps/basic_replication.py:29 163s Nov 13 09:52:28 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 164s Nov 13 09:52:29 When I start postgres1 # features/steps/basic_replication.py:8 167s Nov 13 09:52:32 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 168s Nov 13 09:52:33 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 168s Nov 13 09:52:33 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 168s Nov 13 09:52:33 168s Nov 13 09:52:33 Scenario: check stuck sync replica # features/basic_replication.feature:28 168s Nov 13 09:52:33 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 168s Nov 13 09:52:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 168s Nov 13 09:52:33 And I create table on postgres0 # features/steps/basic_replication.py:73 168s Nov 13 09:52:33 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 169s Nov 13 09:52:34 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 169s Nov 13 09:52:34 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 169s Nov 13 09:52:34 And I load data on postgres0 # features/steps/basic_replication.py:84 170s Nov 13 09:52:35 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 173s Nov 13 09:52:38 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 173s Nov 13 09:52:38 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 174s Nov 13 09:52:39 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 174s Nov 13 09:52:39 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 174s Nov 13 09:52:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 174s Nov 13 09:52:39 And I drop table on postgres0 # features/steps/basic_replication.py:73 174s Nov 13 09:52:39 174s Nov 13 09:52:39 Scenario: check multi sync replication # features/basic_replication.feature:44 174s Nov 13 09:52:39 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 174s Nov 13 09:52:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 174s Nov 13 09:52:39 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 178s Nov 13 09:52:43 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 178s Nov 13 09:52:43 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 178s Nov 13 09:52:43 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 178s Nov 13 09:52:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 178s Nov 13 09:52:43 And I shut down postgres1 # features/steps/basic_replication.py:29 181s Nov 13 09:52:46 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 182s Nov 13 09:52:47 When I start postgres1 # features/steps/basic_replication.py:8 186s Nov 13 09:52:51 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 186s Nov 13 09:52:51 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 186s Nov 13 09:52:51 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 186s Nov 13 09:52:51 186s Nov 13 09:52:51 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 186s Nov 13 09:52:51 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 188s Nov 13 09:52:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 188s Nov 13 09:52:53 When I sleep for 2 seconds # features/steps/patroni_api.py:39 190s Nov 13 09:52:55 And I shut down postgres0 # features/steps/basic_replication.py:29 191s Nov 13 09:52:56 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 193s Nov 13 09:52:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 193s Nov 13 09:52:58 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 212s Nov 13 09:53:17 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 214s Nov 13 09:53:19 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 214s Nov 13 09:53:19 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 214s Nov 13 09:53:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 214s Nov 13 09:53:19 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 214s Nov 13 09:53:19 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 217s Nov 13 09:53:22 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 218s Nov 13 09:53:23 218s Nov 13 09:53:23 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 218s Nov 13 09:53:23 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 218s Nov 13 09:53:23 And I start postgres0 # features/steps/basic_replication.py:8 218s Nov 13 09:53:23 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 226s Nov 13 09:53:31 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 226s Nov 13 09:53:31 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 226s Nov 13 09:53:31 226s Nov 13 09:53:31 @reject-duplicate-name 226s Nov 13 09:53:31 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 226s Nov 13 09:53:31 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 229s Nov 13 09:53:34 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 233s Nov 13 09:53:38 233s Nov 13 09:53:38 Feature: cascading replication # features/cascading_replication.feature:1 233s Nov 13 09:53:38 We should check that patroni can do base backup and streaming from the replica 233s Nov 13 09:53:38 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 233s Nov 13 09:53:38 Given I start postgres0 # features/steps/basic_replication.py:8 237s Nov 13 09:53:42 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 237s Nov 13 09:53:42 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 241s Nov 13 09:53:46 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 242s Nov 13 09:53:47 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 242s Nov 13 09:53:47 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 242s Nov 13 09:53:47 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 242s Nov 13 09:53:47 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 246s Nov 13 09:53:51 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 247s Nov 13 09:53:52 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 253s Nov 13 09:53:58 253s SKIP FEATURE citus: Citus extenstion isn't available 253s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 253s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 253s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 253s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 253s 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 253s Nov 13 09:53:58 Feature: citus # features/citus.feature:1 253s Nov 13 09:53:58 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 253s Nov 13 09:53:58 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 253s Nov 13 09:53:58 Given I start postgres0 in citus group 0 # None 253s Nov 13 09:53:58 And I start postgres2 in citus group 1 # None 253s Nov 13 09:53:58 Then postgres0 is a leader in a group 0 after 10 seconds # None 253s Nov 13 09:53:58 And postgres2 is a leader in a group 1 after 10 seconds # None 253s Nov 13 09:53:58 When I start postgres1 in citus group 0 # None 253s Nov 13 09:53:58 And I start postgres3 in citus group 1 # None 253s Nov 13 09:53:58 Then replication works from postgres0 to postgres1 after 15 seconds # None 253s Nov 13 09:53:58 Then replication works from postgres2 to postgres3 after 15 seconds # None 253s Nov 13 09:53:58 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 253s Nov 13 09:53:58 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 253s Nov 13 09:53:58 253s Nov 13 09:53:58 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 253s Nov 13 09:53:58 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 253s Nov 13 09:53:58 Then postgres1 role is the primary after 10 seconds # None 253s Nov 13 09:53:58 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 253s Nov 13 09:53:58 And replication works from postgres1 to postgres0 after 15 seconds # None 253s Nov 13 09:53:58 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 253s Nov 13 09:53:58 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 253s Nov 13 09:53:58 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 253s Nov 13 09:53:58 Then postgres0 role is the primary after 10 seconds # None 253s Nov 13 09:53:58 And replication works from postgres0 to postgres1 after 15 seconds # None 253s Nov 13 09:53:58 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 253s Nov 13 09:53:58 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 253s Nov 13 09:53:58 253s Nov 13 09:53:58 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 253s Nov 13 09:53:58 Given I create a distributed table on postgres0 # None 253s Nov 13 09:53:58 And I start a thread inserting data on postgres0 # None 253s Nov 13 09:53:58 When I run patronictl.py switchover batman --group 1 --force # None 253s Nov 13 09:53:58 Then I receive a response returncode 0 # None 253s Nov 13 09:53:58 And postgres3 role is the primary after 10 seconds # None 253s Nov 13 09:53:58 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 253s Nov 13 09:53:58 And replication works from postgres3 to postgres2 after 15 seconds # None 253s Nov 13 09:53:58 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 253s Nov 13 09:53:58 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 253s Nov 13 09:53:58 And a thread is still alive # None 253s Nov 13 09:53:58 When I run patronictl.py switchover batman --group 1 --force # None 253s Nov 13 09:53:58 Then I receive a response returncode 0 # None 253s Nov 13 09:53:58 And postgres2 role is the primary after 10 seconds # None 253s Nov 13 09:53:58 And replication works from postgres2 to postgres3 after 15 seconds # None 253s Nov 13 09:53:58 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 253s Nov 13 09:53:58 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 253s Nov 13 09:53:58 And a thread is still alive # None 253s Nov 13 09:53:58 When I stop a thread # None 253s Nov 13 09:53:58 Then a distributed table on postgres0 has expected rows # None 253s Nov 13 09:53:58 253s Nov 13 09:53:58 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 253s Nov 13 09:53:58 Given I cleanup a distributed table on postgres0 # None 253s Nov 13 09:53:58 And I start a thread inserting data on postgres0 # None 253s Nov 13 09:53:58 When I run patronictl.py restart batman postgres2 --group 1 --force # None 253s Nov 13 09:53:58 Then I receive a response returncode 0 # None 253s Nov 13 09:53:58 And postgres2 role is the primary after 10 seconds # None 253s Nov 13 09:53:58 And replication works from postgres2 to postgres3 after 15 seconds # None 253s Nov 13 09:53:58 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 253s Nov 13 09:53:58 And a thread is still alive # None 253s Nov 13 09:53:58 When I stop a thread # None 253s Nov 13 09:53:58 Then a distributed table on postgres0 has expected rows # None 253s Nov 13 09:53:58 253s Nov 13 09:53:58 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 253s Nov 13 09:53:58 Given I start postgres4 in citus group 2 # None 253s Nov 13 09:53:58 Then postgres4 is a leader in a group 2 after 10 seconds # None 253s Nov 13 09:53:58 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 253s Nov 13 09:53:58 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 253s Nov 13 09:53:58 Then I receive a response returncode 0 # None 253s Nov 13 09:53:58 And I receive a response output "+ttl: 20" # None 253s Nov 13 09:53:58 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 253s Nov 13 09:53:58 When I shut down postgres4 # None 253s Nov 13 09:53:58 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 253s Nov 13 09:53:58 When I run patronictl.py restart batman postgres2 --group 1 --force # None 253s Nov 13 09:53:58 Then a transaction finishes in 20 seconds # None 253s Nov 13 09:53:58 253s Nov 13 09:53:58 Feature: custom bootstrap # features/custom_bootstrap.feature:1 253s Nov 13 09:53:58 We should check that patroni can bootstrap a new cluster from a backup 253s Nov 13 09:53:58 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 253s Nov 13 09:53:58 Given I start postgres0 # features/steps/basic_replication.py:8 257s Nov 13 09:54:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 257s Nov 13 09:54:02 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 257s Nov 13 09:54:02 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 262s Nov 13 09:54:07 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 263s Nov 13 09:54:08 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 263s Nov 13 09:54:08 263s Nov 13 09:54:08 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 263s Nov 13 09:54:08 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 263s Nov 13 09:54:08 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 264s Nov 13 09:54:09 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 270s Nov 13 09:54:15 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 270s Nov 13 09:54:15 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 276s Nov 13 09:54:21 276s Nov 13 09:54:21 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 276s Nov 13 09:54:21 We should check the basic dcs failsafe mode functioning 276s Nov 13 09:54:21 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 276s Nov 13 09:54:21 Given I start postgres0 # features/steps/basic_replication.py:8 280s Nov 13 09:54:25 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 280s Nov 13 09:54:25 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 280s Nov 13 09:54:25 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 280s Nov 13 09:54:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 280s Nov 13 09:54:25 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 281s Nov 13 09:54:26 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 281s Nov 13 09:54:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 281s Nov 13 09:54:26 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 281s Nov 13 09:54:26 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 281s Nov 13 09:54:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 281s Nov 13 09:54:26 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 281s Nov 13 09:54:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 281s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 281s Nov 13 09:54:26SKIP 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 281s 281s Nov 13 09:54:26 @dcs-failsafe 281s Nov 13 09:54:26 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 281s Nov 13 09:54:26 Given DCS is down # None 281s Nov 13 09:54:26 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 281s Nov 13 09:54:26 And postgres0 role is the primary after 10 seconds # None 281s Nov 13 09:54:26 281s Nov 13 09:54:26 @dcs-failsafe 281s Nov 13 09:54:26 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 281s Nov 13 09:54:26 Given DCS is up # None 281s Nov 13 09:54:26 When I do a backup of postgres0 # None 281s Nov 13 09:54:26 And I shut down postgres0 # None 281s Nov 13 09:54:26 When I start postgres1 in a cluster batman from backup with no_leader # None 281s Nov 13 09:54:26 Then postgres1 role is the replica after 12 seconds # None 281s Nov 13 09:54:26 281s Nov 13 09:54:26 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 281s Nov 13 09:54:26 Given I start postgres0 # features/steps/basic_replication.py:8 281s Nov 13 09:54:26 And I start postgres1 # features/steps/basic_replication.py:8 285s Nov 13 09:54:30 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 285s Nov 13 09:54:30 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 285s Nov 13 09:54:30 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 286s Nov 13 09:54:31 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 286s Nov 13 09:54:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 286s Nov 13 09:54:31 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 286s Nov 13 09:54:31 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 286s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 286s 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 286s 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 286s Nov 13 09:54:31 286s Nov 13 09:54:31 @dcs-failsafe @slot-advance 286s Nov 13 09:54:31 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 286s Nov 13 09:54:31 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 286s Nov 13 09:54:31 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 286s Nov 13 09:54:31 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 286s Nov 13 09:54:31 And DCS is down # None 286s Nov 13 09:54:31 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 286s Nov 13 09:54:31 Then postgres0 role is the primary after 10 seconds # None 286s Nov 13 09:54:31 And postgres1 role is the replica after 2 seconds # None 286s Nov 13 09:54:31 And replication works from postgres0 to postgres1 after 10 seconds # None 286s Nov 13 09:54:31 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 286s Nov 13 09:54:31 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 286s Nov 13 09:54:31 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 286s Nov 13 09:54:31 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 286s Nov 13 09:54:31 286s Nov 13 09:54:31 @dcs-failsafe 286s Nov 13 09:54:31 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 286s Nov 13 09:54:31 Given DCS is down # None 286s Nov 13 09:54:31 And I kill postgres1 # None 286s Nov 13 09:54:31 And I kill postmaster on postgres1 # None 286s Nov 13 09:54:31 Then postgres0 role is the replica after 12 seconds # None 286s Nov 13 09:54:31 286s Nov 13 09:54:31 @dcs-failsafe 286s Nov 13 09:54:31 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 286s Nov 13 09:54:31 Given I kill postgres0 # None 286s Nov 13 09:54:31 And I shut down postmaster on postgres0 # None 286s Nov 13 09:54:31 And DCS is up # None 286s Nov 13 09:54:31 When I start postgres1 # None 286s Nov 13 09:54:31 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 286s Nov 13 09:54:31 And postgres1 role is the primary after 25 seconds # None 286s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 286s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 286s Nov 13 09:54:31 286s Nov 13 09:54:31 @dcs-failsafe 286s Nov 13 09:54:31 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 286s Nov 13 09:54:31 Given I start postgres0 # None 286s Nov 13 09:54:31 And I start postgres2 # None 286s Nov 13 09:54:31 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 286s Nov 13 09:54:31 And "members/postgres0" key in DCS has state=running after 20 seconds # None 286s Nov 13 09:54:31 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 286s Nov 13 09:54:31 And replication works from postgres1 to postgres0 after 10 seconds # None 286s Nov 13 09:54:31 And replication works from postgres1 to postgres2 after 10 seconds # None 286s Nov 13 09:54:31 286s Nov 13 09:54:31 @dcs-failsafe @slot-advance 286s Nov 13 09:54:31 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 286s Nov 13 09:54:31 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 286s Nov 13 09:54:31 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 286s Nov 13 09:54:31 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 286s Nov 13 09:54:31 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 286s Nov 13 09:54:31 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 286s Nov 13 09:54:31 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 286s Nov 13 09:54:31 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 286s Nov 13 09:54:31 286s Nov 13 09:54:31 @dcs-failsafe 286s Nov 13 09:54:31 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 286s Nov 13 09:54:31 Given DCS is down # None 286s Nov 13 09:54:31 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 286s Nov 13 09:54:31 Then postgres1 role is the primary after 10 seconds # None 286s Nov 13 09:54:31 And postgres0 role is the replica after 2 seconds # None 286s Nov 13 09:54:31 And postgres2 role is the replica after 2 seconds # None 286s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 286s 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 290s Nov 13 09:54:35 290s Nov 13 09:54:35 @dcs-failsafe @slot-advance 290s Nov 13 09:54:35 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 290s Nov 13 09:54:35 Given replication works from postgres1 to postgres0 after 10 seconds # None 290s Nov 13 09:54:35 And replication works from postgres1 to postgres2 after 10 seconds # None 290s Nov 13 09:54:35 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 290s Nov 13 09:54:35 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 290s Nov 13 09:54:35 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 290s Nov 13 09:54:35 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 290s Nov 13 09:54:35 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 290s Nov 13 09:54:35 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 290s Nov 13 09:54:35 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 290s Nov 13 09:54:35 290s Nov 13 09:54:35 Feature: ignored slots # features/ignored_slots.feature:1 290s Nov 13 09:54:35 290s Nov 13 09:54:35 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 290s Nov 13 09:54:35 Given I start postgres1 # features/steps/basic_replication.py:8 294s Nov 13 09:54:39 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 294s Nov 13 09:54:39 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 294s Nov 13 09:54:39 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 294s Nov 13 09:54:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 294s Nov 13 09:54:39 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 294s Nov 13 09:54:39 When I shut down postgres1 # features/steps/basic_replication.py:29 296s Nov 13 09:54:41 And I start postgres1 # features/steps/basic_replication.py:8 299s Nov 13 09:54:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 300s Nov 13 09:54:45 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 301s Nov 13 09:54:46 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 301s Nov 13 09:54:46 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 301s Nov 13 09:54:46 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 301s Nov 13 09:54:46 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 301s Nov 13 09:54:46 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 301s Nov 13 09:54:46 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 301s Nov 13 09:54:46 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 301s Nov 13 09:54:46 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 301s Nov 13 09:54:46 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 301s Nov 13 09:54:46 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 301s Nov 13 09:54:46 When I start postgres0 # features/steps/basic_replication.py:8 305s Nov 13 09:54:50 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 305s Nov 13 09:54:50 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 305s Nov 13 09:54:50 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 306s Nov 13 09:54:51 When I shut down postgres1 # features/steps/basic_replication.py:29 308s Nov 13 09:54:53 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 309s Nov 13 09:54:54 When I start postgres1 # features/steps/basic_replication.py:8 313s Nov 13 09:54:58 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 313s Nov 13 09:54:58 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 313s Nov 13 09:54:58 And I sleep for 2 seconds # features/steps/patroni_api.py:39 315s Nov 13 09:55:00 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 315s Nov 13 09:55:00 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 315s Nov 13 09:55:00 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 315s Nov 13 09:55:00 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 315s Nov 13 09:55:00 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 315s Nov 13 09:55:00 When I shut down postgres0 # features/steps/basic_replication.py:29 317s Nov 13 09:55:02 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 318s Nov 13 09:55:03 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 318s Nov 13 09:55: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 318s Nov 13 09:55: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 318s Nov 13 09:55: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 320s Nov 13 09:55:05 320s Nov 13 09:55:05 Feature: nostream node # features/nostream_node.feature:1 320s Nov 13 09:55:05 320s Nov 13 09:55:05 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 320s Nov 13 09:55:05 When I start postgres0 # features/steps/basic_replication.py:8 324s Nov 13 09:55:09 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 328s Nov 13 09:55:13 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 329s Nov 13 09:55:14 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 334s Nov 13 09:55:19 335s Nov 13 09:55:19 @slot-advance 335s Nov 13 09:55:19 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 335s Nov 13 09:55:19 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 335s Nov 13 09:55:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 335s Nov 13 09:55:19 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 337s Nov 13 09:55:22 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 338s Nov 13 09:55:23 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 342s Nov 13 09:55:27 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 349s Nov 13 09:55:34 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 349s Nov 13 09:55:34 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 355s Nov 13 09:55:40 355s Nov 13 09:55:40 Feature: patroni api # features/patroni_api.feature:1 355s Nov 13 09:55:40 We should check that patroni correctly responds to valid and not-valid API requests. 355s Nov 13 09:55:40 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 355s Nov 13 09:55:40 Given I start postgres0 # features/steps/basic_replication.py:8 359s Nov 13 09:55:44 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 359s Nov 13 09:55:44 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 359s Nov 13 09:55:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 359s Nov 13 09:55:44 And I receive a response state running # features/steps/patroni_api.py:98 359s Nov 13 09:55:44 And I receive a response role master # features/steps/patroni_api.py:98 359s Nov 13 09:55:44 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 359s Nov 13 09:55:44 Then I receive a response code 503 # features/steps/patroni_api.py:98 359s Nov 13 09:55:44 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 359s Nov 13 09:55:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 359s Nov 13 09:55:44 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 360s Nov 13 09:55:45 Then I receive a response code 503 # features/steps/patroni_api.py:98 360s Nov 13 09:55:45 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 360s Nov 13 09:55:45 Then I receive a response code 503 # features/steps/patroni_api.py:98 360s Nov 13 09:55:45 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 360s Nov 13 09:55:45 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 362s Nov 13 09:55:47 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 362s Nov 13 09:55:47 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 362s Nov 13 09:55:47 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 362s Nov 13 09:55:47 Then I receive a response code 412 # features/steps/patroni_api.py:98 362s Nov 13 09:55:47 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 362s Nov 13 09:55:47 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 362s Nov 13 09:55:47 Then I receive a response code 400 # features/steps/patroni_api.py:98 362s Nov 13 09:55:47 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 362s Nov 13 09:55:47 Then I receive a response code 400 # features/steps/patroni_api.py:98 362s Nov 13 09:55:47 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 362s Nov 13 09:55:47 362s Nov 13 09:55:47 Scenario: check local configuration reload # features/patroni_api.feature:32 362s Nov 13 09:55:47 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 362s Nov 13 09:55:47 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 362s Nov 13 09:55:47 Then I receive a response code 202 # features/steps/patroni_api.py:98 362s Nov 13 09:55:47 362s Nov 13 09:55:47 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 362s Nov 13 09:55:47 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 362s Nov 13 09:55:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 362s Nov 13 09:55:47 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 365s Nov 13 09:55:50 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 365s Nov 13 09:55:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 365s Nov 13 09:55:50 And I receive a response ttl 20 # features/steps/patroni_api.py:98 365s Nov 13 09:55:50 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 365s Nov 13 09:55:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 365s Nov 13 09:55:50 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 365s Nov 13 09:55:50 And I sleep for 4 seconds # features/steps/patroni_api.py:39 369s Nov 13 09:55:54 369s Nov 13 09:55:54 Scenario: check the scheduled restart # features/patroni_api.feature:49 369s Nov 13 09:55:54 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 371s Nov 13 09:55:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 371s Nov 13 09:55:56 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 371s Nov 13 09:55:56 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 371s Nov 13 09:55:56 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 371s Nov 13 09:55:56 Then I receive a response code 202 # features/steps/patroni_api.py:98 371s Nov 13 09:55:56 And I sleep for 8 seconds # features/steps/patroni_api.py:39 379s Nov 13 09:56:04 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 379s Nov 13 09:56:04 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 379s Nov 13 09:56:04 Then I receive a response code 202 # features/steps/patroni_api.py:98 379s Nov 13 09:56:04 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 386s Nov 13 09:56:11 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 387s Nov 13 09:56:12 387s Nov 13 09:56:12 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 387s Nov 13 09:56:12 Given I start postgres1 # features/steps/basic_replication.py:8 391s Nov 13 09:56:16 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 392s Nov 13 09:56:17 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 394s Nov 13 09:56:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 394s Nov 13 09:56:19 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 394s Nov 13 09:56:19 waiting for server to shut down.... done 394s Nov 13 09:56:19 server stopped 394s Nov 13 09:56:19 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 394s Nov 13 09:56:19 Then I receive a response code 503 # features/steps/patroni_api.py:98 394s Nov 13 09:56:19 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 396s Nov 13 09:56:21 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 400s Nov 13 09:56:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 400s Nov 13 09:56:25 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 401s Nov 13 09:56:26 And I sleep for 2 seconds # features/steps/patroni_api.py:39 403s Nov 13 09:56:28 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 403s Nov 13 09:56:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 403s Nov 13 09:56:28 And I receive a response state running # features/steps/patroni_api.py:98 403s Nov 13 09:56:28 And I receive a response role replica # features/steps/patroni_api.py:98 403s Nov 13 09:56:28 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 407s Nov 13 09:56:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 407s Nov 13 09:56:32 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 407s Nov 13 09:56:32 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 408s Nov 13 09:56:33 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 409s Nov 13 09:56:34 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 412s Nov 13 09:56:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 412s Nov 13 09:56:37 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 412s Nov 13 09:56:37 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 413s Nov 13 09:56:38 413s Nov 13 09:56:38 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 413s Nov 13 09:56:38 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 415s Nov 13 09:56:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 415s Nov 13 09:56:40 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 415s Nov 13 09:56:40 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 416s Nov 13 09:56:41 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 420s Nov 13 09:56:45 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 420s Nov 13 09:56:45 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 421s Nov 13 09:56:46 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 421s Nov 13 09:56:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 421s Nov 13 09:56:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 421s Nov 13 09:56:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 421s Nov 13 09:56:46 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 421s Nov 13 09:56:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 421s Nov 13 09:56:46 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 421s Nov 13 09:56:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 421s Nov 13 09:56:46 421s Nov 13 09:56:46 Scenario: check the scheduled switchover # features/patroni_api.feature:107 421s Nov 13 09:56:46 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 423s Nov 13 09:56:48 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 423s Nov 13 09:56:48 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 423s Nov 13 09:56:48 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 425s Nov 13 09:56:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 425s Nov 13 09:56:50 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 427s Nov 13 09:56:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 427s Nov 13 09:56:52 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 437s Nov 13 09:57:02 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 437s Nov 13 09:57:02 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 440s Nov 13 09:57:05 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 440s Nov 13 09:57:05 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 441s Nov 13 09:57:06 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 441s Nov 13 09:57:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 441s Nov 13 09:57:06 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 441s Nov 13 09:57:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 441s Nov 13 09:57:06 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 441s Nov 13 09:57:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 441s Nov 13 09:57:06 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 441s Nov 13 09:57:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 445s Nov 13 09:57:10 445s Nov 13 09:57:10 Feature: permanent slots # features/permanent_slots.feature:1 445s Nov 13 09:57:10 445s Nov 13 09:57:10 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 445s Nov 13 09:57:10 Given I start postgres0 # features/steps/basic_replication.py:8 449s Nov 13 09:57:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 449s Nov 13 09:57:14 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 449s Nov 13 09:57:14 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 450s Nov 13 09:57:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 450s Nov 13 09:57:15 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 450s Nov 13 09:57:15 When I start postgres1 # features/steps/basic_replication.py:8 454s Nov 13 09:57:19 And I start postgres2 # features/steps/basic_replication.py:8 458s Nov 13 09:57:23 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 462s Nov 13 09:57:27 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 462s Nov 13 09:57:27 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 462s Nov 13 09:57:27 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 462s Nov 13 09:57:27 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 462s Nov 13 09:57:27 462s Nov 13 09:57:27 @slot-advance 462s Nov 13 09:57:27 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 462s Nov 13 09:57:27 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 465s Nov 13 09:57:30 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 465s Nov 13 09:57:30 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 466s Nov 13 09:57:31 466s Nov 13 09:57:31 @slot-advance 466s Nov 13 09:57:31 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 466s Nov 13 09:57:31 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 471s Nov 13 09:57:36 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 471s Nov 13 09:57:36 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 472s Nov 13 09:57:37 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 473s Nov 13 09:57:38 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 473s Nov 13 09:57:38 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 473s Nov 13 09:57:38 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 473s Nov 13 09:57:38 473s Nov 13 09:57:38 @slot-advance 473s Nov 13 09:57:38 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 473s Nov 13 09:57:38 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 473s Nov 13 09:57:38 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 473s Nov 13 09:57:38 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 473s Nov 13 09:57:38 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 473s Nov 13 09:57:38 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 473s Nov 13 09:57:38 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 473s Nov 13 09:57:38 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 473s Nov 13 09:57:38 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 473s Nov 13 09:57:38 473s Nov 13 09:57:38 @slot-advance 473s Nov 13 09:57:38 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 473s Nov 13 09:57:38 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 473s Nov 13 09:57:38 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 473s Nov 13 09:57:38 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 473s Nov 13 09:57:38 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 475s Nov 13 09:57:40 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 475s Nov 13 09:57:40 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 475s Nov 13 09:57:40 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 475s Nov 13 09:57:40 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 475s Nov 13 09:57:40 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 475s Nov 13 09:57:40 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 475s Nov 13 09:57:40 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 475s Nov 13 09:57:40 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 475s Nov 13 09:57:40 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 475s Nov 13 09:57:40 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 475s Nov 13 09:57:40 475s Nov 13 09:57:40 @slot-advance 475s Nov 13 09:57:40 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 475s Nov 13 09:57:40 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 475s Nov 13 09:57:40 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 475s Nov 13 09:57:40 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 475s Nov 13 09:57:40 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 475s Nov 13 09:57:40 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 475s Nov 13 09:57:40 475s Nov 13 09:57:40 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 475s Nov 13 09:57:40 Given I shut down postgres3 # features/steps/basic_replication.py:29 476s Nov 13 09:57:41 And I shut down postgres2 # features/steps/basic_replication.py:29 477s Nov 13 09:57:42 And I shut down postgres0 # features/steps/basic_replication.py:29 479s Nov 13 09:57:44 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 479s Nov 13 09:57:44 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 479s Nov 13 09:57:44 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 482s Nov 13 09:57:47 482s Nov 13 09:57:47 Feature: priority replication # features/priority_failover.feature:1 482s Nov 13 09:57:47 We should check that we can give nodes priority during failover 482s Nov 13 09:57:47 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 482s Nov 13 09:57:47 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 486s Nov 13 09:57:51 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 490s Nov 13 09:57:55 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 491s Nov 13 09:57:56 When I shut down postgres0 # features/steps/basic_replication.py:29 493s Nov 13 09:57:58 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 495s Nov 13 09:58:00 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 495s Nov 13 09:58:00 When I start postgres0 # features/steps/basic_replication.py:8 498s Nov 13 09:58:03 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 500s Nov 13 09:58:05 500s Nov 13 09:58:05 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 500s Nov 13 09:58:05 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 504s Nov 13 09:58:09 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 508s Nov 13 09:58:13 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 509s Nov 13 09:58:14 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 510s Nov 13 09:58:15 When I shut down postgres0 # features/steps/basic_replication.py:29 512s Nov 13 09:58:17 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 513s Nov 13 09:58:18 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 513s Nov 13 09:58:18 513s Nov 13 09:58:18 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 513s Nov 13 09:58:18 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 513s Nov 13 09:58:18 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 513s Nov 13 09:58:18 Then I receive a response code 202 # features/steps/patroni_api.py:98 513s Nov 13 09:58:18 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 516s Nov 13 09:58:21 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 517s Nov 13 09:58:22 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 517s Nov 13 09:58:22 Then I receive a response code 412 # features/steps/patroni_api.py:98 517s Nov 13 09:58:22 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 517s Nov 13 09:58:22 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 517s Nov 13 09:58:22 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 517s Nov 13 09:58:22 Then I receive a response code 202 # features/steps/patroni_api.py:98 517s Nov 13 09:58:22 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 518s Nov 13 09:58:23 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 519s Nov 13 09:58:24 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 522s Nov 13 09:58:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 523s Nov 13 09:58:27 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 528s Nov 13 09:58:33 528s Nov 13 09:58:33 Feature: recovery # features/recovery.feature:1 528s Nov 13 09:58:33 We want to check that crashed postgres is started back 528s Nov 13 09:58:33 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 528s Nov 13 09:58:33 Given I start postgres0 # features/steps/basic_replication.py:8 532s Nov 13 09:58:37 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 532s Nov 13 09:58:37 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 532s Nov 13 09:58:37 When I start postgres1 # features/steps/basic_replication.py:8 536s Nov 13 09:58:41 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 536s Nov 13 09:58:41 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 536s Nov 13 09:58:41 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 537s Nov 13 09:58:42 waiting for server to shut down.... done 537s Nov 13 09:58:42 server stopped 537s Nov 13 09:58:42 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 539s Nov 13 09:58:44 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 539s Nov 13 09:58:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 539s Nov 13 09:58:44 And I receive a response role master # features/steps/patroni_api.py:98 539s Nov 13 09:58:44 And I receive a response timeline 1 # features/steps/patroni_api.py:98 539s Nov 13 09:58:44 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 540s Nov 13 09:58:45 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 541s Nov 13 09:58:46 541s Nov 13 09:58:46 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 541s Nov 13 09:58:46 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 541s Nov 13 09:58:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 541s Nov 13 09:58:46 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 541s Nov 13 09:58:46 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 541s Nov 13 09:58:46 waiting for server to shut down.... done 541s Nov 13 09:58:46 server stopped 541s Nov 13 09:58:46 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 546s Nov 13 09:58:51 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 550s Nov 13 09:58:55 550s Nov 13 09:58:55 Feature: standby cluster # features/standby_cluster.feature:1 550s Nov 13 09:58:55 550s Nov 13 09:58:55 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 550s Nov 13 09:58:55 Given I start postgres1 # features/steps/basic_replication.py:8 554s Nov 13 09:58:59 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 554s Nov 13 09:58:59 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 554s Nov 13 09:58:59 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 554s Nov 13 09:58:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 554s Nov 13 09:58:59 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 554s Nov 13 09:58:59 And I sleep for 3 seconds # features/steps/patroni_api.py:39 557s Nov 13 09:59:02 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 557s Nov 13 09:59:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 557s Nov 13 09:59:02 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 558s Nov 13 09:59:03 When I start postgres0 # features/steps/basic_replication.py:8 562s Nov 13 09:59:07 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 562s Nov 13 09:59:07 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 563s Nov 13 09:59:08 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 563s Nov 13 09:59:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 563s Nov 13 09:59:08 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 563s Nov 13 09:59:08 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 564s Nov 13 09:59:09 564s Nov 13 09:59:09 @slot-advance 564s Nov 13 09:59:09 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 564s Nov 13 09:59:09 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 566s Nov 13 09:59:11 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 573s Nov 13 09:59:17 573s Nov 13 09:59:17 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 573s Nov 13 09:59:17 When I shut down postgres1 # features/steps/basic_replication.py:29 575s Nov 13 09:59:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 575s Nov 13 09:59:19 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 576s Nov 13 09:59:21 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 576s Nov 13 09:59:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 576s Nov 13 09:59:21 576s Nov 13 09:59:21 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 576s Nov 13 09:59:21 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 580s Nov 13 09:59:25 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 580s Nov 13 09:59:25 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 580s Nov 13 09:59:25 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 580s Nov 13 09:59:25 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 580s Nov 13 09:59:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 580s Nov 13 09:59:25 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 580s Nov 13 09:59:25 And I sleep for 3 seconds # features/steps/patroni_api.py:39 583s Nov 13 09:59:28 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 583s Nov 13 09:59:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 583s Nov 13 09:59:28 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 583s Nov 13 09:59:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 583s Nov 13 09:59:28 And I receive a response role standby_leader # features/steps/patroni_api.py:98 583s Nov 13 09:59:28 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 583s Nov 13 09:59:28 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 587s Nov 13 09:59:32 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 587s Nov 13 09:59:32 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 587s Nov 13 09:59:32 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 587s Nov 13 09:59:32 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 587s Nov 13 09:59:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 587s Nov 13 09:59:32 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 587s Nov 13 09:59:32 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 587s Nov 13 09:59:32 587s Nov 13 09:59:32 Scenario: check switchover # features/standby_cluster.feature:57 587s Nov 13 09:59:32 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 591s Nov 13 09:59:36 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 591s Nov 13 09:59:36 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 594s Nov 13 09:59:39 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 594s Nov 13 09:59:39 594s Nov 13 09:59:39 Scenario: check failover # features/standby_cluster.feature:63 594s Nov 13 09:59:39 When I kill postgres2 # features/steps/basic_replication.py:34 595s Nov 13 09:59:40 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 595s Nov 13 09:59:40 waiting for server to shut down.... done 595s Nov 13 09:59:40 server stopped 595s Nov 13 09:59:40 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 613s Nov 13 09:59:58 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 613s Nov 13 09:59:58 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 613s Nov 13 09:59:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 613s Nov 13 09:59:58 And I receive a response role standby_leader # features/steps/patroni_api.py:98 613s Nov 13 09:59:58 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 614s Nov 13 09:59:59 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 619s Nov 13 10:00:04 619s Nov 13 10:00:04 Feature: watchdog # features/watchdog.feature:1 619s Nov 13 10:00:04 Verify that watchdog gets pinged and triggered under appropriate circumstances. 619s Nov 13 10:00:04 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 619s Nov 13 10:00:04 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 623s Nov 13 10:00:08 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 623s Nov 13 10:00:08 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 623s Nov 13 10:00:08 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 624s Nov 13 10:00:09 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 624s Nov 13 10:00:09 624s Nov 13 10:00:09 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 624s Nov 13 10:00:09 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 626s Nov 13 10:00:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 626s Nov 13 10:00:11 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 626s Nov 13 10:00:11 When I sleep for 4 seconds # features/steps/patroni_api.py:39 630s Nov 13 10:00:15 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 630s Nov 13 10:00:15 630s Nov 13 10:00:15 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 630s Nov 13 10:00:15 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 632s Nov 13 10:00:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 632s Nov 13 10:00:17 When I sleep for 2 seconds # features/steps/patroni_api.py:39 634s Nov 13 10:00:19 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 634s Nov 13 10:00:19 634s Nov 13 10:00:19 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 634s Nov 13 10:00:19 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 634s Nov 13 10:00:19 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 636s Nov 13 10:00:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 636s Nov 13 10:00:21 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 637s Nov 13 10:00:22 637s Nov 13 10:00:22 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 637s Nov 13 10:00:22 Given I shut down postgres0 # features/steps/basic_replication.py:29 639s Nov 13 10:00:24 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 639s Nov 13 10:00:24 639s Nov 13 10:00:24 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 639s Nov 13 10:00:24 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 639s Nov 13 10:00:24 And I start postgres0 with watchdog # features/steps/watchdog.py:16 642s Nov 13 10:00:27 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 644s Nov 13 10:00:29 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 644s Nov 13 10:00:29 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 671s Nov 13 10:00:56 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.4842.XumGyizx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.4887.XlWnVgjx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.4934.XbbHFDRx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.4984.XDlUmWEx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5032.XemvdSWx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5104.XFJpoRxx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5153.XvNzlhmx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5156.XHCBfTSx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5242.XLAXGArx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5338.XrbbyBkx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5346.XuOMgKmx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5389.XjVGOBpx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5444.XMsIPgzx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5559.XGRfCsvx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5604.XxmGBnkx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5659.XIWWIpSx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5746.XbDDmpQx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5795.XURqASfx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5885.XPPrHPMx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5937.XJEcpLvx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.5999.XASszqDx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6089.XyhEPcZx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6190.XHmuzTZx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6233.XisgnyXx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6294.Xzznmwfx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6329.XuEyfgIx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6490.XffShfVx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6539.XJMSmtQx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6555.XbmTSWtx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6594.XrCATSIx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6643.XmhiMpZx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6648.XiYhJIZx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6683.XEsfDnrx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6725.XhdPFxHx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6886.XPeoXfSx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6888.XGawfTEx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.6894.XvUPoVIx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7027.XRILVjVx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7072.XOWUHAOx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7121.XxSkTAJx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7164.XEQcKzbx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7209.XdqGXPJx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7377.Xqmcarvx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7420.XKZhijgx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7494.XwyNVeJx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7573.XtVcvHpx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7639.XlvCxpfx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.7992.XOGUdfPx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8035.XJuTvtqx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8177.XuOYRULx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8240.XOYkDylx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8300.Xiumvcpx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8398.XppvclZx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8514.XdpORcSx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8651.XnvDEZKx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8694.XUGgHpGx 671s Nov 13 10:00:56 Skipping duplicate data .coverage.autopkgtest.8696.XcuaGpRx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8699.XojxHdyx 671s Nov 13 10:00:56 Combined data file .coverage.autopkgtest.8710.XPCRCMvx 674s Nov 13 10:00:59 Name Stmts Miss Cover 674s Nov 13 10:00:59 ------------------------------------------------------------------------------------------------------------- 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/__main__.py 199 62 69% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/api.py 770 285 63% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 78 88% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 128 81% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 253 58% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/ha.py 1244 362 71% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 168 80% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 215 74% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 37 89% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 18 86% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/utils.py 350 104 70% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/six.py 504 250 50% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/response.py 562 280 50% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 674s Nov 13 10:00:59 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 674s Nov 13 10:00:59 patroni/__init__.py 13 2 85% 674s Nov 13 10:00:59 patroni/__main__.py 199 199 0% 674s Nov 13 10:00:59 patroni/api.py 770 770 0% 674s Nov 13 10:00:59 patroni/async_executor.py 96 69 28% 674s Nov 13 10:00:59 patroni/collections.py 56 15 73% 674s Nov 13 10:00:59 patroni/config.py 371 196 47% 674s Nov 13 10:00:59 patroni/config_generator.py 212 212 0% 674s Nov 13 10:00:59 patroni/ctl.py 936 411 56% 674s Nov 13 10:00:59 patroni/daemon.py 76 76 0% 674s Nov 13 10:00:59 patroni/dcs/__init__.py 646 269 58% 674s Nov 13 10:00:59 patroni/dcs/consul.py 485 485 0% 674s Nov 13 10:00:59 patroni/dcs/etcd3.py 679 346 49% 674s Nov 13 10:00:59 patroni/dcs/etcd.py 603 277 54% 674s Nov 13 10:00:59 patroni/dcs/exhibitor.py 61 61 0% 674s Nov 13 10:00:59 patroni/dcs/kubernetes.py 938 938 0% 674s Nov 13 10:00:59 patroni/dcs/raft.py 319 319 0% 674s Nov 13 10:00:59 patroni/dcs/zookeeper.py 288 288 0% 674s Nov 13 10:00:59 patroni/dynamic_loader.py 35 7 80% 674s Nov 13 10:00:59 patroni/exceptions.py 16 1 94% 674s Nov 13 10:00:59 patroni/file_perm.py 43 15 65% 674s Nov 13 10:00:59 patroni/global_config.py 81 18 78% 674s Nov 13 10:00:59 patroni/ha.py 1244 1244 0% 674s Nov 13 10:00:59 patroni/log.py 219 173 21% 674s Nov 13 10:00:59 patroni/postgresql/__init__.py 821 651 21% 674s Nov 13 10:00:59 patroni/postgresql/available_parameters/__init__.py 21 1 95% 674s Nov 13 10:00:59 patroni/postgresql/bootstrap.py 252 222 12% 674s Nov 13 10:00:59 patroni/postgresql/callback_executor.py 55 34 38% 674s Nov 13 10:00:59 patroni/postgresql/cancellable.py 104 84 19% 674s Nov 13 10:00:59 patroni/postgresql/config.py 813 698 14% 674s Nov 13 10:00:59 patroni/postgresql/connection.py 75 50 33% 674s Nov 13 10:00:59 patroni/postgresql/misc.py 41 29 29% 674s Nov 13 10:00:59 patroni/postgresql/mpp/__init__.py 89 21 76% 674s Nov 13 10:00:59 patroni/postgresql/mpp/citus.py 259 259 0% 674s Nov 13 10:00:59 patroni/postgresql/postmaster.py 170 139 18% 674s Nov 13 10:00:59 patroni/postgresql/rewind.py 416 416 0% 674s Nov 13 10:00:59 patroni/postgresql/slots.py 334 285 15% 674s Nov 13 10:00:59 patroni/postgresql/sync.py 130 96 26% 674s Nov 13 10:00:59 patroni/postgresql/validator.py 157 52 67% 674s Nov 13 10:00:59 patroni/psycopg.py 42 28 33% 674s Nov 13 10:00:59 patroni/raft_controller.py 22 22 0% 674s Nov 13 10:00:59 patroni/request.py 62 6 90% 674s Nov 13 10:00:59 patroni/scripts/__init__.py 0 0 100% 674s Nov 13 10:00:59 patroni/scripts/aws.py 59 59 0% 674s Nov 13 10:00:59 patroni/scripts/barman/__init__.py 0 0 100% 674s Nov 13 10:00:59 patroni/scripts/barman/cli.py 51 51 0% 674s Nov 13 10:00:59 patroni/scripts/barman/config_switch.py 51 51 0% 674s Nov 13 10:00:59 patroni/scripts/barman/recover.py 37 37 0% 674s Nov 13 10:00:59 patroni/scripts/barman/utils.py 94 94 0% 674s Nov 13 10:00:59 patroni/scripts/wale_restore.py 207 207 0% 674s Nov 13 10:00:59 patroni/tags.py 38 11 71% 674s Nov 13 10:00:59 patroni/utils.py 350 177 49% 674s Nov 13 10:00:59 patroni/validator.py 301 215 29% 674s Nov 13 10:00:59 patroni/version.py 1 0 100% 674s Nov 13 10:00:59 patroni/watchdog/__init__.py 2 2 0% 674s Nov 13 10:00:59 patroni/watchdog/base.py 203 203 0% 674s Nov 13 10:00:59 patroni/watchdog/linux.py 135 135 0% 674s Nov 13 10:00:59 ------------------------------------------------------------------------------------------------------------- 674s Nov 13 10:00:59 TOTAL 53739 32245 40% 674s Nov 13 10:00:59 12 features passed, 0 failed, 1 skipped 674s Nov 13 10:00:59 46 scenarios passed, 0 failed, 14 skipped 674s Nov 13 10:00:59 466 steps passed, 0 failed, 119 skipped, 0 undefined 674s Nov 13 10:00:59 Took 7m59.439s 674s ### End 16 acceptance-etcd3 ### 674s + echo '### End 16 acceptance-etcd3 ###' 674s + rm -f '/tmp/pgpass?' 674s ++ id -u 674s + '[' 1000 -eq 0 ']' 675s autopkgtest [10:01:00]: test acceptance-etcd3: -----------------------] 675s acceptance-etcd3 PASS 675s autopkgtest [10:01:00]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 676s autopkgtest [10:01:01]: test acceptance-etcd-basic: preparing testbed 781s autopkgtest [10:02:46]: testbed dpkg architecture: arm64 781s autopkgtest [10:02:46]: testbed apt version: 2.9.8 781s autopkgtest [10:02:46]: @@@@@@@@@@@@@@@@@@@@ test bed setup 782s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 782s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 782s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 782s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 782s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 783s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [104 kB] 783s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 783s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [601 kB] 783s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [17.1 kB] 783s Fetched 1794 kB in 1s (2088 kB/s) 783s Reading package lists... 786s Reading package lists... 787s Building dependency tree... 787s Reading state information... 788s Calculating upgrade... 789s The following NEW packages will be installed: 789s python3.13-gdbm 789s The following packages will be upgraded: 789s libpython3-stdlib python3 python3-gdbm python3-minimal 789s 4 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 789s Need to get 101 kB of archives. 789s After this operation, 141 kB of additional disk space will be used. 789s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.12.7-1 [27.4 kB] 789s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.12.7-1 [24.0 kB] 789s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.12.7-1 [10.0 kB] 789s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-gdbm arm64 3.13.0-2 [30.7 kB] 789s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-gdbm arm64 3.12.7-1 [8642 B] 790s Fetched 101 kB in 0s (270 kB/s) 790s (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.) 790s Preparing to unpack .../python3-minimal_3.12.7-1_arm64.deb ... 790s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 790s Setting up python3-minimal (3.12.7-1) ... 791s (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.) 791s Preparing to unpack .../python3_3.12.7-1_arm64.deb ... 791s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 791s Preparing to unpack .../libpython3-stdlib_3.12.7-1_arm64.deb ... 791s Unpacking libpython3-stdlib:arm64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 791s Selecting previously unselected package python3.13-gdbm. 791s Preparing to unpack .../python3.13-gdbm_3.13.0-2_arm64.deb ... 791s Unpacking python3.13-gdbm (3.13.0-2) ... 791s Preparing to unpack .../python3-gdbm_3.12.7-1_arm64.deb ... 791s Unpacking python3-gdbm:arm64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 791s Setting up python3.13-gdbm (3.13.0-2) ... 791s Setting up libpython3-stdlib:arm64 (3.12.7-1) ... 791s Setting up python3 (3.12.7-1) ... 792s Setting up python3-gdbm:arm64 (3.12.7-1) ... 792s Processing triggers for man-db (2.12.1-3) ... 793s Reading package lists... 793s Building dependency tree... 793s Reading state information... 795s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 796s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 796s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 796s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 796s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 797s Reading package lists... 797s Reading package lists... 798s Building dependency tree... 798s Reading state information... 799s Calculating upgrade... 801s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 801s Reading package lists... 801s Building dependency tree... 801s Reading state information... 803s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 812s Reading package lists... 812s Building dependency tree... 812s Reading state information... 813s Starting pkgProblemResolver with broken count: 0 813s Starting 2 pkgProblemResolver with broken count: 0 813s Done 815s The following additional packages will be installed: 815s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 815s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 815s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 815s patroni-doc postgresql postgresql-16 postgresql-client-16 815s postgresql-client-common postgresql-common python3-behave python3-cdiff 815s python3-click python3-colorama python3-coverage python3-dateutil 815s python3-dnspython python3-etcd python3-parse python3-parse-type 815s python3-prettytable python3-psutil python3-psycopg2 python3-six 815s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 815s Suggested packages: 815s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 815s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 815s python3-httpcore etcd python-psycopg2-doc 815s Recommended packages: 815s javascript-common libjson-xs-perl 815s The following NEW packages will be installed: 815s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 815s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 815s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 815s patroni-doc postgresql postgresql-16 postgresql-client-16 815s postgresql-client-common postgresql-common python3-behave python3-cdiff 815s python3-click python3-colorama python3-coverage python3-dateutil 815s python3-dnspython python3-etcd python3-parse python3-parse-type 815s python3-prettytable python3-psutil python3-psycopg2 python3-six 815s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 815s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 815s Need to get 34.5 MB/34.5 MB of archives. 815s After this operation, 126 MB of additional disk space will be used. 815s Get:1 /tmp/autopkgtest.MGe7DY/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 815s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 816s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 816s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 816s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 816s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 816s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.15-7 [10.5 MB] 817s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 817s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 817s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 817s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 817s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 817s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 817s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 817s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 817s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 817s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 817s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 817s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 817s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 817s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 817s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 817s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 817s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 817s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 817s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 817s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 817s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 817s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 817s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 818s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 818s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 818s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 818s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 818s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 819s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 819s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 819s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 819s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 819s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 819s Preconfiguring packages ... 819s Fetched 34.5 MB in 4s (9594 kB/s) 819s Selecting previously unselected package fonts-lato. 819s (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 ... 79931 files and directories currently installed.) 819s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 819s Unpacking fonts-lato (2.015-1) ... 820s Selecting previously unselected package libjson-perl. 820s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 820s Unpacking libjson-perl (4.10000-1) ... 820s Selecting previously unselected package postgresql-client-common. 820s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 820s Unpacking postgresql-client-common (262) ... 820s Selecting previously unselected package ssl-cert. 820s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 820s Unpacking ssl-cert (1.1.2ubuntu2) ... 820s Selecting previously unselected package postgresql-common. 820s Preparing to unpack .../04-postgresql-common_262_all.deb ... 820s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 820s Unpacking postgresql-common (262) ... 820s Selecting previously unselected package etcd-server. 820s Preparing to unpack .../05-etcd-server_3.5.15-7_arm64.deb ... 820s Unpacking etcd-server (3.5.15-7) ... 820s Selecting previously unselected package fonts-font-awesome. 820s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 820s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 820s Selecting previously unselected package libio-pty-perl. 820s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 820s Unpacking libio-pty-perl (1:1.20-1build3) ... 820s Selecting previously unselected package libipc-run-perl. 820s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 820s Unpacking libipc-run-perl (20231003.0-2) ... 820s Selecting previously unselected package libjs-jquery. 821s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 821s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 821s Selecting previously unselected package libjs-underscore. 821s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 821s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 821s Selecting previously unselected package libjs-sphinxdoc. 821s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 821s Unpacking libjs-sphinxdoc (7.4.7-4) ... 821s Selecting previously unselected package libpq5:arm64. 821s Preparing to unpack .../12-libpq5_17.0-1_arm64.deb ... 821s Unpacking libpq5:arm64 (17.0-1) ... 821s Selecting previously unselected package libtime-duration-perl. 821s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 821s Unpacking libtime-duration-perl (1.21-2) ... 821s Selecting previously unselected package libtimedate-perl. 821s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 821s Unpacking libtimedate-perl (2.3300-2) ... 821s Selecting previously unselected package libxslt1.1:arm64. 821s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 821s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 821s Selecting previously unselected package moreutils. 821s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 821s Unpacking moreutils (0.69-1) ... 821s Selecting previously unselected package python3-ydiff. 821s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 821s Unpacking python3-ydiff (1.3-1) ... 821s Selecting previously unselected package python3-cdiff. 821s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 821s Unpacking python3-cdiff (1.3-1) ... 821s Selecting previously unselected package python3-colorama. 821s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 821s Unpacking python3-colorama (0.4.6-4) ... 821s Selecting previously unselected package python3-click. 821s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 821s Unpacking python3-click (8.1.7-2) ... 821s Selecting previously unselected package python3-six. 821s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 821s Unpacking python3-six (1.16.0-7) ... 821s Selecting previously unselected package python3-dateutil. 821s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 821s Unpacking python3-dateutil (2.9.0-2) ... 821s Selecting previously unselected package python3-wcwidth. 821s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 821s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 821s Selecting previously unselected package python3-prettytable. 822s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 822s Unpacking python3-prettytable (3.10.1-1) ... 822s Selecting previously unselected package python3-psutil. 822s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_arm64.deb ... 822s Unpacking python3-psutil (5.9.8-2build2) ... 822s Selecting previously unselected package python3-psycopg2. 822s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_arm64.deb ... 822s Unpacking python3-psycopg2 (2.9.9-2) ... 822s Selecting previously unselected package python3-dnspython. 822s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 822s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 822s Selecting previously unselected package python3-etcd. 822s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 822s Unpacking python3-etcd (0.4.5-4) ... 822s Selecting previously unselected package patroni. 822s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 822s Unpacking patroni (3.3.1-1) ... 822s Selecting previously unselected package sphinx-rtd-theme-common. 822s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 822s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 822s Selecting previously unselected package patroni-doc. 822s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 822s Unpacking patroni-doc (3.3.1-1) ... 822s Selecting previously unselected package postgresql-client-16. 822s Preparing to unpack .../32-postgresql-client-16_16.4-3_arm64.deb ... 822s Unpacking postgresql-client-16 (16.4-3) ... 822s Selecting previously unselected package postgresql-16. 822s Preparing to unpack .../33-postgresql-16_16.4-3_arm64.deb ... 822s Unpacking postgresql-16 (16.4-3) ... 823s Selecting previously unselected package postgresql. 823s Preparing to unpack .../34-postgresql_16+262_all.deb ... 823s Unpacking postgresql (16+262) ... 823s Selecting previously unselected package python3-parse. 823s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 823s Unpacking python3-parse (1.20.2-1) ... 823s Selecting previously unselected package python3-parse-type. 823s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 823s Unpacking python3-parse-type (0.6.4-1) ... 823s Selecting previously unselected package python3-behave. 823s Preparing to unpack .../37-python3-behave_1.2.6-6_all.deb ... 823s Unpacking python3-behave (1.2.6-6) ... 823s Selecting previously unselected package python3-coverage. 823s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 823s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 823s Selecting previously unselected package autopkgtest-satdep. 823s Preparing to unpack .../39-2-autopkgtest-satdep.deb ... 823s Unpacking autopkgtest-satdep (0) ... 823s Setting up postgresql-client-common (262) ... 823s Setting up fonts-lato (2.015-1) ... 823s Setting up libio-pty-perl (1:1.20-1build3) ... 823s Setting up python3-colorama (0.4.6-4) ... 824s Setting up python3-ydiff (1.3-1) ... 824s Setting up libpq5:arm64 (17.0-1) ... 824s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 824s Setting up python3-click (8.1.7-2) ... 825s Setting up python3-psutil (5.9.8-2build2) ... 825s Setting up python3-six (1.16.0-7) ... 825s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 826s Setting up ssl-cert (1.1.2ubuntu2) ... 827s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 827s Setting up python3-psycopg2 (2.9.9-2) ... 827s Setting up libipc-run-perl (20231003.0-2) ... 827s Setting up libtime-duration-perl (1.21-2) ... 827s Setting up libtimedate-perl (2.3300-2) ... 827s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 828s Setting up python3-parse (1.20.2-1) ... 828s Setting up libjson-perl (4.10000-1) ... 828s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 828s Setting up python3-dateutil (2.9.0-2) ... 828s Setting up etcd-server (3.5.15-7) ... 828s info: Selecting UID from range 100 to 999 ... 828s 828s info: Selecting GID from range 100 to 999 ... 828s info: Adding system user `etcd' (UID 107) ... 828s info: Adding new group `etcd' (GID 111) ... 828s info: Adding new user `etcd' (UID 107) with group `etcd' ... 828s info: Creating home directory `/var/lib/etcd/' ... 829s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 829s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 830s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 830s Setting up python3-prettytable (3.10.1-1) ... 830s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 830s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 831s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 831s Setting up moreutils (0.69-1) ... 831s Setting up python3-etcd (0.4.5-4) ... 831s Setting up postgresql-client-16 (16.4-3) ... 832s 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 832s Setting up python3-cdiff (1.3-1) ... 832s Setting up python3-parse-type (0.6.4-1) ... 832s Setting up postgresql-common (262) ... 833s 833s Creating config file /etc/postgresql-common/createcluster.conf with new version 833s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 833s Removing obsolete dictionary files: 834s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 834s Setting up libjs-sphinxdoc (7.4.7-4) ... 834s Setting up python3-behave (1.2.6-6) ... 835s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 835s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 835s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 835s """Registers a custom type that will be available to "parse" 835s Setting up patroni (3.3.1-1) ... 835s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 836s Setting up postgresql-16 (16.4-3) ... 836s Creating new PostgreSQL cluster 16/main ... 836s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 836s The files belonging to this database system will be owned by user "postgres". 836s This user must also own the server process. 836s 836s The database cluster will be initialized with locale "C.UTF-8". 836s The default database encoding has accordingly been set to "UTF8". 836s The default text search configuration will be set to "english". 836s 836s Data page checksums are disabled. 836s 836s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 836s creating subdirectories ... ok 836s selecting dynamic shared memory implementation ... posix 836s selecting default max_connections ... 100 836s selecting default shared_buffers ... 128MB 837s selecting default time zone ... Etc/UTC 837s creating configuration files ... ok 837s running bootstrap script ... ok 837s performing post-bootstrap initialization ... ok 837s syncing data to disk ... ok 842s Setting up patroni-doc (3.3.1-1) ... 842s Setting up postgresql (16+262) ... 842s Setting up autopkgtest-satdep (0) ... 842s Processing triggers for man-db (2.12.1-3) ... 843s Processing triggers for libc-bin (2.40-1ubuntu3) ... 848s (Reading database ... 83142 files and directories currently installed.) 848s Removing autopkgtest-satdep (0) ... 850s autopkgtest [10:03:55]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 850s autopkgtest [10:03:55]: test acceptance-etcd-basic: [----------------------- 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 Wed 2024-11-13 10:03:56 UTC; 20ms ago 851s Duration: 20.772s 851s Invocation: f2c120685aa54f62b598ce5ef8077781 851s Docs: https://etcd.io/docs 851s man:etcd 851s Process: 2532 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 851s Main PID: 2532 (code=killed, signal=TERM) 851s Mem peak: 7.1M 851s CPU: 296ms 851s 851s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.478782Z","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 13 10:03:56 autopkgtest etcd[2532]: {"level":"warn","ts":"2024-11-13T10:03:56.479590Z","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 13 10:03:56 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 851s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"warn","ts":"2024-11-13T10:03:56.480596Z","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 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.480677Z","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 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.484337Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 851s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.484837Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 851s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.484863Z","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 13 10:03:56 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 851s Nov 13 10:03:56 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 features/basic_replication.feature ###' 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 features/basic_replication.feature | ts' 851s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 853s Nov 13 10:03:58 Feature: basic replication # features/basic_replication.feature:1 853s Nov 13 10:03:58 We should check that the basic bootstrapping, replication and failover works. 853s Nov 13 10:03:58 Scenario: check replication of a single table # features/basic_replication.feature:4 853s Nov 13 10:03:58 Given I start postgres0 # features/steps/basic_replication.py:8 857s Nov 13 10:04:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 857s Nov 13 10:04:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 857s Nov 13 10:04:02 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 857s Nov 13 10:04:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 857s Nov 13 10:04:02 When I start postgres1 # features/steps/basic_replication.py:8 861s Nov 13 10:04:06 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 866s Nov 13 10:04:11 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 866s Nov 13 10:04:11 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 866s Nov 13 10:04:11 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 867s Nov 13 10:04:12 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 867s Nov 13 10:04:12 867s Nov 13 10:04:12 Scenario: check restart of sync replica # features/basic_replication.feature:17 867s Nov 13 10:04:12 Given I shut down postgres2 # features/steps/basic_replication.py:29 868s Nov 13 10:04:13 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 868s Nov 13 10:04:13 When I start postgres2 # features/steps/basic_replication.py:8 872s Nov 13 10:04:17 And I shut down postgres1 # features/steps/basic_replication.py:29 875s Nov 13 10:04:20 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 875s Nov 13 10:04:20 When I start postgres1 # features/steps/basic_replication.py:8 880s Nov 13 10:04:25 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 880s Nov 13 10:04:25 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 880s Nov 13 10:04:25 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 880s Nov 13 10:04:25 880s Nov 13 10:04:25 Scenario: check stuck sync replica # features/basic_replication.feature:28 880s Nov 13 10:04:25 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 880s Nov 13 10:04:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 880s Nov 13 10:04:25 And I create table on postgres0 # features/steps/basic_replication.py:73 880s Nov 13 10:04:25 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 881s Nov 13 10:04:26 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 881s Nov 13 10:04:26 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 881s Nov 13 10:04:26 And I load data on postgres0 # features/steps/basic_replication.py:84 881s Nov 13 10:04:26 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 884s Nov 13 10:04:29 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 884s Nov 13 10:04:29 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 884s Nov 13 10:04:29 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 885s Nov 13 10:04:30 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 885s Nov 13 10:04:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 885s Nov 13 10:04:30 And I drop table on postgres0 # features/steps/basic_replication.py:73 885s Nov 13 10:04:30 885s Nov 13 10:04:30 Scenario: check multi sync replication # features/basic_replication.feature:44 885s Nov 13 10:04:30 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 885s Nov 13 10:04:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 885s Nov 13 10:04:30 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 889s Nov 13 10:04:34 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 889s Nov 13 10:04:34 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 889s Nov 13 10:04:34 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 889s Nov 13 10:04:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 889s Nov 13 10:04:34 And I shut down postgres1 # features/steps/basic_replication.py:29 892s Nov 13 10:04:37 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 893s Nov 13 10:04:38 When I start postgres1 # features/steps/basic_replication.py:8 897s Nov 13 10:04:42 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 897s Nov 13 10:04:42 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 897s Nov 13 10:04:42 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 897s Nov 13 10:04:42 897s Nov 13 10:04:42 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 897s Nov 13 10:04:42 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 899s Nov 13 10:04:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 899s Nov 13 10:04:44 When I sleep for 2 seconds # features/steps/patroni_api.py:39 901s Nov 13 10:04:46 And I shut down postgres0 # features/steps/basic_replication.py:29 902s Nov 13 10:04:47 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 905s Nov 13 10:04:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 905s Nov 13 10:04:50 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 925s Nov 13 10:05:10 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 925s Nov 13 10:05:10 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 925s Nov 13 10:05:10 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 925s Nov 13 10:05:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 925s Nov 13 10:05:10 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 925s Nov 13 10:05:10 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 930s Nov 13 10:05:15 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 930s Nov 13 10:05:15 930s Nov 13 10:05:15 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 930s Nov 13 10:05:15 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 930s Nov 13 10:05:15 And I start postgres0 # features/steps/basic_replication.py:8 930s Nov 13 10:05:15 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 939s Nov 13 10:05:24 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 939s Nov 13 10:05:24 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 939s Nov 13 10:05:24 939s Nov 13 10:05:24 @reject-duplicate-name 939s Nov 13 10:05:24 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 939s Nov 13 10:05:24 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 944s Nov 13 10:05:27 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 946s Nov 13 10:05:31 946s 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'))") 947s 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'))") 947s 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'))") 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.4728.XHEESyfx 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.4772.XTtYkJEx 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.4809.XyMDanvx 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.4866.XJIAMeox 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.4912.XMRsPDSx 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.4983.XucihYvx 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.5031.XFsUOIVx 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.5035.XTvNreHx 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.5122.XnBGuKnx 948s Nov 13 10:05:33 Combined data file .coverage.autopkgtest.5215.XKlmqzMx 951s Nov 13 10:05:36 Name Stmts Miss Cover 951s Nov 13 10:05:36 ------------------------------------------------------------------------------------------------------------- 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 603 45% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/api.py 770 430 44% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 149 77% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/ha.py 1244 617 50% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/log.py 219 71 68% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 229 72% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 91 64% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 256 69% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 188 55% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 174 48% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/utils.py 350 140 60% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/validator.py 301 211 30% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/six.py 504 250 50% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 951s Nov 13 10:05:36 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 951s Nov 13 10:05:36 patroni/__init__.py 13 2 85% 951s Nov 13 10:05:36 patroni/__main__.py 199 199 0% 951s Nov 13 10:05:36 patroni/api.py 770 770 0% 951s Nov 13 10:05:36 patroni/async_executor.py 96 69 28% 951s Nov 13 10:05:36 patroni/collections.py 56 15 73% 951s Nov 13 10:05:36 patroni/config.py 371 196 47% 951s Nov 13 10:05:36 patroni/config_generator.py 212 212 0% 951s Nov 13 10:05:36 patroni/ctl.py 936 663 29% 951s Nov 13 10:05:36 patroni/daemon.py 76 76 0% 951s Nov 13 10:05:36 patroni/dcs/__init__.py 646 308 52% 951s Nov 13 10:05:36 patroni/dcs/consul.py 485 485 0% 951s Nov 13 10:05:36 patroni/dcs/etcd3.py 679 679 0% 951s Nov 13 10:05:36 patroni/dcs/etcd.py 603 232 62% 951s Nov 13 10:05:36 patroni/dcs/exhibitor.py 61 61 0% 951s Nov 13 10:05:36 patroni/dcs/kubernetes.py 938 938 0% 951s Nov 13 10:05:36 patroni/dcs/raft.py 319 319 0% 951s Nov 13 10:05:36 patroni/dcs/zookeeper.py 288 288 0% 951s Nov 13 10:05:36 patroni/dynamic_loader.py 35 7 80% 951s Nov 13 10:05:36 patroni/exceptions.py 16 1 94% 951s Nov 13 10:05:36 patroni/file_perm.py 43 15 65% 951s Nov 13 10:05:36 patroni/global_config.py 81 23 72% 951s Nov 13 10:05:36 patroni/ha.py 1244 1244 0% 951s Nov 13 10:05:36 patroni/log.py 219 173 21% 951s Nov 13 10:05:36 patroni/postgresql/__init__.py 821 651 21% 951s Nov 13 10:05:36 patroni/postgresql/available_parameters/__init__.py 21 3 86% 951s Nov 13 10:05:36 patroni/postgresql/bootstrap.py 252 222 12% 951s Nov 13 10:05:36 patroni/postgresql/callback_executor.py 55 34 38% 951s Nov 13 10:05:36 patroni/postgresql/cancellable.py 104 84 19% 951s Nov 13 10:05:36 patroni/postgresql/config.py 813 698 14% 951s Nov 13 10:05:36 patroni/postgresql/connection.py 75 50 33% 951s Nov 13 10:05:36 patroni/postgresql/misc.py 41 29 29% 951s Nov 13 10:05:36 patroni/postgresql/mpp/__init__.py 89 21 76% 951s Nov 13 10:05:36 patroni/postgresql/mpp/citus.py 259 259 0% 951s Nov 13 10:05:36 patroni/postgresql/postmaster.py 170 139 18% 951s Nov 13 10:05:36 patroni/postgresql/rewind.py 416 416 0% 951s Nov 13 10:05:36 patroni/postgresql/slots.py 334 285 15% 951s Nov 13 10:05:36 patroni/postgresql/sync.py 130 96 26% 951s Nov 13 10:05:36 patroni/postgresql/validator.py 157 52 67% 951s Nov 13 10:05:36 patroni/psycopg.py 42 28 33% 951s Nov 13 10:05:36 patroni/raft_controller.py 22 22 0% 951s Nov 13 10:05:36 patroni/request.py 62 6 90% 951s Nov 13 10:05:36 patroni/scripts/__init__.py 0 0 100% 951s Nov 13 10:05:36 patroni/scripts/aws.py 59 59 0% 951s Nov 13 10:05:36 patroni/scripts/barman/__init__.py 0 0 100% 951s Nov 13 10:05:36 patroni/scripts/barman/cli.py 51 51 0% 951s Nov 13 10:05:36 patroni/scripts/barman/config_switch.py 51 51 0% 951s Nov 13 10:05:36 patroni/scripts/barman/recover.py 37 37 0% 951s Nov 13 10:05:36 patroni/scripts/barman/utils.py 94 94 0% 951s Nov 13 10:05:36 patroni/scripts/wale_restore.py 207 207 0% 951s Nov 13 10:05:36 patroni/tags.py 38 15 61% 951s Nov 13 10:05:36 patroni/utils.py 350 246 30% 951s Nov 13 10:05:36 patroni/validator.py 301 215 29% 951s Nov 13 10:05:36 patroni/version.py 1 0 100% 951s Nov 13 10:05:36 patroni/watchdog/__init__.py 2 2 0% 951s Nov 13 10:05:36 patroni/watchdog/base.py 203 203 0% 951s Nov 13 10:05:36 patroni/watchdog/linux.py 135 135 0% 951s Nov 13 10:05:36 ------------------------------------------------------------------------------------------------------------- 951s Nov 13 10:05:36 TOTAL 53060 33794 36% 951s Nov 13 10:05:36 1 feature passed, 0 failed, 0 skipped 951s Nov 13 10:05:36 7 scenarios passed, 0 failed, 0 skipped 951s Nov 13 10:05:36 68 steps passed, 0 failed, 0 skipped, 0 undefined 951s Nov 13 10:05:36 Took 1m29.047s 951s ### End 16 acceptance-etcd features/basic_replication.feature ### 951s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 951s + rm -f '/tmp/pgpass?' 951s ++ id -u 951s + '[' 0 -eq 0 ']' 951s + '[' -x /etc/init.d/zookeeper ']' 951s autopkgtest [10:05:36]: test acceptance-etcd-basic: -----------------------] 954s acceptance-etcd-basic PASS 954s autopkgtest [10:05:39]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 954s autopkgtest [10:05:39]: test acceptance-etcd: preparing testbed 965s Reading package lists... 965s Building dependency tree... 965s Reading state information... 966s Starting pkgProblemResolver with broken count: 0 966s Starting 2 pkgProblemResolver with broken count: 0 966s Done 967s The following NEW packages will be installed: 967s autopkgtest-satdep 967s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 967s Need to get 0 B/772 B of archives. 967s After this operation, 0 B of additional disk space will be used. 967s Get:1 /tmp/autopkgtest.MGe7DY/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [772 B] 967s Selecting previously unselected package autopkgtest-satdep. 967s (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 ... 83142 files and directories currently installed.) 967s Preparing to unpack .../3-autopkgtest-satdep.deb ... 967s Unpacking autopkgtest-satdep (0) ... 967s Setting up autopkgtest-satdep (0) ... 970s (Reading database ... 83142 files and directories currently installed.) 970s Removing autopkgtest-satdep (0) ... 971s autopkgtest [10:05:56]: test acceptance-etcd: debian/tests/acceptance etcd 971s autopkgtest [10:05:56]: test acceptance-etcd: [----------------------- 972s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 972s ○ etcd.service - etcd - highly-available key value store 972s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 972s Active: inactive (dead) since Wed 2024-11-13 10:03:56 UTC; 2min 1s ago 972s Duration: 20.772s 972s Invocation: f2c120685aa54f62b598ce5ef8077781 972s Docs: https://etcd.io/docs 972s man:etcd 972s Process: 2532 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 972s Main PID: 2532 (code=killed, signal=TERM) 972s Mem peak: 7.1M 972s CPU: 296ms 972s 972s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.478782Z","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"]} 972s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"warn","ts":"2024-11-13T10:03:56.479590Z","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"} 972s Nov 13 10:03:56 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 972s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"warn","ts":"2024-11-13T10:03:56.480596Z","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"} 972s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.480677Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 972s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.484337Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 972s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.484837Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 972s Nov 13 10:03:56 autopkgtest etcd[2532]: {"level":"info","ts":"2024-11-13T10:03:56.484863Z","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"]} 972s Nov 13 10:03:56 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 972s Nov 13 10:03:56 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 972s ++ ls -1r /usr/lib/postgresql/ 972s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 972s + '[' 16 == 10 -o 16 == 11 ']' 972s + echo '### PostgreSQL 16 acceptance-etcd ###' 972s + 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' 972s ### PostgreSQL 16 acceptance-etcd ### 974s Nov 13 10:05:59 Feature: basic replication # features/basic_replication.feature:1 974s Nov 13 10:05:59 We should check that the basic bootstrapping, replication and failover works. 974s Nov 13 10:05:59 Scenario: check replication of a single table # features/basic_replication.feature:4 974s Nov 13 10:05:59 Given I start postgres0 # features/steps/basic_replication.py:8 978s Nov 13 10:06:03 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 978s Nov 13 10:06:03 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 978s Nov 13 10:06:03 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 978s Nov 13 10:06:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 978s Nov 13 10:06:03 When I start postgres1 # features/steps/basic_replication.py:8 982s Nov 13 10:06:07 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 986s Nov 13 10:06:11 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 986s Nov 13 10:06:11 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 986s Nov 13 10:06:11 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 987s Nov 13 10:06:12 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 987s Nov 13 10:06:12 987s Nov 13 10:06:12 Scenario: check restart of sync replica # features/basic_replication.feature:17 987s Nov 13 10:06:12 Given I shut down postgres2 # features/steps/basic_replication.py:29 988s Nov 13 10:06:13 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 988s Nov 13 10:06:13 When I start postgres2 # features/steps/basic_replication.py:8 991s Nov 13 10:06:16 And I shut down postgres1 # features/steps/basic_replication.py:29 994s Nov 13 10:06:19 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 995s Nov 13 10:06:20 When I start postgres1 # features/steps/basic_replication.py:8 998s Nov 13 10:06:23 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 999s Nov 13 10:06:24 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 999s Nov 13 10:06:24 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 999s Nov 13 10:06:24 999s Nov 13 10:06:24 Scenario: check stuck sync replica # features/basic_replication.feature:28 999s Nov 13 10:06:24 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 999s Nov 13 10:06:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 999s Nov 13 10:06:24 And I create table on postgres0 # features/steps/basic_replication.py:73 999s Nov 13 10:06:24 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1001s Nov 13 10:06:25 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1001s Nov 13 10:06:25 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1001s Nov 13 10:06:25 And I load data on postgres0 # features/steps/basic_replication.py:84 1001s Nov 13 10:06:26 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1004s Nov 13 10:06:29 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1004s Nov 13 10:06:29 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1004s Nov 13 10:06:29 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1004s Nov 13 10:06:29 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 1004s Nov 13 10:06:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1004s Nov 13 10:06:29 And I drop table on postgres0 # features/steps/basic_replication.py:73 1004s Nov 13 10:06:29 1004s Nov 13 10:06:29 Scenario: check multi sync replication # features/basic_replication.feature:44 1004s Nov 13 10:06:29 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 1004s Nov 13 10:06:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1004s Nov 13 10:06:29 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1010s Nov 13 10:06:33 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1013s Nov 13 10:06:33 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1013s Nov 13 10:06:33 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 1013s Nov 13 10:06:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1013s Nov 13 10:06:33 And I shut down postgres1 # features/steps/basic_replication.py:29 1013s Nov 13 10:06:36 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1013s Nov 13 10:06:37 When I start postgres1 # features/steps/basic_replication.py:8 1017s Nov 13 10:06:41 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1017s Nov 13 10:06:41 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1017s Nov 13 10:06:42 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1017s Nov 13 10:06:42 1017s Nov 13 10:06:42 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1017s Nov 13 10:06:42 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1019s Nov 13 10:06:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1019s Nov 13 10:06:44 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1021s Nov 13 10:06:46 And I shut down postgres0 # features/steps/basic_replication.py:29 1022s Nov 13 10:06:47 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1024s Nov 13 10:06:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1024s Nov 13 10:06:49 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1042s Nov 13 10:07:07 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1044s Nov 13 10:07:09 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1044s Nov 13 10:07:09 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 1044s Nov 13 10:07:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1044s Nov 13 10:07:09 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1044s Nov 13 10:07:09 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1047s Nov 13 10:07:12 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1047s Nov 13 10:07:12 1047s Nov 13 10:07:12 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1047s Nov 13 10:07:12 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1047s Nov 13 10:07:12 And I start postgres0 # features/steps/basic_replication.py:8 1047s Nov 13 10:07:12 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1051s Nov 13 10:07:16 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1052s Nov 13 10:07:16 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1054s Nov 13 10:07:19 1054s Nov 13 10:07:19 @reject-duplicate-name 1054s Nov 13 10:07:19 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1054s Nov 13 10:07:19 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1056s Nov 13 10:07:21 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 1060s Nov 13 10:07:25 1060s Nov 13 10:07:25 Feature: cascading replication # features/cascading_replication.feature:1 1060s Nov 13 10:07:25 We should check that patroni can do base backup and streaming from the replica 1060s Nov 13 10:07:25 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1060s Nov 13 10:07:25 Given I start postgres0 # features/steps/basic_replication.py:8 1064s Nov 13 10:07:29 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1064s Nov 13 10:07:29 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1068s Nov 13 10:07:33 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1069s Nov 13 10:07:34 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1070s Nov 13 10:07:34 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1072s Nov 13 10:07:34 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1072s Nov 13 10:07:34 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1074s Nov 13 10:07:38 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1075s Nov 13 10:07:40 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1081s Nov 13 10:07:46 1081s SKIP FEATURE citus: Citus extenstion isn't available 1081s Nov 13 10:07:46 Feature: citus # features/citus.feature:1 1081s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1081s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1081s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1081s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1081s 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 1081s Nov 13 10:07:46 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1081s Nov 13 10:07:46 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1081s Nov 13 10:07:46 Given I start postgres0 in citus group 0 # None 1081s Nov 13 10:07:46 And I start postgres2 in citus group 1 # None 1081s Nov 13 10:07:46 Then postgres0 is a leader in a group 0 after 10 seconds # None 1081s Nov 13 10:07:46 And postgres2 is a leader in a group 1 after 10 seconds # None 1081s Nov 13 10:07:46 When I start postgres1 in citus group 0 # None 1081s Nov 13 10:07:46 And I start postgres3 in citus group 1 # None 1081s Nov 13 10:07:46 Then replication works from postgres0 to postgres1 after 15 seconds # None 1081s Nov 13 10:07:46 Then replication works from postgres2 to postgres3 after 15 seconds # None 1081s Nov 13 10:07:46 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1081s Nov 13 10:07:46 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1081s Nov 13 10:07:46 1081s Nov 13 10:07:46 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1081s Nov 13 10:07:46 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1081s Nov 13 10:07:46 Then postgres1 role is the primary after 10 seconds # None 1081s Nov 13 10:07:46 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1081s Nov 13 10:07:46 And replication works from postgres1 to postgres0 after 15 seconds # None 1081s Nov 13 10:07:46 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1081s Nov 13 10:07:46 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1081s Nov 13 10:07:46 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1081s Nov 13 10:07:46 Then postgres0 role is the primary after 10 seconds # None 1081s Nov 13 10:07:46 And replication works from postgres0 to postgres1 after 15 seconds # None 1081s Nov 13 10:07:46 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1081s Nov 13 10:07:46 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1081s Nov 13 10:07:46 1081s Nov 13 10:07:46 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1081s Nov 13 10:07:46 Given I create a distributed table on postgres0 # None 1081s Nov 13 10:07:46 And I start a thread inserting data on postgres0 # None 1081s Nov 13 10:07:46 When I run patronictl.py switchover batman --group 1 --force # None 1081s Nov 13 10:07:46 Then I receive a response returncode 0 # None 1081s Nov 13 10:07:46 And postgres3 role is the primary after 10 seconds # None 1081s Nov 13 10:07:46 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1081s Nov 13 10:07:46 And replication works from postgres3 to postgres2 after 15 seconds # None 1081s Nov 13 10:07:46 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1081s Nov 13 10:07:46 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1081s Nov 13 10:07:46 And a thread is still alive # None 1081s Nov 13 10:07:46 When I run patronictl.py switchover batman --group 1 --force # None 1081s Nov 13 10:07:46 Then I receive a response returncode 0 # None 1081s Nov 13 10:07:46 And postgres2 role is the primary after 10 seconds # None 1081s Nov 13 10:07:46 And replication works from postgres2 to postgres3 after 15 seconds # None 1081s Nov 13 10:07:46 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1081s Nov 13 10:07:46 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1081s Nov 13 10:07:46 And a thread is still alive # None 1081s Nov 13 10:07:46 When I stop a thread # None 1081s Nov 13 10:07:46 Then a distributed table on postgres0 has expected rows # None 1081s Nov 13 10:07:46 1081s Nov 13 10:07:46 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1081s Nov 13 10:07:46 Given I cleanup a distributed table on postgres0 # None 1081s Nov 13 10:07:46 And I start a thread inserting data on postgres0 # None 1081s Nov 13 10:07:46 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1081s Nov 13 10:07:46 Then I receive a response returncode 0 # None 1081s Nov 13 10:07:46 And postgres2 role is the primary after 10 seconds # None 1081s Nov 13 10:07:46 And replication works from postgres2 to postgres3 after 15 seconds # None 1081s Nov 13 10:07:46 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1081s Nov 13 10:07:46 And a thread is still alive # None 1081s Nov 13 10:07:46 When I stop a thread # None 1081s Nov 13 10:07:46 Then a distributed table on postgres0 has expected rows # None 1081s Nov 13 10:07:46 1081s Nov 13 10:07:46 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1081s Nov 13 10:07:46 Given I start postgres4 in citus group 2 # None 1081s Nov 13 10:07:46 Then postgres4 is a leader in a group 2 after 10 seconds # None 1081s Nov 13 10:07:46 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1081s Nov 13 10:07:46 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1081s Nov 13 10:07:46 Then I receive a response returncode 0 # None 1081s Nov 13 10:07:46 And I receive a response output "+ttl: 20" # None 1081s Nov 13 10:07:46 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1081s Nov 13 10:07:46 When I shut down postgres4 # None 1081s Nov 13 10:07:46 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1081s Nov 13 10:07:46 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1081s Nov 13 10:07:46 Then a transaction finishes in 20 seconds # None 1081s Nov 13 10:07:46 1081s Nov 13 10:07:46 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1081s Nov 13 10:07:46 We should check that patroni can bootstrap a new cluster from a backup 1081s Nov 13 10:07:46 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1081s Nov 13 10:07:46 Given I start postgres0 # features/steps/basic_replication.py:8 1085s Nov 13 10:07:50 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1085s Nov 13 10:07:50 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1085s Nov 13 10:07:50 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1089s Nov 13 10:07:54 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1090s Nov 13 10:07:55 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1090s Nov 13 10:07:55 1090s Nov 13 10:07:55 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1090s Nov 13 10:07:55 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1090s Nov 13 10:07:55 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1090s Nov 13 10:07:55 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1095s Nov 13 10:08:00 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1095s Nov 13 10:08:00 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1101s Nov 13 10:08:06 1101s Nov 13 10:08:06 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1101s Nov 13 10:08:06 We should check the basic dcs failsafe mode functioning 1101s Nov 13 10:08:06 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1101s Nov 13 10:08:06 Given I start postgres0 # features/steps/basic_replication.py:8 1105s Nov 13 10:08:09 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1105s Nov 13 10:08:10 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1105s Nov 13 10:08:10 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 1106s Nov 13 10:08:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1106s Nov 13 10:08:11 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1106s Nov 13 10:08:11 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1106s Nov 13 10:08:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1106s Nov 13 10:08:11 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1106s Nov 13 10:08:11 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 1106s Nov 13 10:08:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1106s Nov 13 10:08:11 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 1106s Nov 13 10:08:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1106s Nov 13 10:08:11 1106s Nov 13 10:08:11 @dcs-failsafe 1106s Nov 13 10:08:11 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1106s Nov 13 10:08:11 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1106s Nov 13 10:08:11 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 1112s Nov 13 10:08:17 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1112s Nov 13 10:08:17 1112s Nov 13 10:08:17 @dcs-failsafe 1112s Nov 13 10:08:17 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1112s Nov 13 10:08:17 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1112s Nov 13 10:08:17 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1113s Nov 13 10:08:18 And I shut down postgres0 # features/steps/basic_replication.py:29 1115s Nov 13 10:08:20 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1118s Nov 13 10:08:23 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1118s Nov 13 10:08:23 1118s Nov 13 10:08:23 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1118s Nov 13 10:08:23 Given I start postgres0 # features/steps/basic_replication.py:8 1121s Nov 13 10:08:26 And I start postgres1 # features/steps/basic_replication.py:8 1121s Nov 13 10:08:26 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1122s Nov 13 10:08:27 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1122s Nov 13 10:08:27 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1123s Nov 13 10:08:28 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1123s Nov 13 10:08:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1123s Nov 13 10:08:28 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1123s Nov 13 10:08:28 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1123s Nov 13 10:08:28 1123s Nov 13 10:08:28 @dcs-failsafe @slot-advance 1123s Nov 13 10:08:28 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1123s Nov 13 10:08:28 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1123s Nov 13 10:08:28 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1125s Nov 13 10:08:30 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1128s Nov 13 10:08:33 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1128s Nov 13 10:08:33 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 1134s Nov 13 10:08:39 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1134s Nov 13 10:08:39 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1134s Nov 13 10:08:39 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1134s Nov 13 10:08:39 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1134s Nov 13 10:08:39 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1134s Nov 13 10:08:39 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1137s Nov 13 10:08:42 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1137s Nov 13 10:08:42 1137s Nov 13 10:08:42 @dcs-failsafe 1137s Nov 13 10:08:42 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1137s Nov 13 10:08:42 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1137s Nov 13 10:08:42 And I kill postgres1 # features/steps/basic_replication.py:34 1138s Nov 13 10:08:43 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1138s Nov 13 10:08:43 waiting for server to shut down.... done 1138s Nov 13 10:08:43 server stopped 1138s Nov 13 10:08:43 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1140s Nov 13 10:08:45 1140s Nov 13 10:08:45 @dcs-failsafe 1140s Nov 13 10:08:45 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1140s Nov 13 10:08:45 Given I kill postgres0 # features/steps/basic_replication.py:34 1141s Nov 13 10:08:46 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1141s Nov 13 10:08:46 waiting for server to shut down.... done 1141s Nov 13 10:08:46 server stopped 1141s Nov 13 10:08:46 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1141s Nov 13 10:08:46 When I start postgres1 # features/steps/basic_replication.py:8 1145s Nov 13 10:08:49 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1146s Nov 13 10:08:50 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1148s Nov 13 10:08:52 1148s Nov 13 10:08:52 @dcs-failsafe 1148s Nov 13 10:08:52 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1148s Nov 13 10:08:52 Given I start postgres0 # features/steps/basic_replication.py:8 1152s Nov 13 10:08:57 And I start postgres2 # features/steps/basic_replication.py:8 1156s Nov 13 10:09:01 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1157s Nov 13 10:09:02 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1157s Nov 13 10:09:02 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1157s Nov 13 10:09:02 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1158s Nov 13 10:09:03 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1159s Nov 13 10:09:04 1159s Nov 13 10:09:04 @dcs-failsafe @slot-advance 1159s Nov 13 10:09:04 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1159s Nov 13 10:09:04 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 1159s Nov 13 10:09:04 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1165s Nov 13 10:09:10 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1166s Nov 13 10:09:11 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1166s Nov 13 10:09:11 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1167s Nov 13 10:09:12 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1167s Nov 13 10:09:12 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1167s Nov 13 10:09:12 1167s Nov 13 10:09:12 @dcs-failsafe 1167s Nov 13 10:09:12 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1167s Nov 13 10:09:12 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1167s Nov 13 10:09:12 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 1176s Nov 13 10:09:19 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1176s Nov 13 10:09:19 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1176s Nov 13 10:09:19 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1176s Nov 13 10:09:19 1176s Nov 13 10:09:19 @dcs-failsafe @slot-advance 1176s Nov 13 10:09:19 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1176s Nov 13 10:09:19 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1176s Nov 13 10:09:19 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1176s Nov 13 10:09:21 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1176s Nov 13 10:09:21 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1176s Nov 13 10:09:21 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1177s Nov 13 10:09:22 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1177s Nov 13 10:09:22 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1177s Nov 13 10:09:22 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1177s Nov 13 10:09:22 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1181s Nov 13 10:09:26 1181s Nov 13 10:09:26 Feature: ignored slots # features/ignored_slots.feature:1 1181s Nov 13 10:09:26 1181s Nov 13 10:09:26 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1181s Nov 13 10:09:26 Given I start postgres1 # features/steps/basic_replication.py:8 1185s Nov 13 10:09:30 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1185s Nov 13 10:09:30 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1185s Nov 13 10:09:30 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 1185s Nov 13 10:09:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1185s Nov 13 10:09:30 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1185s Nov 13 10:09:30 When I shut down postgres1 # features/steps/basic_replication.py:29 1187s Nov 13 10:09:32 And I start postgres1 # features/steps/basic_replication.py:8 1190s Nov 13 10:09:35 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1191s Nov 13 10:09:36 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1192s Nov 13 10:09:37 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1192s Nov 13 10:09:37 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1192s Nov 13 10:09:37 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1192s Nov 13 10:09:37 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1192s Nov 13 10:09:37 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1192s Nov 13 10:09:37 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1192s Nov 13 10:09:37 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1192s Nov 13 10:09: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 1192s Nov 13 10:09: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 1192s Nov 13 10:09: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 1192s Nov 13 10:09:37 When I start postgres0 # features/steps/basic_replication.py:8 1196s Nov 13 10:09:41 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1196s Nov 13 10:09:41 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1196s Nov 13 10:09:41 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1197s Nov 13 10:09:42 When I shut down postgres1 # features/steps/basic_replication.py:29 1199s Nov 13 10:09:44 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1200s Nov 13 10:09:45 When I start postgres1 # features/steps/basic_replication.py:8 1203s Nov 13 10:09:48 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1203s Nov 13 10:09:48 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1204s Nov 13 10:09:49 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1206s Nov 13 10:09:51 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1206s Nov 13 10:09:51 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1206s Nov 13 10:09:51 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1206s Nov 13 10:09:51 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1206s Nov 13 10:09:51 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1206s Nov 13 10:09:51 When I shut down postgres0 # features/steps/basic_replication.py:29 1208s Nov 13 10:09:53 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1209s Nov 13 10:09:54 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1209s Nov 13 10:09:54 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1209s Nov 13 10:09:54 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1209s Nov 13 10:09:54 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1211s Nov 13 10:09:56 1211s Nov 13 10:09:56 Feature: nostream node # features/nostream_node.feature:1 1211s Nov 13 10:09:56 1211s Nov 13 10:09:56 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1211s Nov 13 10:09:56 When I start postgres0 # features/steps/basic_replication.py:8 1214s Nov 13 10:09:59 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1218s Nov 13 10:10:03 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1218s Nov 13 10:10:03 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1223s Nov 13 10:10:08 1223s Nov 13 10:10:08 @slot-advance 1223s Nov 13 10:10:08 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1223s Nov 13 10:10:08 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 1224s Nov 13 10:10:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1224s Nov 13 10:10:09 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1226s Nov 13 10:10:11 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1227s Nov 13 10:10:12 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1231s Nov 13 10:10:16 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1236s Nov 13 10:10:21 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1236s Nov 13 10:10:21 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1241s Nov 13 10:10:26 1241s Nov 13 10:10:26 Feature: patroni api # features/patroni_api.feature:1 1241s Nov 13 10:10:26 We should check that patroni correctly responds to valid and not-valid API requests. 1241s Nov 13 10:10:26 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1241s Nov 13 10:10:26 Given I start postgres0 # features/steps/basic_replication.py:8 1245s Nov 13 10:10:30 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1245s Nov 13 10:10:30 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1245s Nov 13 10:10:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1245s Nov 13 10:10:30 And I receive a response state running # features/steps/patroni_api.py:98 1245s Nov 13 10:10:30 And I receive a response role master # features/steps/patroni_api.py:98 1245s Nov 13 10:10:30 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1245s Nov 13 10:10:30 Then I receive a response code 503 # features/steps/patroni_api.py:98 1245s Nov 13 10:10:30 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1245s Nov 13 10:10:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1245s Nov 13 10:10:30 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1246s Nov 13 10:10:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 1246s Nov 13 10:10:31 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1246s Nov 13 10:10:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 1246s Nov 13 10:10:31 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1246s Nov 13 10:10:31 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1248s Nov 13 10:10:33 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1248s Nov 13 10:10:33 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1248s Nov 13 10:10:33 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1248s Nov 13 10:10:33 Then I receive a response code 412 # features/steps/patroni_api.py:98 1248s Nov 13 10:10:33 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1248s Nov 13 10:10:33 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1248s Nov 13 10:10:33 Then I receive a response code 400 # features/steps/patroni_api.py:98 1248s Nov 13 10:10:33 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1248s Nov 13 10:10:33 Then I receive a response code 400 # features/steps/patroni_api.py:98 1248s Nov 13 10:10:33 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1248s Nov 13 10:10:33 1248s Nov 13 10:10:33 Scenario: check local configuration reload # features/patroni_api.feature:32 1248s Nov 13 10:10:33 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1248s Nov 13 10:10:33 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1248s Nov 13 10:10:33 Then I receive a response code 202 # features/steps/patroni_api.py:98 1248s Nov 13 10:10:33 1248s Nov 13 10:10:33 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1248s Nov 13 10:10:33 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 1248s Nov 13 10:10:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1248s Nov 13 10:10:33 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1250s Nov 13 10:10:35 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1250s Nov 13 10:10:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1250s Nov 13 10:10:35 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1250s Nov 13 10:10:35 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1250s Nov 13 10:10:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1250s Nov 13 10:10:35 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1250s Nov 13 10:10:35 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1254s Nov 13 10:10:39 1254s Nov 13 10:10:39 Scenario: check the scheduled restart # features/patroni_api.feature:49 1254s Nov 13 10:10:39 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1256s Nov 13 10:10:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1256s Nov 13 10:10:41 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1256s Nov 13 10:10:41 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1256s Nov 13 10:10:41 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 1256s Nov 13 10:10:41 Then I receive a response code 202 # features/steps/patroni_api.py:98 1256s Nov 13 10:10:41 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1264s Nov 13 10:10:49 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1264s Nov 13 10:10:49 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 1264s Nov 13 10:10:49 Then I receive a response code 202 # features/steps/patroni_api.py:98 1264s Nov 13 10:10:49 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 1271s Nov 13 10:10:56 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1272s Nov 13 10:10:57 1272s Nov 13 10:10:57 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1272s Nov 13 10:10:57 Given I start postgres1 # features/steps/basic_replication.py:8 1275s Nov 13 10:11:00 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1276s Nov 13 10:11:01 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1278s Nov 13 10:11:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1278s Nov 13 10:11:03 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1278s Nov 13 10:11:03 waiting for server to shut down.... done 1278s Nov 13 10:11:03 server stopped 1278s Nov 13 10:11:03 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1279s Nov 13 10:11:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 1279s Nov 13 10:11:04 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1280s Nov 13 10:11:05 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1283s Nov 13 10:11:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1283s Nov 13 10:11:08 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1284s Nov 13 10:11:09 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1286s Nov 13 10:11:11 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1286s Nov 13 10:11:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1286s Nov 13 10:11:11 And I receive a response state running # features/steps/patroni_api.py:98 1286s Nov 13 10:11:11 And I receive a response role replica # features/steps/patroni_api.py:98 1286s Nov 13 10:11:11 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1290s Nov 13 10:11:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1290s Nov 13 10:11:15 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1290s Nov 13 10:11:15 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1291s Nov 13 10:11:16 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1291s Nov 13 10:11:16 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1294s Nov 13 10:11:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1294s Nov 13 10:11:19 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1294s Nov 13 10:11:19 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1295s Nov 13 10:11:20 1295s Nov 13 10:11:20 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1295s Nov 13 10:11:20 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 1297s Nov 13 10:11:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 1297s Nov 13 10:11:22 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1297s Nov 13 10:11:22 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1298s Nov 13 10:11:23 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1302s Nov 13 10:11:27 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1302s Nov 13 10:11:27 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1303s Nov 13 10:11:28 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1303s Nov 13 10:11:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 1303s Nov 13 10:11:28 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1303s Nov 13 10:11:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1303s Nov 13 10:11:28 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1303s Nov 13 10:11:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1303s Nov 13 10:11:28 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1303s Nov 13 10:11:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 1303s Nov 13 10:11:28 1303s Nov 13 10:11:28 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1303s Nov 13 10:11:28 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1305s Nov 13 10:11:30 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1305s Nov 13 10:11:30 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1305s Nov 13 10:11:30 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1307s Nov 13 10:11:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1307s Nov 13 10:11:32 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1309s Nov 13 10:11:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1309s Nov 13 10:11:34 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1319s Nov 13 10:11:44 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1320s Nov 13 10:11:45 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1322s Nov 13 10:11:47 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1322s Nov 13 10:11:47 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1322s Nov 13 10:11:47 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1322s Nov 13 10:11:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1322s Nov 13 10:11:47 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1323s Nov 13 10:11:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 1323s Nov 13 10:11:47 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1323s Nov 13 10:11:48 Then I receive a response code 503 # features/steps/patroni_api.py:98 1323s Nov 13 10:11:48 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1323s Nov 13 10:11:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1327s Nov 13 10:11:52 1327s Nov 13 10:11:52 Feature: permanent slots # features/permanent_slots.feature:1 1327s Nov 13 10:11:52 1327s Nov 13 10:11:52 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1327s Nov 13 10:11:52 Given I start postgres0 # features/steps/basic_replication.py:8 1330s Nov 13 10:11:55 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1331s Nov 13 10:11:56 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1331s Nov 13 10:11:56 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 1331s Nov 13 10:11:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1331s Nov 13 10:11:56 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1331s Nov 13 10:11:56 When I start postgres1 # features/steps/basic_replication.py:8 1335s Nov 13 10:12:00 And I start postgres2 # features/steps/basic_replication.py:8 1339s Nov 13 10:12:04 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1343s Nov 13 10:12:08 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1343s Nov 13 10:12:08 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1343s Nov 13 10:12:08 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1343s Nov 13 10:12:08 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1343s Nov 13 10:12:08 1343s Nov 13 10:12:08 @slot-advance 1343s Nov 13 10:12:08 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1343s Nov 13 10:12:08 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1346s Nov 13 10:12:11 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 1346s Nov 13 10:12:11 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1347s Nov 13 10:12:12 1347s Nov 13 10:12:12 @slot-advance 1347s Nov 13 10:12:12 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1347s Nov 13 10:12:12 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1352s Nov 13 10:12:17 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1352s Nov 13 10:12:17 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1353s Nov 13 10:12:18 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1354s Nov 13 10:12:19 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1354s Nov 13 10:12:19 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1354s Nov 13 10:12:19 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1354s Nov 13 10:12:19 1354s Nov 13 10:12:19 @slot-advance 1354s Nov 13 10:12:19 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1354s Nov 13 10:12:19 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1354s Nov 13 10:12:19 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1354s Nov 13 10:12:19 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1354s Nov 13 10:12:19 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1354s Nov 13 10:12:19 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1354s Nov 13 10:12:19 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1354s Nov 13 10:12:19 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1354s Nov 13 10:12:19 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1354s Nov 13 10:12:19 1354s Nov 13 10:12:19 @slot-advance 1354s Nov 13 10:12:19 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1354s Nov 13 10:12:19 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1354s Nov 13 10:12:19 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1354s Nov 13 10:12:19 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1354s Nov 13 10:12:19 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1356s Nov 13 10:12:21 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1356s Nov 13 10:12:21 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1356s Nov 13 10:12:21 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1356s Nov 13 10:12:21 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1356s Nov 13 10:12:21 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1356s Nov 13 10:12:21 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1356s Nov 13 10:12:21 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1358s Nov 13 10:12:23 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1358s Nov 13 10:12:23 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1358s Nov 13 10:12:23 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1358s Nov 13 10:12:23 1358s Nov 13 10:12:23 @slot-advance 1358s Nov 13 10:12:23 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1358s Nov 13 10:12:23 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1358s Nov 13 10:12:23 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1358s Nov 13 10:12:23 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1358s Nov 13 10:12:23 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1358s Nov 13 10:12:23 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1359s Nov 13 10:12:23 1359s Nov 13 10:12:23 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1359s Nov 13 10:12:23 Given I shut down postgres3 # features/steps/basic_replication.py:29 1359s Nov 13 10:12:24 And I shut down postgres2 # features/steps/basic_replication.py:29 1360s Nov 13 10:12:25 And I shut down postgres0 # features/steps/basic_replication.py:29 1362s Nov 13 10:12:27 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1362s Nov 13 10:12:27 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1362s Nov 13 10:12:27 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1365s Nov 13 10:12:30 1365s Nov 13 10:12:30 Feature: priority replication # features/priority_failover.feature:1 1365s Nov 13 10:12:30 We should check that we can give nodes priority during failover 1365s Nov 13 10:12:30 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1365s Nov 13 10:12:30 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1369s Nov 13 10:12:34 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1373s Nov 13 10:12:38 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1374s Nov 13 10:12:39 When I shut down postgres0 # features/steps/basic_replication.py:29 1376s Nov 13 10:12:41 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 1378s Nov 13 10:12:43 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1378s Nov 13 10:12:43 When I start postgres0 # features/steps/basic_replication.py:8 1381s Nov 13 10:12:46 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1383s Nov 13 10:12:48 1383s Nov 13 10:12:48 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1383s Nov 13 10:12:48 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1387s Nov 13 10:12:52 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1391s Nov 13 10:12:56 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1392s Nov 13 10:12:57 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1393s Nov 13 10:12:58 When I shut down postgres0 # features/steps/basic_replication.py:29 1395s Nov 13 10:13:00 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1395s Nov 13 10:13:00 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 1395s Nov 13 10:13:00 1395s Nov 13 10:13:00 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1395s Nov 13 10:13:00 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1395s Nov 13 10:13:00 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1395s Nov 13 10:13:00 Then I receive a response code 202 # features/steps/patroni_api.py:98 1395s Nov 13 10:13:00 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 1397s Nov 13 10:13:02 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1398s Nov 13 10:13:03 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1399s Nov 13 10:13:03 Then I receive a response code 412 # features/steps/patroni_api.py:98 1399s Nov 13 10:13:03 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1399s Nov 13 10:13:03 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1399s Nov 13 10:13:03 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1399s Nov 13 10:13:03 Then I receive a response code 202 # features/steps/patroni_api.py:98 1399s Nov 13 10:13:03 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 1400s Nov 13 10:13:05 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1401s Nov 13 10:13:06 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1404s Nov 13 10:13:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 1404s Nov 13 10:13:08 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1408s Nov 13 10:13:13 1408s Nov 13 10:13:13 Feature: recovery # features/recovery.feature:1 1408s Nov 13 10:13:13 We want to check that crashed postgres is started back 1408s Nov 13 10:13:13 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1408s Nov 13 10:13:13 Given I start postgres0 # features/steps/basic_replication.py:8 1412s Nov 13 10:13:17 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1412s Nov 13 10:13:17 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1412s Nov 13 10:13:17 When I start postgres1 # features/steps/basic_replication.py:8 1416s Nov 13 10:13:21 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1416s Nov 13 10:13:21 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1417s Nov 13 10:13:22 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1417s Nov 13 10:13:22 waiting for server to shut down.... done 1417s Nov 13 10:13:22 server stopped 1417s Nov 13 10:13:22 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1418s Nov 13 10:13:23 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1418s Nov 13 10:13:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 1418s Nov 13 10:13:23 And I receive a response role master # features/steps/patroni_api.py:98 1418s Nov 13 10:13:23 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1418s Nov 13 10:13:23 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1419s Nov 13 10:13:24 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1421s Nov 13 10:13:26 1421s Nov 13 10:13:26 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1421s Nov 13 10:13:26 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 1421s Nov 13 10:13:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 1421s Nov 13 10:13:26 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1421s Nov 13 10:13:26 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1421s Nov 13 10:13:26 waiting for server to shut down.... done 1421s Nov 13 10:13:26 server stopped 1421s Nov 13 10:13:26 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1423s Nov 13 10:13:28 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1427s Nov 13 10:13:32 1427s Nov 13 10:13:32 Feature: standby cluster # features/standby_cluster.feature:1 1427s Nov 13 10:13:32 1427s Nov 13 10:13:32 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1427s Nov 13 10:13:32 Given I start postgres1 # features/steps/basic_replication.py:8 1431s Nov 13 10:13:36 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1431s Nov 13 10:13:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1431s Nov 13 10:13:36 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 1432s Nov 13 10:13:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1432s Nov 13 10:13:36 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1432s Nov 13 10:13:37 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1435s Nov 13 10:13:40 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 1435s Nov 13 10:13:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1435s Nov 13 10:13:40 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1435s Nov 13 10:13:40 When I start postgres0 # features/steps/basic_replication.py:8 1439s Nov 13 10:13:44 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1439s Nov 13 10:13:44 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1440s Nov 13 10:13:45 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1440s Nov 13 10:13:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1440s Nov 13 10:13:45 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1440s Nov 13 10:13:45 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1440s Nov 13 10:13:45 1440s Nov 13 10:13:45 @slot-advance 1440s Nov 13 10:13:45 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1440s Nov 13 10:13:45 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1443s Nov 13 10:13:48 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1448s Nov 13 10:13:53 1448s Nov 13 10:13:53 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1448s Nov 13 10:13:53 When I shut down postgres1 # features/steps/basic_replication.py:29 1450s Nov 13 10:13:55 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1450s Nov 13 10:13:55 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1451s Nov 13 10:13:56 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1451s Nov 13 10:13:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1451s Nov 13 10:13:56 1451s Nov 13 10:13:56 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1451s Nov 13 10:13:56 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1454s Nov 13 10:13:59 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1455s Nov 13 10:14:00 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1455s Nov 13 10:14:00 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1455s Nov 13 10:14:00 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1455s Nov 13 10:14:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1455s Nov 13 10:14:00 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1455s Nov 13 10:14:00 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1458s Nov 13 10:14:03 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1458s Nov 13 10:14:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 1458s Nov 13 10:14:03 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1458s Nov 13 10:14:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1458s Nov 13 10:14:03 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1458s Nov 13 10:14:03 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1458s Nov 13 10:14:03 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1462s Nov 13 10:14:07 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1462s Nov 13 10:14:07 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1462s Nov 13 10:14:07 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1462s Nov 13 10:14:07 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1462s Nov 13 10:14:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1462s Nov 13 10:14:07 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1462s Nov 13 10:14:07 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1462s Nov 13 10:14:07 1462s Nov 13 10:14:07 Scenario: check switchover # features/standby_cluster.feature:57 1462s Nov 13 10:14:07 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1466s Nov 13 10:14:11 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1466s Nov 13 10:14:11 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1468s Nov 13 10:14:13 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 1468s Nov 13 10:14:13 1468s Nov 13 10:14:13 Scenario: check failover # features/standby_cluster.feature:63 1468s Nov 13 10:14:13 When I kill postgres2 # features/steps/basic_replication.py:34 1469s Nov 13 10:14:14 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1470s Nov 13 10:14:15 waiting for server to shut down.... done 1470s Nov 13 10:14:15 server stopped 1470s Nov 13 10:14:15 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1489s Nov 13 10:14:34 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1489s Nov 13 10:14:34 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1489s Nov 13 10:14:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 1489s Nov 13 10:14:34 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1489s Nov 13 10:14:34 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1490s Nov 13 10:14:35 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 1494s Nov 13 10:14:39 1494s Nov 13 10:14:39 Feature: watchdog # features/watchdog.feature:1 1494s Nov 13 10:14:39 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1494s Nov 13 10:14:39 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1494s Nov 13 10:14:39 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1498s Nov 13 10:14:43 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1498s Nov 13 10:14:43 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1498s Nov 13 10:14:43 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1499s Nov 13 10:14:44 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1499s Nov 13 10:14:44 1499s Nov 13 10:14:44 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1499s Nov 13 10:14:44 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1501s Nov 13 10:14:46 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1501s Nov 13 10:14:46 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1501s Nov 13 10:14:46 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1505s Nov 13 10:14:50 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1505s Nov 13 10:14:50 1505s Nov 13 10:14:50 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1505s Nov 13 10:14:50 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1507s Nov 13 10:14:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1507s Nov 13 10:14:52 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1509s Nov 13 10:14:54 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1509s Nov 13 10:14:54 1509s Nov 13 10:14:54 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1509s Nov 13 10:14:54 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1509s Nov 13 10:14:54 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1511s Nov 13 10:14:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1511s Nov 13 10:14:56 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1512s Nov 13 10:14:57 1512s Nov 13 10:14:57 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1512s Nov 13 10:14:57 Given I shut down postgres0 # features/steps/basic_replication.py:29 1514s Nov 13 10:14:59 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1514s Nov 13 10:14:59 1514s Nov 13 10:14:59 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1514s Nov 13 10:14:59 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1514s Nov 13 10:14:59 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1517s Nov 13 10:15:02 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1518s Nov 13 10:15:03 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1518s Nov 13 10:15:03 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1541s Nov 13 10:15:26 1541s 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'))") 1542s 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'))") 1542s 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'))") 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.5523.XjbFlaOx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.5566.XBdVWwTx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.5613.XRemfRxx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.5665.XgLnmYhx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.5710.XdRDJScx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.5780.XdVfCrux 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.5828.XvfSrpLx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.5832.XAthBGWx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.5926.XCRdjFJx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6032.XcYKLQAx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6041.XaqNtecx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6083.XwgVTzTx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6131.XXAfAeYx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6281.XofOPJTx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6325.XwlZnYOx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6379.XVHPNRex 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6465.XQOgYWMx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6770.XERnyzOx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6843.XrwxlTzx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.6898.XrndaDhx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7132.XBBOpvUx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7183.XqjjYbnx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7244.XyjomGzx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7334.XCdqJhDx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7429.XNsfSpTx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7461.XssXfVEx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7535.XeySFKyx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7573.XUmWEelx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7698.XLymNDBx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7747.XqGLpIkx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7762.XawGHHsx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7800.XPejqOrx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7846.XZiSlmVx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7851.XNaLQmYx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7887.XgQUMKkx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.7929.XyHYjVvx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8089.XcFJDDdx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8091.XjueuUdx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8096.XIONBYkx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8229.XilUamDx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8274.XGOgVZMx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8321.XibmmCcx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8365.XazjQEqx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8409.XVJlFDpx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8588.XufpyETx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8630.XeHMczgx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8703.XJMBqPNx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8783.XkrGhcDx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.8856.XxkiCtNx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9173.XKKbhBPx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9215.XphARVox 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9352.XuIyouLx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9416.XaGbCTSx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9475.XkAWdBmx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9575.XOcPOiwx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9687.XBhmyYdx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9812.XzyDoaVx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9854.XViTwiZx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9857.XwKDirdx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9860.XvZQYIVx 1543s Nov 13 10:15:28 Combined data file .coverage.autopkgtest.9898.XQolAkNx 1545s Nov 13 10:15:30 Name Stmts Miss Cover 1545s Nov 13 10:15:30 ------------------------------------------------------------------------------------------------------------- 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/api.py 770 280 64% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/ha.py 1244 319 74% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/utils.py 350 120 66% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/six.py 504 250 50% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1545s Nov 13 10:15:30 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1545s Nov 13 10:15:30 patroni/__init__.py 13 2 85% 1545s Nov 13 10:15:30 patroni/__main__.py 199 199 0% 1545s Nov 13 10:15:30 patroni/api.py 770 770 0% 1545s Nov 13 10:15:30 patroni/async_executor.py 96 69 28% 1545s Nov 13 10:15:30 patroni/collections.py 56 15 73% 1545s Nov 13 10:15:30 patroni/config.py 371 196 47% 1545s Nov 13 10:15:30 patroni/config_generator.py 212 212 0% 1545s Nov 13 10:15:30 patroni/ctl.py 936 411 56% 1545s Nov 13 10:15:30 patroni/daemon.py 76 76 0% 1545s Nov 13 10:15:30 patroni/dcs/__init__.py 646 270 58% 1545s Nov 13 10:15:30 patroni/dcs/consul.py 485 485 0% 1545s Nov 13 10:15:30 patroni/dcs/etcd3.py 679 679 0% 1545s Nov 13 10:15:30 patroni/dcs/etcd.py 603 224 63% 1545s Nov 13 10:15:30 patroni/dcs/exhibitor.py 61 61 0% 1545s Nov 13 10:15:30 patroni/dcs/kubernetes.py 938 938 0% 1545s Nov 13 10:15:30 patroni/dcs/raft.py 319 319 0% 1545s Nov 13 10:15:30 patroni/dcs/zookeeper.py 288 288 0% 1545s Nov 13 10:15:30 patroni/dynamic_loader.py 35 7 80% 1545s Nov 13 10:15:30 patroni/exceptions.py 16 1 94% 1545s Nov 13 10:15:30 patroni/file_perm.py 43 15 65% 1545s Nov 13 10:15:30 patroni/global_config.py 81 18 78% 1545s Nov 13 10:15:30 patroni/ha.py 1244 1244 0% 1545s Nov 13 10:15:30 patroni/log.py 219 173 21% 1545s Nov 13 10:15:30 patroni/postgresql/__init__.py 821 651 21% 1545s Nov 13 10:15:30 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1545s Nov 13 10:15:30 patroni/postgresql/bootstrap.py 252 222 12% 1545s Nov 13 10:15:30 patroni/postgresql/callback_executor.py 55 34 38% 1545s Nov 13 10:15:30 patroni/postgresql/cancellable.py 104 84 19% 1545s Nov 13 10:15:30 patroni/postgresql/config.py 813 698 14% 1545s Nov 13 10:15:30 patroni/postgresql/connection.py 75 50 33% 1545s Nov 13 10:15:30 patroni/postgresql/misc.py 41 29 29% 1545s Nov 13 10:15:30 patroni/postgresql/mpp/__init__.py 89 21 76% 1545s Nov 13 10:15:30 patroni/postgresql/mpp/citus.py 259 259 0% 1545s Nov 13 10:15:30 patroni/postgresql/postmaster.py 170 139 18% 1545s Nov 13 10:15:30 patroni/postgresql/rewind.py 416 416 0% 1545s Nov 13 10:15:30 patroni/postgresql/slots.py 334 285 15% 1545s Nov 13 10:15:30 patroni/postgresql/sync.py 130 96 26% 1545s Nov 13 10:15:30 patroni/postgresql/validator.py 157 52 67% 1545s Nov 13 10:15:30 patroni/psycopg.py 42 28 33% 1545s Nov 13 10:15:30 patroni/raft_controller.py 22 22 0% 1545s Nov 13 10:15:30 patroni/request.py 62 6 90% 1545s Nov 13 10:15:30 patroni/scripts/__init__.py 0 0 100% 1545s Nov 13 10:15:30 patroni/scripts/aws.py 59 59 0% 1545s Nov 13 10:15:30 patroni/scripts/barman/__init__.py 0 0 100% 1545s Nov 13 10:15:30 patroni/scripts/barman/cli.py 51 51 0% 1545s Nov 13 10:15:30 patroni/scripts/barman/config_switch.py 51 51 0% 1545s Nov 13 10:15:30 patroni/scripts/barman/recover.py 37 37 0% 1545s Nov 13 10:15:30 patroni/scripts/barman/utils.py 94 94 0% 1545s Nov 13 10:15:30 patroni/scripts/wale_restore.py 207 207 0% 1545s Nov 13 10:15:30 patroni/tags.py 38 11 71% 1545s Nov 13 10:15:30 patroni/utils.py 350 196 44% 1545s Nov 13 10:15:30 patroni/validator.py 301 215 29% 1545s Nov 13 10:15:30 patroni/version.py 1 0 100% 1545s Nov 13 10:15:30 patroni/watchdog/__init__.py 2 2 0% 1545s Nov 13 10:15:30 patroni/watchdog/base.py 203 203 0% 1545s Nov 13 10:15:30 patroni/watchdog/linux.py 135 135 0% 1545s Nov 13 10:15:30 ------------------------------------------------------------------------------------------------------------- 1545s Nov 13 10:15:30 TOTAL 53060 32138 39% 1545s Nov 13 10:15:30 12 features passed, 0 failed, 1 skipped 1545s Nov 13 10:15:30 55 scenarios passed, 0 failed, 5 skipped 1545s Nov 13 10:15:30 524 steps passed, 0 failed, 61 skipped, 0 undefined 1545s Nov 13 10:15:30 Took 8m39.147s 1545s ### End 16 acceptance-etcd ### 1545s + echo '### End 16 acceptance-etcd ###' 1545s + rm -f '/tmp/pgpass?' 1545s ++ id -u 1545s + '[' 0 -eq 0 ']' 1545s + '[' -x /etc/init.d/zookeeper ']' 1546s autopkgtest [10:15:31]: test acceptance-etcd: -----------------------] 1546s autopkgtest [10:15:31]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1546s acceptance-etcd PASS 1547s autopkgtest [10:15:32]: test acceptance-zookeeper: preparing testbed 1635s autopkgtest [10:17:00]: testbed dpkg architecture: arm64 1635s autopkgtest [10:17:00]: testbed apt version: 2.9.8 1635s autopkgtest [10:17:00]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1636s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1636s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 1636s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 1636s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 1636s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 1637s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [104 kB] 1637s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 1637s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [601 kB] 1637s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [17.1 kB] 1637s Fetched 1794 kB in 1s (2005 kB/s) 1637s Reading package lists... 1639s Reading package lists... 1640s Building dependency tree... 1640s Reading state information... 1640s Calculating upgrade... 1641s The following NEW packages will be installed: 1641s python3.13-gdbm 1641s The following packages will be upgraded: 1641s libpython3-stdlib python3 python3-gdbm python3-minimal 1641s 4 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1641s Need to get 101 kB of archives. 1641s After this operation, 141 kB of additional disk space will be used. 1641s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.12.7-1 [27.4 kB] 1643s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.12.7-1 [24.0 kB] 1643s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.12.7-1 [10.0 kB] 1643s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-gdbm arm64 3.13.0-2 [30.7 kB] 1643s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-gdbm arm64 3.12.7-1 [8642 B] 1644s Fetched 101 kB in 2s (41.1 kB/s) 1644s (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.) 1644s Preparing to unpack .../python3-minimal_3.12.7-1_arm64.deb ... 1644s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 1644s Setting up python3-minimal (3.12.7-1) ... 1644s (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.) 1644s Preparing to unpack .../python3_3.12.7-1_arm64.deb ... 1645s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 1645s Preparing to unpack .../libpython3-stdlib_3.12.7-1_arm64.deb ... 1645s Unpacking libpython3-stdlib:arm64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 1645s Selecting previously unselected package python3.13-gdbm. 1645s Preparing to unpack .../python3.13-gdbm_3.13.0-2_arm64.deb ... 1645s Unpacking python3.13-gdbm (3.13.0-2) ... 1645s Preparing to unpack .../python3-gdbm_3.12.7-1_arm64.deb ... 1645s Unpacking python3-gdbm:arm64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 1645s Setting up python3.13-gdbm (3.13.0-2) ... 1645s Setting up libpython3-stdlib:arm64 (3.12.7-1) ... 1645s Setting up python3 (3.12.7-1) ... 1645s Setting up python3-gdbm:arm64 (3.12.7-1) ... 1645s Processing triggers for man-db (2.12.1-3) ... 1646s Reading package lists... 1646s Building dependency tree... 1646s Reading state information... 1647s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1647s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 1647s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1648s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1648s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1649s Reading package lists... 1649s Reading package lists... 1649s Building dependency tree... 1649s Reading state information... 1650s Calculating upgrade... 1650s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1650s Reading package lists... 1650s Building dependency tree... 1650s Reading state information... 1651s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1657s Reading package lists... 1657s Building dependency tree... 1657s Reading state information... 1658s Starting pkgProblemResolver with broken count: 0 1658s Starting 2 pkgProblemResolver with broken count: 0 1658s Done 1659s The following additional packages will be installed: 1659s adwaita-icon-theme at-spi2-common ca-certificates-java 1659s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1659s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1659s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1659s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1659s libapr1t64 libasm-java libasound2-data libasound2t64 1659s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1659s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1659s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1659s libcommons-io-java libcommons-logging-java libcommons-parent-java 1659s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 1659s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1659s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1659s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1659s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1659s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1659s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1659s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1659s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1659s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1659s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1659s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1659s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1659s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 1659s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1659s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1659s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 1659s libsnappy1v5 libspring-beans-java libspring-core-java 1659s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 1659s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 1659s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 1659s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 1659s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 1659s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 1659s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 1659s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 1659s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 1659s patroni-doc postgresql postgresql-16 postgresql-client-16 1659s postgresql-client-common postgresql-common python3-behave python3-cdiff 1659s python3-click python3-colorama python3-coverage python3-dateutil 1659s python3-dnspython python3-eventlet python3-gevent python3-greenlet 1659s python3-kazoo python3-kerberos python3-parse python3-parse-type 1659s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 1659s python3-six python3-wcwidth python3-ydiff python3-zope.event 1659s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 1659s x11-common zookeeper zookeeperd 1659s Suggested packages: 1659s adwaita-icon-theme-legacy alsa-utils libasound2-plugins 1659s libatinject-jsr330-api-java-doc colord libavalon-framework-java 1659s libexcalibur-logkit-java cups-common gvfs libjackson2-annotations-java-doc 1659s jetty9 libjnr-ffi-java-doc libjnr-posix-java-doc libjsr305-java-doc 1659s liblcms2-utils liblog4j1.2-java-doc libbcpkix-java libcompress-lzf-java 1659s libjzlib-java liblog4j2-java libprotobuf-java pcscd libcglib-java 1659s libyaml-snake-java libaspectj-java libcommons-collections3-java tomcat9 1659s libzookeeper-java-doc libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic 1659s fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic 1659s vip-manager haproxy postgresql-doc postgresql-doc-16 python-coverage-doc 1659s python3-trio python3-aioquic python3-h2 python3-httpx python3-httpcore 1659s python-eventlet-doc python-gevent-doc python-greenlet-dev 1659s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 1659s Recommended packages: 1659s librsvg2-common alsa-ucm-conf alsa-topology-conf at-spi2-core 1659s libgdk-pixbuf2.0-bin libgl1-amber-dri libgtk-3-bin javascript-common 1659s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 1659s fonts-dejavu-extra 1659s The following NEW packages will be installed: 1659s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 1659s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1659s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1659s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1659s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1659s libapr1t64 libasm-java libasound2-data libasound2t64 1659s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1659s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1659s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1659s libcommons-io-java libcommons-logging-java libcommons-parent-java 1659s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 1659s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1659s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1659s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1659s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1659s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1659s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1659s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1659s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1659s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1659s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1659s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1659s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1659s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 1659s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1659s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1659s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 1659s libsnappy1v5 libspring-beans-java libspring-core-java 1659s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 1659s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 1659s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 1659s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 1659s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 1659s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 1659s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 1659s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 1659s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 1659s patroni-doc postgresql postgresql-16 postgresql-client-16 1659s postgresql-client-common postgresql-common python3-behave python3-cdiff 1659s python3-click python3-colorama python3-coverage python3-dateutil 1659s python3-dnspython python3-eventlet python3-gevent python3-greenlet 1659s python3-kazoo python3-kerberos python3-parse python3-parse-type 1659s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 1659s python3-six python3-wcwidth python3-ydiff python3-zope.event 1659s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 1659s x11-common zookeeper zookeeperd 1659s 0 upgraded, 196 newly installed, 0 to remove and 0 not upgraded. 1659s Need to get 130 MB/130 MB of archives. 1659s After this operation, 466 MB of additional disk space will be used. 1659s Get:1 /tmp/autopkgtest.MGe7DY/4-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [764 B] 1659s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 1660s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1660s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 1660s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 1660s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 1660s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ca-certificates-java all 20240118 [11.6 kB] 1660s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 java-common all 0.76 [6852 B] 1660s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 liblcms2-2 arm64 2.16-2 [170 kB] 1660s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-2ubuntu2 [163 kB] 1660s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 1660s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcsclite1 arm64 2.3.0-1 [24.4 kB] 1660s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre-headless arm64 21.0.5+11-1 [45.7 MB] 1661s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre-headless arm64 2:1.21-76 [3176 B] 1661s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 1661s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.22-1 [46.2 kB] 1661s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 1661s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-4ubuntu2 [154 kB] 1661s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.4.0-0.1 [16.3 kB] 1661s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.4.0-0.1 [192 kB] 1661s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 1661s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.12+dfsg-1 [145 kB] 1661s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 gtk-update-icon-cache arm64 4.16.5+ds-1 [51.7 kB] 1661s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 hicolor-icon-theme all 0.18-1 [13.5 kB] 1661s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 humanity-icon-theme all 0.6.16 [1282 kB] 1661s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 1661s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 adwaita-icon-theme all 47.0-2 [525 kB] 1661s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 at-spi2-common all 2.54.0-1 [8774 B] 1661s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk1.0-0t64 arm64 2.54.0-1 [55.0 kB] 1662s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 libxi6 arm64 2:1.8.2-1 [32.4 kB] 1662s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 libatspi2.0-0t64 arm64 2.54.0-1 [80.2 kB] 1662s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk-bridge2.0-0t64 arm64 2.54.0-1 [66.6 kB] 1662s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 1662s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 1662s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-1.1ubuntu2 [37.4 kB] 1662s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-1.1ubuntu2 [142 kB] 1662s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 1662s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 1662s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 1662s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 1662s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.2-2 [560 kB] 1662s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo-gobject2 arm64 1.18.2-2 [127 kB] 1662s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libcolord2 arm64 1.4.7-1build2 [149 kB] 1662s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common-data arm64 0.8-13ubuntu6 [29.6 kB] 1662s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common3 arm64 0.8-13ubuntu6 [23.3 kB] 1662s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-client3 arm64 0.8-13ubuntu6 [27.2 kB] 1662s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libcups2t64 arm64 2.4.10-1ubuntu2 [271 kB] 1662s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libepoxy0 arm64 1.5.10-2 [236 kB] 1662s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 1662s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 10.0.1-1 [487 kB] 1662s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-1.1ubuntu2 [190 kB] 1662s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 1662s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 1662s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 1662s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.54.0+ds-3 [234 kB] 1662s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.54.0+ds-3 [48.9 kB] 1662s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.54.0+ds-3 [27.5 kB] 1662s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-client0 arm64 1.23.0-1 [26.7 kB] 1662s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-cursor0 arm64 1.23.0-1 [10.6 kB] 1662s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-egl1 arm64 1.23.0-1 [5636 B] 1662s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcomposite1 arm64 1:0.4.6-1 [6626 B] 1662s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 1662s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcursor1 arm64 1:1.2.2-1 [21.2 kB] 1662s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 libxdamage1 arm64 1:1.1.6-1build1 [6236 B] 1662s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 libxinerama1 arm64 2:1.1.4-3build1 [6394 B] 1662s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 1662s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 libdconf1 arm64 0.40.0-4build2 [39.8 kB] 1662s Get:68 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-service arm64 0.40.0-4build2 [26.9 kB] 1662s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-gsettings-backend arm64 0.40.0-4build2 [22.0 kB] 1662s Get:70 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-common all 3.24.43-3ubuntu2 [1202 kB] 1662s Get:71 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-0t64 arm64 3.24.43-3ubuntu2 [2898 kB] 1662s Get:72 http://ftpmaster.internal/ubuntu plucky/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 1662s Get:73 http://ftpmaster.internal/ubuntu plucky/main arm64 libglapi-mesa arm64 24.2.3-1ubuntu1 [59.4 kB] 1662s Get:74 http://ftpmaster.internal/ubuntu plucky/main arm64 libx11-xcb1 arm64 2:1.8.10-2 [8020 B] 1662s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri2-0 arm64 1.17.0-2 [7418 B] 1662s Get:76 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 1662s Get:77 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 1662s Get:78 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 1662s Get:79 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 1662s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 1662s Get:81 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 1662s Get:82 http://ftpmaster.internal/ubuntu plucky/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 1662s Get:83 http://ftpmaster.internal/ubuntu plucky/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 1662s Get:84 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-amdgpu1 arm64 2.4.123-1 [20.9 kB] 1662s Get:85 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-radeon1 arm64 2.4.123-1 [20.8 kB] 1662s Get:86 http://ftpmaster.internal/ubuntu plucky/main arm64 mesa-libgallium arm64 24.2.3-1ubuntu1 [9030 kB] 1662s Get:87 http://ftpmaster.internal/ubuntu plucky/main arm64 libvulkan1 arm64 1.3.296.0-1 [153 kB] 1662s Get:88 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-server0 arm64 1.23.0-1 [35.7 kB] 1662s Get:89 http://ftpmaster.internal/ubuntu plucky/main arm64 libgbm1 arm64 24.2.3-1ubuntu1 [32.9 kB] 1662s Get:90 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1-mesa-dri arm64 24.2.3-1ubuntu1 [33.3 kB] 1662s Get:91 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx-mesa0 arm64 24.2.3-1ubuntu1 [164 kB] 1662s Get:92 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 1662s Get:93 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 1662s Get:94 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2-data all 1.2.12-1 [21.0 kB] 1662s Get:95 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2t64 arm64 1.2.12-1 [384 kB] 1663s Get:96 http://ftpmaster.internal/ubuntu plucky/main arm64 libgif7 arm64 5.2.2-1ubuntu1 [35.5 kB] 1663s Get:97 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1663s Get:98 http://ftpmaster.internal/ubuntu plucky/main arm64 libxtst6 arm64 2:1.2.3-1.1build1 [13.0 kB] 1663s Get:99 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre arm64 21.0.5+11-1 [221 kB] 1663s Get:100 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre arm64 2:1.21-76 [918 B] 1663s Get:101 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhamcrest-java all 2.2-2 [117 kB] 1663s Get:102 http://ftpmaster.internal/ubuntu plucky/universe arm64 junit4 all 4.13.2-5 [348 kB] 1663s Get:103 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 1663s Get:104 http://ftpmaster.internal/ubuntu plucky/universe arm64 libapache-pom-java all 33-2 [5874 B] 1663s Get:105 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-parent-java all 56-1 [10.7 kB] 1663s Get:106 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-io-java all 2.17.0-1 [457 kB] 1663s Get:107 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1663s Get:108 http://ftpmaster.internal/ubuntu plucky/universe arm64 libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1663s Get:109 http://ftpmaster.internal/ubuntu plucky/universe arm64 libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 1663s Get:110 http://ftpmaster.internal/ubuntu plucky/universe arm64 liberror-prone-java all 2.18.0-1 [22.5 kB] 1663s Get:111 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 1663s Get:112 http://ftpmaster.internal/ubuntu plucky/universe arm64 libguava-java all 32.0.1-1 [2692 kB] 1663s Get:113 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1663s Get:114 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-core-java all 2.14.1-1 [432 kB] 1663s Get:115 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 1663s Get:116 http://ftpmaster.internal/ubuntu plucky/universe arm64 libasm-java all 9.7.1-1 [388 kB] 1663s Get:117 http://ftpmaster.internal/ubuntu plucky/universe arm64 libel-api-java all 3.0.0-3 [64.9 kB] 1663s Get:118 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsp-api-java all 2.3.4-3 [53.7 kB] 1663s Get:119 http://ftpmaster.internal/ubuntu plucky/universe arm64 libservlet-api-java all 4.0.1-2 [81.0 kB] 1663s Get:120 http://ftpmaster.internal/ubuntu plucky/universe arm64 libwebsocket-api-java all 1.1-2 [40.1 kB] 1663s Get:121 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-java all 9.4.56-1 [2790 kB] 1663s Get:122 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-constants-java all 0.10.4-2 [1397 kB] 1663s Get:123 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-jni arm64 1.3.13+ds-1 [29.8 kB] 1663s Get:124 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-java all 1.3.13+ds-1 [112 kB] 1663s Get:125 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 1663s Get:126 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-ffi-java all 2.2.15-2 [627 kB] 1663s Get:127 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1663s Get:128 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-posix-java all 3.1.18-1 [267 kB] 1664s Get:129 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1664s Get:130 http://ftpmaster.internal/ubuntu plucky/universe arm64 libactivation-java all 1.2.0-2 [84.7 kB] 1664s Get:131 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmail-java all 1.6.5-3 [681 kB] 1664s Get:132 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1664s Get:133 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjaxb-api-java all 2.3.1-1 [119 kB] 1664s Get:134 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-core-java all 4.3.30-2 [1015 kB] 1664s Get:135 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-beans-java all 4.3.30-2 [675 kB] 1664s Get:136 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1664s Get:137 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1664s Get:138 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1664s Get:139 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1664s Get:140 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1664s Get:141 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-extra-java all 9.4.56-1 [1199 kB] 1664s Get:142 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjctools-java all 2.0.2-1 [188 kB] 1664s Get:143 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-java all 1:4.1.48-10 [3628 kB] 1664s Get:144 http://ftpmaster.internal/ubuntu plucky/universe arm64 libslf4j-java all 1.7.32-1 [141 kB] 1664s Get:145 http://ftpmaster.internal/ubuntu plucky/main arm64 libsnappy1v5 arm64 1.2.1-1 [30.4 kB] 1664s Get:146 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-jni arm64 1.1.10.5-2 [6618 B] 1664s Get:147 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-java all 1.1.10.5-2 [83.7 kB] 1664s Get:148 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.2-3.2ubuntu1 [106 kB] 1664s Get:149 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-jni arm64 2.0.28-1build4 [36.8 kB] 1664s Get:150 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1664s Get:151 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblog4j1.2-java all 1.2.17-11 [439 kB] 1664s Get:152 http://ftpmaster.internal/ubuntu plucky/universe arm64 libzookeeper-java all 3.9.2-2 [1885 kB] 1664s Get:153 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeper all 3.9.2-2 [57.8 kB] 1664s Get:154 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeperd all 3.9.2-2 [6036 B] 1664s Get:155 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1664s Get:156 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.2-1 [95.2 kB] 1664s Get:157 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 1664s Get:158 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 1664s Get:159 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1664s Get:160 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1664s Get:161 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1664s Get:162 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 1664s Get:163 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 1664s Get:164 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1664s Get:165 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1664s Get:166 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 1664s Get:167 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1664s Get:168 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 1664s Get:169 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 1665s Get:170 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 1665s Get:171 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 1665s Get:172 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 1665s Get:173 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 1665s Get:174 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1665s Get:175 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 1665s Get:176 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 1665s Get:177 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 1665s Get:178 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.0.3-0ubuntu6 [153 kB] 1665s Get:179 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1665s Get:180 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 1665s Get:181 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 1665s Get:182 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.1.1-1 [140 kB] 1665s Get:183 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.2.1-1 [791 kB] 1665s Get:184 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 1665s Get:185 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 1665s Get:186 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 1665s Get:187 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 1665s Get:188 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 1665s Get:189 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 1665s Get:190 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 1665s Get:191 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 1666s Get:192 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 1666s Get:193 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 1666s Get:194 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 1666s Get:195 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 1666s Get:196 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 1666s Preconfiguring packages ... 1666s Fetched 130 MB in 7s (19.8 MB/s) 1666s Selecting previously unselected package fonts-lato. 1666s (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 ... 79931 files and directories currently installed.) 1666s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1666s Unpacking fonts-lato (2.015-1) ... 1667s Selecting previously unselected package libjson-perl. 1667s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1667s Unpacking libjson-perl (4.10000-1) ... 1667s Selecting previously unselected package postgresql-client-common. 1667s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 1667s Unpacking postgresql-client-common (262) ... 1667s Selecting previously unselected package ssl-cert. 1667s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu2_all.deb ... 1667s Unpacking ssl-cert (1.1.2ubuntu2) ... 1667s Selecting previously unselected package postgresql-common. 1667s Preparing to unpack .../004-postgresql-common_262_all.deb ... 1667s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1667s Unpacking postgresql-common (262) ... 1667s Selecting previously unselected package ca-certificates-java. 1667s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 1667s Unpacking ca-certificates-java (20240118) ... 1667s Selecting previously unselected package java-common. 1667s Preparing to unpack .../006-java-common_0.76_all.deb ... 1667s Unpacking java-common (0.76) ... 1667s Selecting previously unselected package liblcms2-2:arm64. 1667s Preparing to unpack .../007-liblcms2-2_2.16-2_arm64.deb ... 1667s Unpacking liblcms2-2:arm64 (2.16-2) ... 1667s Selecting previously unselected package libjpeg-turbo8:arm64. 1667s Preparing to unpack .../008-libjpeg-turbo8_2.1.5-2ubuntu2_arm64.deb ... 1667s Unpacking libjpeg-turbo8:arm64 (2.1.5-2ubuntu2) ... 1667s Selecting previously unselected package libjpeg8:arm64. 1667s Preparing to unpack .../009-libjpeg8_8c-2ubuntu11_arm64.deb ... 1667s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 1667s Selecting previously unselected package libpcsclite1:arm64. 1667s Preparing to unpack .../010-libpcsclite1_2.3.0-1_arm64.deb ... 1667s Unpacking libpcsclite1:arm64 (2.3.0-1) ... 1667s Selecting previously unselected package openjdk-21-jre-headless:arm64. 1667s Preparing to unpack .../011-openjdk-21-jre-headless_21.0.5+11-1_arm64.deb ... 1667s Unpacking openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1668s Selecting previously unselected package default-jre-headless. 1668s Preparing to unpack .../012-default-jre-headless_2%3a1.21-76_arm64.deb ... 1668s Unpacking default-jre-headless (2:1.21-76) ... 1668s Selecting previously unselected package libgdk-pixbuf2.0-common. 1668s Preparing to unpack .../013-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 1668s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1668s Selecting previously unselected package libdeflate0:arm64. 1668s Preparing to unpack .../014-libdeflate0_1.22-1_arm64.deb ... 1668s Unpacking libdeflate0:arm64 (1.22-1) ... 1668s Selecting previously unselected package libjbig0:arm64. 1668s Preparing to unpack .../015-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 1668s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 1668s Selecting previously unselected package liblerc4:arm64. 1669s Preparing to unpack .../016-liblerc4_4.0.0+ds-4ubuntu2_arm64.deb ... 1669s Unpacking liblerc4:arm64 (4.0.0+ds-4ubuntu2) ... 1669s Selecting previously unselected package libsharpyuv0:arm64. 1669s Preparing to unpack .../017-libsharpyuv0_1.4.0-0.1_arm64.deb ... 1669s Unpacking libsharpyuv0:arm64 (1.4.0-0.1) ... 1669s Selecting previously unselected package libwebp7:arm64. 1669s Preparing to unpack .../018-libwebp7_1.4.0-0.1_arm64.deb ... 1669s Unpacking libwebp7:arm64 (1.4.0-0.1) ... 1669s Selecting previously unselected package libtiff6:arm64. 1669s Preparing to unpack .../019-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 1669s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1669s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 1669s Preparing to unpack .../020-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_arm64.deb ... 1669s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1669s Selecting previously unselected package gtk-update-icon-cache. 1669s Preparing to unpack .../021-gtk-update-icon-cache_4.16.5+ds-1_arm64.deb ... 1669s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1669s 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. 1669s Unpacking gtk-update-icon-cache (4.16.5+ds-1) ... 1669s Selecting previously unselected package hicolor-icon-theme. 1669s Preparing to unpack .../022-hicolor-icon-theme_0.18-1_all.deb ... 1669s Unpacking hicolor-icon-theme (0.18-1) ... 1669s Selecting previously unselected package humanity-icon-theme. 1669s Preparing to unpack .../023-humanity-icon-theme_0.6.16_all.deb ... 1669s Unpacking humanity-icon-theme (0.6.16) ... 1669s Selecting previously unselected package ubuntu-mono. 1669s Preparing to unpack .../024-ubuntu-mono_24.04-0ubuntu1_all.deb ... 1669s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 1670s Selecting previously unselected package adwaita-icon-theme. 1670s Preparing to unpack .../025-adwaita-icon-theme_47.0-2_all.deb ... 1670s Unpacking adwaita-icon-theme (47.0-2) ... 1670s Selecting previously unselected package at-spi2-common. 1670s Preparing to unpack .../026-at-spi2-common_2.54.0-1_all.deb ... 1670s Unpacking at-spi2-common (2.54.0-1) ... 1670s Selecting previously unselected package libatk1.0-0t64:arm64. 1670s Preparing to unpack .../027-libatk1.0-0t64_2.54.0-1_arm64.deb ... 1670s Unpacking libatk1.0-0t64:arm64 (2.54.0-1) ... 1670s Selecting previously unselected package libxi6:arm64. 1670s Preparing to unpack .../028-libxi6_2%3a1.8.2-1_arm64.deb ... 1670s Unpacking libxi6:arm64 (2:1.8.2-1) ... 1670s Selecting previously unselected package libatspi2.0-0t64:arm64. 1670s Preparing to unpack .../029-libatspi2.0-0t64_2.54.0-1_arm64.deb ... 1670s Unpacking libatspi2.0-0t64:arm64 (2.54.0-1) ... 1670s Selecting previously unselected package libatk-bridge2.0-0t64:arm64. 1670s Preparing to unpack .../030-libatk-bridge2.0-0t64_2.54.0-1_arm64.deb ... 1670s Unpacking libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 1670s Selecting previously unselected package fonts-dejavu-mono. 1670s Preparing to unpack .../031-fonts-dejavu-mono_2.37-8_all.deb ... 1670s Unpacking fonts-dejavu-mono (2.37-8) ... 1670s Selecting previously unselected package fonts-dejavu-core. 1670s Preparing to unpack .../032-fonts-dejavu-core_2.37-8_all.deb ... 1670s Unpacking fonts-dejavu-core (2.37-8) ... 1670s Selecting previously unselected package fontconfig-config. 1670s Preparing to unpack .../033-fontconfig-config_2.15.0-1.1ubuntu2_arm64.deb ... 1670s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 1670s Selecting previously unselected package libfontconfig1:arm64. 1670s Preparing to unpack .../034-libfontconfig1_2.15.0-1.1ubuntu2_arm64.deb ... 1670s Unpacking libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1670s Selecting previously unselected package libpixman-1-0:arm64. 1670s Preparing to unpack .../035-libpixman-1-0_0.44.0-3_arm64.deb ... 1670s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 1671s Selecting previously unselected package libxcb-render0:arm64. 1671s Preparing to unpack .../036-libxcb-render0_1.17.0-2_arm64.deb ... 1671s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 1671s Selecting previously unselected package libxcb-shm0:arm64. 1671s Preparing to unpack .../037-libxcb-shm0_1.17.0-2_arm64.deb ... 1671s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 1671s Selecting previously unselected package libxrender1:arm64. 1671s Preparing to unpack .../038-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 1671s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 1671s Selecting previously unselected package libcairo2:arm64. 1671s Preparing to unpack .../039-libcairo2_1.18.2-2_arm64.deb ... 1671s Unpacking libcairo2:arm64 (1.18.2-2) ... 1671s Selecting previously unselected package libcairo-gobject2:arm64. 1671s Preparing to unpack .../040-libcairo-gobject2_1.18.2-2_arm64.deb ... 1671s Unpacking libcairo-gobject2:arm64 (1.18.2-2) ... 1671s Selecting previously unselected package libcolord2:arm64. 1671s Preparing to unpack .../041-libcolord2_1.4.7-1build2_arm64.deb ... 1671s Unpacking libcolord2:arm64 (1.4.7-1build2) ... 1671s Selecting previously unselected package libavahi-common-data:arm64. 1671s Preparing to unpack .../042-libavahi-common-data_0.8-13ubuntu6_arm64.deb ... 1671s Unpacking libavahi-common-data:arm64 (0.8-13ubuntu6) ... 1671s Selecting previously unselected package libavahi-common3:arm64. 1671s Preparing to unpack .../043-libavahi-common3_0.8-13ubuntu6_arm64.deb ... 1671s Unpacking libavahi-common3:arm64 (0.8-13ubuntu6) ... 1671s Selecting previously unselected package libavahi-client3:arm64. 1671s Preparing to unpack .../044-libavahi-client3_0.8-13ubuntu6_arm64.deb ... 1671s Unpacking libavahi-client3:arm64 (0.8-13ubuntu6) ... 1671s Selecting previously unselected package libcups2t64:arm64. 1671s Preparing to unpack .../045-libcups2t64_2.4.10-1ubuntu2_arm64.deb ... 1671s Unpacking libcups2t64:arm64 (2.4.10-1ubuntu2) ... 1671s Selecting previously unselected package libepoxy0:arm64. 1671s Preparing to unpack .../046-libepoxy0_1.5.10-2_arm64.deb ... 1671s Unpacking libepoxy0:arm64 (1.5.10-2) ... 1671s Selecting previously unselected package libgraphite2-3:arm64. 1671s Preparing to unpack .../047-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 1671s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1671s Selecting previously unselected package libharfbuzz0b:arm64. 1671s Preparing to unpack .../048-libharfbuzz0b_10.0.1-1_arm64.deb ... 1671s Unpacking libharfbuzz0b:arm64 (10.0.1-1) ... 1671s Selecting previously unselected package fontconfig. 1671s Preparing to unpack .../049-fontconfig_2.15.0-1.1ubuntu2_arm64.deb ... 1671s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 1671s Selecting previously unselected package libthai-data. 1671s Preparing to unpack .../050-libthai-data_0.1.29-2build1_all.deb ... 1671s Unpacking libthai-data (0.1.29-2build1) ... 1671s Selecting previously unselected package libdatrie1:arm64. 1671s Preparing to unpack .../051-libdatrie1_0.2.13-3build1_arm64.deb ... 1671s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 1671s Selecting previously unselected package libthai0:arm64. 1671s Preparing to unpack .../052-libthai0_0.1.29-2build1_arm64.deb ... 1671s Unpacking libthai0:arm64 (0.1.29-2build1) ... 1671s Selecting previously unselected package libpango-1.0-0:arm64. 1671s Preparing to unpack .../053-libpango-1.0-0_1.54.0+ds-3_arm64.deb ... 1671s Unpacking libpango-1.0-0:arm64 (1.54.0+ds-3) ... 1671s Selecting previously unselected package libpangoft2-1.0-0:arm64. 1671s Preparing to unpack .../054-libpangoft2-1.0-0_1.54.0+ds-3_arm64.deb ... 1671s Unpacking libpangoft2-1.0-0:arm64 (1.54.0+ds-3) ... 1671s Selecting previously unselected package libpangocairo-1.0-0:arm64. 1671s Preparing to unpack .../055-libpangocairo-1.0-0_1.54.0+ds-3_arm64.deb ... 1671s Unpacking libpangocairo-1.0-0:arm64 (1.54.0+ds-3) ... 1671s Selecting previously unselected package libwayland-client0:arm64. 1671s Preparing to unpack .../056-libwayland-client0_1.23.0-1_arm64.deb ... 1671s Unpacking libwayland-client0:arm64 (1.23.0-1) ... 1671s Selecting previously unselected package libwayland-cursor0:arm64. 1671s Preparing to unpack .../057-libwayland-cursor0_1.23.0-1_arm64.deb ... 1671s Unpacking libwayland-cursor0:arm64 (1.23.0-1) ... 1671s Selecting previously unselected package libwayland-egl1:arm64. 1671s Preparing to unpack .../058-libwayland-egl1_1.23.0-1_arm64.deb ... 1671s Unpacking libwayland-egl1:arm64 (1.23.0-1) ... 1671s Selecting previously unselected package libxcomposite1:arm64. 1671s Preparing to unpack .../059-libxcomposite1_1%3a0.4.6-1_arm64.deb ... 1671s Unpacking libxcomposite1:arm64 (1:0.4.6-1) ... 1671s Selecting previously unselected package libxfixes3:arm64. 1671s Preparing to unpack .../060-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 1671s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 1672s Selecting previously unselected package libxcursor1:arm64. 1672s Preparing to unpack .../061-libxcursor1_1%3a1.2.2-1_arm64.deb ... 1672s Unpacking libxcursor1:arm64 (1:1.2.2-1) ... 1672s Selecting previously unselected package libxdamage1:arm64. 1672s Preparing to unpack .../062-libxdamage1_1%3a1.1.6-1build1_arm64.deb ... 1672s Unpacking libxdamage1:arm64 (1:1.1.6-1build1) ... 1672s Selecting previously unselected package libxinerama1:arm64. 1672s Preparing to unpack .../063-libxinerama1_2%3a1.1.4-3build1_arm64.deb ... 1672s Unpacking libxinerama1:arm64 (2:1.1.4-3build1) ... 1672s Selecting previously unselected package libxrandr2:arm64. 1672s Preparing to unpack .../064-libxrandr2_2%3a1.5.4-1_arm64.deb ... 1672s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 1672s Selecting previously unselected package libdconf1:arm64. 1672s Preparing to unpack .../065-libdconf1_0.40.0-4build2_arm64.deb ... 1672s Unpacking libdconf1:arm64 (0.40.0-4build2) ... 1672s Selecting previously unselected package dconf-service. 1672s Preparing to unpack .../066-dconf-service_0.40.0-4build2_arm64.deb ... 1672s Unpacking dconf-service (0.40.0-4build2) ... 1672s Selecting previously unselected package dconf-gsettings-backend:arm64. 1672s Preparing to unpack .../067-dconf-gsettings-backend_0.40.0-4build2_arm64.deb ... 1672s Unpacking dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1672s Selecting previously unselected package libgtk-3-common. 1672s Preparing to unpack .../068-libgtk-3-common_3.24.43-3ubuntu2_all.deb ... 1672s Unpacking libgtk-3-common (3.24.43-3ubuntu2) ... 1672s Selecting previously unselected package libgtk-3-0t64:arm64. 1672s Preparing to unpack .../069-libgtk-3-0t64_3.24.43-3ubuntu2_arm64.deb ... 1672s Unpacking libgtk-3-0t64:arm64 (3.24.43-3ubuntu2) ... 1672s Selecting previously unselected package libglvnd0:arm64. 1672s Preparing to unpack .../070-libglvnd0_1.7.0-1build1_arm64.deb ... 1672s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 1672s Selecting previously unselected package libglapi-mesa:arm64. 1672s Preparing to unpack .../071-libglapi-mesa_24.2.3-1ubuntu1_arm64.deb ... 1672s Unpacking libglapi-mesa:arm64 (24.2.3-1ubuntu1) ... 1672s Selecting previously unselected package libx11-xcb1:arm64. 1672s Preparing to unpack .../072-libx11-xcb1_2%3a1.8.10-2_arm64.deb ... 1672s Unpacking libx11-xcb1:arm64 (2:1.8.10-2) ... 1672s Selecting previously unselected package libxcb-dri2-0:arm64. 1672s Preparing to unpack .../073-libxcb-dri2-0_1.17.0-2_arm64.deb ... 1672s Unpacking libxcb-dri2-0:arm64 (1.17.0-2) ... 1672s Selecting previously unselected package libxcb-dri3-0:arm64. 1672s Preparing to unpack .../074-libxcb-dri3-0_1.17.0-2_arm64.deb ... 1672s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 1672s Selecting previously unselected package libxcb-glx0:arm64. 1672s Preparing to unpack .../075-libxcb-glx0_1.17.0-2_arm64.deb ... 1672s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 1672s Selecting previously unselected package libxcb-present0:arm64. 1672s Preparing to unpack .../076-libxcb-present0_1.17.0-2_arm64.deb ... 1672s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 1672s Selecting previously unselected package libxcb-randr0:arm64. 1672s Preparing to unpack .../077-libxcb-randr0_1.17.0-2_arm64.deb ... 1672s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 1672s Selecting previously unselected package libxcb-sync1:arm64. 1672s Preparing to unpack .../078-libxcb-sync1_1.17.0-2_arm64.deb ... 1672s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 1672s Selecting previously unselected package libxcb-xfixes0:arm64. 1672s Preparing to unpack .../079-libxcb-xfixes0_1.17.0-2_arm64.deb ... 1672s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 1672s Selecting previously unselected package libxshmfence1:arm64. 1672s Preparing to unpack .../080-libxshmfence1_1.3-1build5_arm64.deb ... 1672s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 1672s Selecting previously unselected package libxxf86vm1:arm64. 1672s Preparing to unpack .../081-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 1672s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1672s Selecting previously unselected package libdrm-amdgpu1:arm64. 1672s Preparing to unpack .../082-libdrm-amdgpu1_2.4.123-1_arm64.deb ... 1672s Unpacking libdrm-amdgpu1:arm64 (2.4.123-1) ... 1673s Selecting previously unselected package libdrm-radeon1:arm64. 1673s Preparing to unpack .../083-libdrm-radeon1_2.4.123-1_arm64.deb ... 1673s Unpacking libdrm-radeon1:arm64 (2.4.123-1) ... 1673s Selecting previously unselected package mesa-libgallium:arm64. 1673s Preparing to unpack .../084-mesa-libgallium_24.2.3-1ubuntu1_arm64.deb ... 1673s Unpacking mesa-libgallium:arm64 (24.2.3-1ubuntu1) ... 1673s Selecting previously unselected package libvulkan1:arm64. 1673s Preparing to unpack .../085-libvulkan1_1.3.296.0-1_arm64.deb ... 1673s Unpacking libvulkan1:arm64 (1.3.296.0-1) ... 1673s Selecting previously unselected package libwayland-server0:arm64. 1673s Preparing to unpack .../086-libwayland-server0_1.23.0-1_arm64.deb ... 1673s Unpacking libwayland-server0:arm64 (1.23.0-1) ... 1673s Selecting previously unselected package libgbm1:arm64. 1673s Preparing to unpack .../087-libgbm1_24.2.3-1ubuntu1_arm64.deb ... 1673s Unpacking libgbm1:arm64 (24.2.3-1ubuntu1) ... 1673s Selecting previously unselected package libgl1-mesa-dri:arm64. 1673s Preparing to unpack .../088-libgl1-mesa-dri_24.2.3-1ubuntu1_arm64.deb ... 1673s Unpacking libgl1-mesa-dri:arm64 (24.2.3-1ubuntu1) ... 1673s Selecting previously unselected package libglx-mesa0:arm64. 1673s Preparing to unpack .../089-libglx-mesa0_24.2.3-1ubuntu1_arm64.deb ... 1673s Unpacking libglx-mesa0:arm64 (24.2.3-1ubuntu1) ... 1673s Selecting previously unselected package libglx0:arm64. 1673s Preparing to unpack .../090-libglx0_1.7.0-1build1_arm64.deb ... 1673s Unpacking libglx0:arm64 (1.7.0-1build1) ... 1673s Selecting previously unselected package libgl1:arm64. 1673s Preparing to unpack .../091-libgl1_1.7.0-1build1_arm64.deb ... 1673s Unpacking libgl1:arm64 (1.7.0-1build1) ... 1673s Selecting previously unselected package libasound2-data. 1673s Preparing to unpack .../092-libasound2-data_1.2.12-1_all.deb ... 1673s Unpacking libasound2-data (1.2.12-1) ... 1673s Selecting previously unselected package libasound2t64:arm64. 1673s Preparing to unpack .../093-libasound2t64_1.2.12-1_arm64.deb ... 1673s Unpacking libasound2t64:arm64 (1.2.12-1) ... 1673s Selecting previously unselected package libgif7:arm64. 1673s Preparing to unpack .../094-libgif7_5.2.2-1ubuntu1_arm64.deb ... 1673s Unpacking libgif7:arm64 (5.2.2-1ubuntu1) ... 1673s Selecting previously unselected package x11-common. 1673s Preparing to unpack .../095-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1673s Unpacking x11-common (1:7.7+23ubuntu3) ... 1673s Selecting previously unselected package libxtst6:arm64. 1673s Preparing to unpack .../096-libxtst6_2%3a1.2.3-1.1build1_arm64.deb ... 1673s Unpacking libxtst6:arm64 (2:1.2.3-1.1build1) ... 1673s Selecting previously unselected package openjdk-21-jre:arm64. 1673s Preparing to unpack .../097-openjdk-21-jre_21.0.5+11-1_arm64.deb ... 1673s Unpacking openjdk-21-jre:arm64 (21.0.5+11-1) ... 1673s Selecting previously unselected package default-jre. 1673s Preparing to unpack .../098-default-jre_2%3a1.21-76_arm64.deb ... 1673s Unpacking default-jre (2:1.21-76) ... 1673s Selecting previously unselected package libhamcrest-java. 1673s Preparing to unpack .../099-libhamcrest-java_2.2-2_all.deb ... 1673s Unpacking libhamcrest-java (2.2-2) ... 1673s Selecting previously unselected package junit4. 1673s Preparing to unpack .../100-junit4_4.13.2-5_all.deb ... 1673s Unpacking junit4 (4.13.2-5) ... 1673s Selecting previously unselected package libcommons-cli-java. 1673s Preparing to unpack .../101-libcommons-cli-java_1.6.0-1_all.deb ... 1673s Unpacking libcommons-cli-java (1.6.0-1) ... 1673s Selecting previously unselected package libapache-pom-java. 1674s Preparing to unpack .../102-libapache-pom-java_33-2_all.deb ... 1674s Unpacking libapache-pom-java (33-2) ... 1674s Selecting previously unselected package libcommons-parent-java. 1674s Preparing to unpack .../103-libcommons-parent-java_56-1_all.deb ... 1674s Unpacking libcommons-parent-java (56-1) ... 1674s Selecting previously unselected package libcommons-io-java. 1674s Preparing to unpack .../104-libcommons-io-java_2.17.0-1_all.deb ... 1674s Unpacking libcommons-io-java (2.17.0-1) ... 1674s Selecting previously unselected package libdropwizard-metrics-java. 1674s Preparing to unpack .../105-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1674s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1674s Selecting previously unselected package libfindbugs-annotations-java. 1674s Preparing to unpack .../106-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1674s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1674s Selecting previously unselected package libatinject-jsr330-api-java. 1674s Preparing to unpack .../107-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 1674s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 1674s Selecting previously unselected package liberror-prone-java. 1674s Preparing to unpack .../108-liberror-prone-java_2.18.0-1_all.deb ... 1674s Unpacking liberror-prone-java (2.18.0-1) ... 1674s Selecting previously unselected package libjsr305-java. 1674s Preparing to unpack .../109-libjsr305-java_0.1~+svn49-11_all.deb ... 1674s Unpacking libjsr305-java (0.1~+svn49-11) ... 1674s Selecting previously unselected package libguava-java. 1674s Preparing to unpack .../110-libguava-java_32.0.1-1_all.deb ... 1674s Unpacking libguava-java (32.0.1-1) ... 1674s Selecting previously unselected package libjackson2-annotations-java. 1674s Preparing to unpack .../111-libjackson2-annotations-java_2.14.0-1_all.deb ... 1674s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1674s Selecting previously unselected package libjackson2-core-java. 1674s Preparing to unpack .../112-libjackson2-core-java_2.14.1-1_all.deb ... 1674s Unpacking libjackson2-core-java (2.14.1-1) ... 1674s Selecting previously unselected package libjackson2-databind-java. 1674s Preparing to unpack .../113-libjackson2-databind-java_2.14.0-1_all.deb ... 1674s Unpacking libjackson2-databind-java (2.14.0-1) ... 1674s Selecting previously unselected package libasm-java. 1674s Preparing to unpack .../114-libasm-java_9.7.1-1_all.deb ... 1674s Unpacking libasm-java (9.7.1-1) ... 1674s Selecting previously unselected package libel-api-java. 1674s Preparing to unpack .../115-libel-api-java_3.0.0-3_all.deb ... 1674s Unpacking libel-api-java (3.0.0-3) ... 1674s Selecting previously unselected package libjsp-api-java. 1674s Preparing to unpack .../116-libjsp-api-java_2.3.4-3_all.deb ... 1674s Unpacking libjsp-api-java (2.3.4-3) ... 1674s Selecting previously unselected package libservlet-api-java. 1674s Preparing to unpack .../117-libservlet-api-java_4.0.1-2_all.deb ... 1674s Unpacking libservlet-api-java (4.0.1-2) ... 1674s Selecting previously unselected package libwebsocket-api-java. 1674s Preparing to unpack .../118-libwebsocket-api-java_1.1-2_all.deb ... 1674s Unpacking libwebsocket-api-java (1.1-2) ... 1674s Selecting previously unselected package libjetty9-java. 1674s Preparing to unpack .../119-libjetty9-java_9.4.56-1_all.deb ... 1674s Unpacking libjetty9-java (9.4.56-1) ... 1674s Selecting previously unselected package libjnr-constants-java. 1674s Preparing to unpack .../120-libjnr-constants-java_0.10.4-2_all.deb ... 1674s Unpacking libjnr-constants-java (0.10.4-2) ... 1674s Selecting previously unselected package libjffi-jni:arm64. 1674s Preparing to unpack .../121-libjffi-jni_1.3.13+ds-1_arm64.deb ... 1674s Unpacking libjffi-jni:arm64 (1.3.13+ds-1) ... 1674s Selecting previously unselected package libjffi-java. 1674s Preparing to unpack .../122-libjffi-java_1.3.13+ds-1_all.deb ... 1674s Unpacking libjffi-java (1.3.13+ds-1) ... 1674s Selecting previously unselected package libjnr-x86asm-java. 1674s Preparing to unpack .../123-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 1674s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 1674s Selecting previously unselected package libjnr-ffi-java. 1674s Preparing to unpack .../124-libjnr-ffi-java_2.2.15-2_all.deb ... 1674s Unpacking libjnr-ffi-java (2.2.15-2) ... 1675s Selecting previously unselected package libjnr-enxio-java. 1675s Preparing to unpack .../125-libjnr-enxio-java_0.32.16-1_all.deb ... 1675s Unpacking libjnr-enxio-java (0.32.16-1) ... 1675s Selecting previously unselected package libjnr-posix-java. 1675s Preparing to unpack .../126-libjnr-posix-java_3.1.18-1_all.deb ... 1675s Unpacking libjnr-posix-java (3.1.18-1) ... 1675s Selecting previously unselected package libjnr-unixsocket-java. 1675s Preparing to unpack .../127-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1675s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1675s Selecting previously unselected package libactivation-java. 1675s Preparing to unpack .../128-libactivation-java_1.2.0-2_all.deb ... 1675s Unpacking libactivation-java (1.2.0-2) ... 1675s Selecting previously unselected package libmail-java. 1675s Preparing to unpack .../129-libmail-java_1.6.5-3_all.deb ... 1675s Unpacking libmail-java (1.6.5-3) ... 1675s Selecting previously unselected package libcommons-logging-java. 1675s Preparing to unpack .../130-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1675s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1675s Selecting previously unselected package libjaxb-api-java. 1675s Preparing to unpack .../131-libjaxb-api-java_2.3.1-1_all.deb ... 1675s Unpacking libjaxb-api-java (2.3.1-1) ... 1675s Selecting previously unselected package libspring-core-java. 1675s Preparing to unpack .../132-libspring-core-java_4.3.30-2_all.deb ... 1675s Unpacking libspring-core-java (4.3.30-2) ... 1675s Selecting previously unselected package libspring-beans-java. 1675s Preparing to unpack .../133-libspring-beans-java_4.3.30-2_all.deb ... 1675s Unpacking libspring-beans-java (4.3.30-2) ... 1675s Selecting previously unselected package libtaglibs-standard-spec-java. 1675s Preparing to unpack .../134-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1675s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1675s Selecting previously unselected package libtaglibs-standard-impl-java. 1675s Preparing to unpack .../135-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1675s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1675s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1675s Preparing to unpack .../136-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1675s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1675s Selecting previously unselected package libeclipse-jdt-core-java. 1675s Preparing to unpack .../137-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1675s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1675s Selecting previously unselected package libtomcat9-java. 1675s Preparing to unpack .../138-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1675s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1675s Selecting previously unselected package libjetty9-extra-java. 1675s Preparing to unpack .../139-libjetty9-extra-java_9.4.56-1_all.deb ... 1675s Unpacking libjetty9-extra-java (9.4.56-1) ... 1675s Selecting previously unselected package libjctools-java. 1675s Preparing to unpack .../140-libjctools-java_2.0.2-1_all.deb ... 1675s Unpacking libjctools-java (2.0.2-1) ... 1675s Selecting previously unselected package libnetty-java. 1675s Preparing to unpack .../141-libnetty-java_1%3a4.1.48-10_all.deb ... 1675s Unpacking libnetty-java (1:4.1.48-10) ... 1675s Selecting previously unselected package libslf4j-java. 1675s Preparing to unpack .../142-libslf4j-java_1.7.32-1_all.deb ... 1675s Unpacking libslf4j-java (1.7.32-1) ... 1675s Selecting previously unselected package libsnappy1v5:arm64. 1676s Preparing to unpack .../143-libsnappy1v5_1.2.1-1_arm64.deb ... 1676s Unpacking libsnappy1v5:arm64 (1.2.1-1) ... 1676s Selecting previously unselected package libsnappy-jni. 1676s Preparing to unpack .../144-libsnappy-jni_1.1.10.5-2_arm64.deb ... 1676s Unpacking libsnappy-jni (1.1.10.5-2) ... 1676s Selecting previously unselected package libsnappy-java. 1676s Preparing to unpack .../145-libsnappy-java_1.1.10.5-2_all.deb ... 1676s Unpacking libsnappy-java (1.1.10.5-2) ... 1676s Selecting previously unselected package libapr1t64:arm64. 1676s Preparing to unpack .../146-libapr1t64_1.7.2-3.2ubuntu1_arm64.deb ... 1676s Unpacking libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 1676s Selecting previously unselected package libnetty-tcnative-jni. 1676s Preparing to unpack .../147-libnetty-tcnative-jni_2.0.28-1build4_arm64.deb ... 1676s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1676s Selecting previously unselected package libnetty-tcnative-java. 1676s Preparing to unpack .../148-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1676s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1676s Selecting previously unselected package liblog4j1.2-java. 1676s Preparing to unpack .../149-liblog4j1.2-java_1.2.17-11_all.deb ... 1676s Unpacking liblog4j1.2-java (1.2.17-11) ... 1676s Selecting previously unselected package libzookeeper-java. 1676s Preparing to unpack .../150-libzookeeper-java_3.9.2-2_all.deb ... 1676s Unpacking libzookeeper-java (3.9.2-2) ... 1676s Selecting previously unselected package zookeeper. 1676s Preparing to unpack .../151-zookeeper_3.9.2-2_all.deb ... 1676s Unpacking zookeeper (3.9.2-2) ... 1676s Selecting previously unselected package zookeeperd. 1676s Preparing to unpack .../152-zookeeperd_3.9.2-2_all.deb ... 1676s Unpacking zookeeperd (3.9.2-2) ... 1676s Selecting previously unselected package fonts-font-awesome. 1676s Preparing to unpack .../153-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1676s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1676s Selecting previously unselected package libcares2:arm64. 1676s Preparing to unpack .../154-libcares2_1.34.2-1_arm64.deb ... 1676s Unpacking libcares2:arm64 (1.34.2-1) ... 1676s Selecting previously unselected package libev4t64:arm64. 1676s Preparing to unpack .../155-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 1676s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 1676s Selecting previously unselected package libio-pty-perl. 1676s Preparing to unpack .../156-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 1676s Unpacking libio-pty-perl (1:1.20-1build3) ... 1676s Selecting previously unselected package libipc-run-perl. 1676s Preparing to unpack .../157-libipc-run-perl_20231003.0-2_all.deb ... 1676s Unpacking libipc-run-perl (20231003.0-2) ... 1676s Selecting previously unselected package libjs-jquery. 1676s Preparing to unpack .../158-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1676s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1676s Selecting previously unselected package libjs-underscore. 1676s Preparing to unpack .../159-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1676s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1676s Selecting previously unselected package libjs-sphinxdoc. 1676s Preparing to unpack .../160-libjs-sphinxdoc_7.4.7-4_all.deb ... 1676s Unpacking libjs-sphinxdoc (7.4.7-4) ... 1676s Selecting previously unselected package libpq5:arm64. 1676s Preparing to unpack .../161-libpq5_17.0-1_arm64.deb ... 1676s Unpacking libpq5:arm64 (17.0-1) ... 1676s Selecting previously unselected package libtime-duration-perl. 1676s Preparing to unpack .../162-libtime-duration-perl_1.21-2_all.deb ... 1676s Unpacking libtime-duration-perl (1.21-2) ... 1676s Selecting previously unselected package libtimedate-perl. 1676s Preparing to unpack .../163-libtimedate-perl_2.3300-2_all.deb ... 1676s Unpacking libtimedate-perl (2.3300-2) ... 1676s Selecting previously unselected package libxslt1.1:arm64. 1676s Preparing to unpack .../164-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 1676s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 1677s Selecting previously unselected package moreutils. 1677s Preparing to unpack .../165-moreutils_0.69-1_arm64.deb ... 1677s Unpacking moreutils (0.69-1) ... 1677s Selecting previously unselected package python3-ydiff. 1677s Preparing to unpack .../166-python3-ydiff_1.3-1_all.deb ... 1677s Unpacking python3-ydiff (1.3-1) ... 1677s Selecting previously unselected package python3-cdiff. 1677s Preparing to unpack .../167-python3-cdiff_1.3-1_all.deb ... 1677s Unpacking python3-cdiff (1.3-1) ... 1677s Selecting previously unselected package python3-colorama. 1677s Preparing to unpack .../168-python3-colorama_0.4.6-4_all.deb ... 1677s Unpacking python3-colorama (0.4.6-4) ... 1677s Selecting previously unselected package python3-click. 1677s Preparing to unpack .../169-python3-click_8.1.7-2_all.deb ... 1677s Unpacking python3-click (8.1.7-2) ... 1677s Selecting previously unselected package python3-six. 1677s Preparing to unpack .../170-python3-six_1.16.0-7_all.deb ... 1677s Unpacking python3-six (1.16.0-7) ... 1677s Selecting previously unselected package python3-dateutil. 1677s Preparing to unpack .../171-python3-dateutil_2.9.0-2_all.deb ... 1677s Unpacking python3-dateutil (2.9.0-2) ... 1677s Selecting previously unselected package python3-wcwidth. 1677s Preparing to unpack .../172-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1677s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1677s Selecting previously unselected package python3-prettytable. 1677s Preparing to unpack .../173-python3-prettytable_3.10.1-1_all.deb ... 1677s Unpacking python3-prettytable (3.10.1-1) ... 1677s Selecting previously unselected package python3-psutil. 1677s Preparing to unpack .../174-python3-psutil_5.9.8-2build2_arm64.deb ... 1677s Unpacking python3-psutil (5.9.8-2build2) ... 1677s Selecting previously unselected package python3-psycopg2. 1677s Preparing to unpack .../175-python3-psycopg2_2.9.9-2_arm64.deb ... 1677s Unpacking python3-psycopg2 (2.9.9-2) ... 1677s Selecting previously unselected package python3-greenlet. 1677s Preparing to unpack .../176-python3-greenlet_3.0.3-0ubuntu6_arm64.deb ... 1677s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 1677s Selecting previously unselected package python3-dnspython. 1677s Preparing to unpack .../177-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1677s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1677s Selecting previously unselected package python3-eventlet. 1677s Preparing to unpack .../178-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 1677s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 1677s Selecting previously unselected package python3-zope.event. 1677s Preparing to unpack .../179-python3-zope.event_5.0-0.1_all.deb ... 1677s Unpacking python3-zope.event (5.0-0.1) ... 1677s Selecting previously unselected package python3-zope.interface. 1677s Preparing to unpack .../180-python3-zope.interface_7.1.1-1_arm64.deb ... 1677s Unpacking python3-zope.interface (7.1.1-1) ... 1677s Selecting previously unselected package python3-gevent. 1677s Preparing to unpack .../181-python3-gevent_24.2.1-1_arm64.deb ... 1677s Unpacking python3-gevent (24.2.1-1) ... 1677s Selecting previously unselected package python3-kerberos. 1677s Preparing to unpack .../182-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 1677s Unpacking python3-kerberos (1.1.14-3.1build9) ... 1677s Selecting previously unselected package python3-pure-sasl. 1677s Preparing to unpack .../183-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 1677s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 1677s Selecting previously unselected package python3-kazoo. 1677s Preparing to unpack .../184-python3-kazoo_2.9.0-2_all.deb ... 1677s Unpacking python3-kazoo (2.9.0-2) ... 1677s Selecting previously unselected package patroni. 1677s Preparing to unpack .../185-patroni_3.3.1-1_all.deb ... 1677s Unpacking patroni (3.3.1-1) ... 1677s Selecting previously unselected package sphinx-rtd-theme-common. 1677s Preparing to unpack .../186-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 1677s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1677s Selecting previously unselected package patroni-doc. 1677s Preparing to unpack .../187-patroni-doc_3.3.1-1_all.deb ... 1677s Unpacking patroni-doc (3.3.1-1) ... 1678s Selecting previously unselected package postgresql-client-16. 1678s Preparing to unpack .../188-postgresql-client-16_16.4-3_arm64.deb ... 1678s Unpacking postgresql-client-16 (16.4-3) ... 1678s Selecting previously unselected package postgresql-16. 1678s Preparing to unpack .../189-postgresql-16_16.4-3_arm64.deb ... 1678s Unpacking postgresql-16 (16.4-3) ... 1678s Selecting previously unselected package postgresql. 1678s Preparing to unpack .../190-postgresql_16+262_all.deb ... 1678s Unpacking postgresql (16+262) ... 1678s Selecting previously unselected package python3-parse. 1678s Preparing to unpack .../191-python3-parse_1.20.2-1_all.deb ... 1678s Unpacking python3-parse (1.20.2-1) ... 1678s Selecting previously unselected package python3-parse-type. 1678s Preparing to unpack .../192-python3-parse-type_0.6.4-1_all.deb ... 1678s Unpacking python3-parse-type (0.6.4-1) ... 1678s Selecting previously unselected package python3-behave. 1678s Preparing to unpack .../193-python3-behave_1.2.6-6_all.deb ... 1678s Unpacking python3-behave (1.2.6-6) ... 1678s Selecting previously unselected package python3-coverage. 1678s Preparing to unpack .../194-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 1678s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1678s Selecting previously unselected package autopkgtest-satdep. 1678s Preparing to unpack .../195-4-autopkgtest-satdep.deb ... 1678s Unpacking autopkgtest-satdep (0) ... 1678s Setting up postgresql-client-common (262) ... 1678s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1678s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 1678s Setting up liblcms2-2:arm64 (2.16-2) ... 1678s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1678s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 1678s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 1678s Setting up libjackson2-annotations-java (2.14.0-1) ... 1678s Setting up libsharpyuv0:arm64 (1.4.0-0.1) ... 1678s Setting up libwayland-server0:arm64 (1.23.0-1) ... 1678s Setting up libx11-xcb1:arm64 (2:1.8.10-2) ... 1678s Setting up libslf4j-java (1.7.32-1) ... 1678s Setting up fonts-lato (2.015-1) ... 1678s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1678s Setting up libxdamage1:arm64 (1:1.1.6-1build1) ... 1678s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 1678s Setting up liblerc4:arm64 (4.0.0+ds-4ubuntu2) ... 1678s Setting up libjsr305-java (0.1~+svn49-11) ... 1678s Setting up hicolor-icon-theme (0.18-1) ... 1678s Setting up libxi6:arm64 (2:1.8.2-1) ... 1678s Setting up java-common (0.76) ... 1678s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 1678s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 1678s Setting up libcommons-cli-java (1.6.0-1) ... 1678s Setting up libio-pty-perl (1:1.20-1build3) ... 1678s Setting up python3-colorama (0.4.6-4) ... 1678s Setting up libxcb-render0:arm64 (1.17.0-2) ... 1678s Setting up python3-zope.event (5.0-0.1) ... 1679s Setting up python3-zope.interface (7.1.1-1) ... 1679s Setting up libdrm-radeon1:arm64 (2.4.123-1) ... 1679s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 1679s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 1679s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1679s Setting up python3-ydiff (1.3-1) ... 1679s Setting up libasm-java (9.7.1-1) ... 1679s Setting up x11-common (1:7.7+23ubuntu3) ... 1679s Setting up libpq5:arm64 (17.0-1) ... 1679s Setting up libdeflate0:arm64 (1.22-1) ... 1679s Setting up python3-kerberos (1.1.14-3.1build9) ... 1679s Setting up liblog4j1.2-java (1.2.17-11) ... 1679s Setting up libel-api-java (3.0.0-3) ... 1679s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1680s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 1680s Setting up python3-click (8.1.7-2) ... 1680s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 1680s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 1680s Setting up libcolord2:arm64 (1.4.7-1build2) ... 1680s Setting up python3-psutil (5.9.8-2build2) ... 1680s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1680s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1680s Setting up libsnappy1v5:arm64 (1.2.1-1) ... 1680s Setting up libxcb-present0:arm64 (1.17.0-2) ... 1680s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1680s Setting up libdconf1:arm64 (0.40.0-4build2) ... 1680s Setting up libjctools-java (2.0.2-1) ... 1680s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1680s Setting up python3-six (1.16.0-7) ... 1680s Setting up libasound2-data (1.2.12-1) ... 1680s Setting up libasound2t64:arm64 (1.2.12-1) ... 1680s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1681s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1681s Setting up libepoxy0:arm64 (1.5.10-2) ... 1681s Setting up ssl-cert (1.1.2ubuntu2) ... 1681s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1682s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 1682s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 1682s Setting up libapache-pom-java (33-2) ... 1682s Setting up libavahi-common-data:arm64 (0.8-13ubuntu6) ... 1682s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 1682s Setting up libatspi2.0-0t64:arm64 (2.54.0-1) ... 1682s Setting up libwebsocket-api-java (1.1-2) ... 1682s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 1682s Setting up libxinerama1:arm64 (2:1.1.4-3build1) ... 1682s Setting up fonts-dejavu-mono (2.37-8) ... 1682s Setting up libcares2:arm64 (1.34.2-1) ... 1682s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 1682s Setting up python3-psycopg2 (2.9.9-2) ... 1682s Setting up fonts-dejavu-core (2.37-8) ... 1682s Setting up libipc-run-perl (20231003.0-2) ... 1682s Setting up libpcsclite1:arm64 (2.3.0-1) ... 1682s Setting up libjpeg-turbo8:arm64 (2.1.5-2ubuntu2) ... 1682s Setting up libactivation-java (1.2.0-2) ... 1682s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1682s Setting up libhamcrest-java (2.2-2) ... 1682s Setting up libglapi-mesa:arm64 (24.2.3-1ubuntu1) ... 1682s Setting up libjsp-api-java (2.3.4-3) ... 1682s Setting up libvulkan1:arm64 (1.3.296.0-1) ... 1682s Setting up libtime-duration-perl (1.21-2) ... 1682s Setting up libwebp7:arm64 (1.4.0-0.1) ... 1682s Setting up libtimedate-perl (2.3300-2) ... 1682s Setting up libxcb-dri2-0:arm64 (1.17.0-2) ... 1682s Setting up libgif7:arm64 (5.2.2-1ubuntu1) ... 1682s Setting up libxshmfence1:arm64 (1.3-1build5) ... 1682s Setting up libmail-java (1.6.5-3) ... 1682s Setting up at-spi2-common (2.54.0-1) ... 1682s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1682s Setting up libnetty-java (1:4.1.48-10) ... 1682s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 1682s Setting up python3-parse (1.20.2-1) ... 1682s Setting up libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 1682s Setting up libjson-perl (4.10000-1) ... 1682s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 1682s Setting up libservlet-api-java (4.0.1-2) ... 1682s Setting up libjackson2-core-java (2.14.1-1) ... 1682s Setting up libharfbuzz0b:arm64 (10.0.1-1) ... 1682s Setting up libthai-data (0.1.29-2build1) ... 1682s Setting up python3-dateutil (2.9.0-2) ... 1683s Setting up libjffi-jni:arm64 (1.3.13+ds-1) ... 1683s Setting up libwayland-egl1:arm64 (1.23.0-1) ... 1683s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1683s Setting up ca-certificates-java (20240118) ... 1683s No JRE found. Skipping Java certificates setup. 1683s Setting up python3-prettytable (3.10.1-1) ... 1683s Setting up libsnappy-jni (1.1.10.5-2) ... 1683s Setting up libxcomposite1:arm64 (1:0.4.6-1) ... 1683s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1683s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1683s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1683s Setting up libdrm-amdgpu1:arm64 (2.4.123-1) ... 1683s Setting up libjnr-constants-java (0.10.4-2) ... 1683s Setting up libwayland-client0:arm64 (1.23.0-1) ... 1683s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 1683s Setting up libjaxb-api-java (2.3.1-1) ... 1683s Setting up libjffi-java (1.3.13+ds-1) ... 1683s Setting up mesa-libgallium:arm64 (24.2.3-1ubuntu1) ... 1683s Setting up libjetty9-java (9.4.56-1) ... 1683s Setting up moreutils (0.69-1) ... 1683s Setting up libatk1.0-0t64:arm64 (2.54.0-1) ... 1683s Setting up openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1683s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 1683s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1683s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1683s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1683s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1683s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 1683s Setting up libgbm1:arm64 (24.2.3-1ubuntu1) ... 1683s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 1683s Setting up libxtst6:arm64 (2:1.2.3-1.1build1) ... 1683s Setting up libxcursor1:arm64 (1:1.2.2-1) ... 1683s Setting up postgresql-client-16 (16.4-3) ... 1684s 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 1684s Setting up python3-cdiff (1.3-1) ... 1684s Setting up libgl1-mesa-dri:arm64 (24.2.3-1ubuntu1) ... 1684s Setting up libcommons-parent-java (56-1) ... 1684s Setting up libavahi-common3:arm64 (0.8-13ubuntu6) ... 1684s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1684s Setting up dconf-service (0.40.0-4build2) ... 1684s Setting up python3-gevent (24.2.1-1) ... 1684s Setting up libjackson2-databind-java (2.14.0-1) ... 1684s Setting up libthai0:arm64 (0.1.29-2build1) ... 1684s Setting up python3-parse-type (0.6.4-1) ... 1684s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 1685s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1685s Setting up python3-kazoo (2.9.0-2) ... 1685s Setting up postgresql-common (262) ... 1685s 1685s Creating config file /etc/postgresql-common/createcluster.conf with new version 1685s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1685s Removing obsolete dictionary files: 1686s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1686s Setting up libjs-sphinxdoc (7.4.7-4) ... 1686s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1686s Setting up libwayland-cursor0:arm64 (1.23.0-1) ... 1686s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1686s Setting up python3-behave (1.2.6-6) ... 1687s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1687s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1687s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1687s """Registers a custom type that will be available to "parse" 1687s Setting up libsnappy-java (1.1.10.5-2) ... 1687s Setting up libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1687s Setting up patroni (3.3.1-1) ... 1687s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1687s Setting up libavahi-client3:arm64 (0.8-13ubuntu6) ... 1687s Setting up libjnr-ffi-java (2.2.15-2) ... 1687s Setting up libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 1688s Setting up gtk-update-icon-cache (4.16.5+ds-1) ... 1688s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 1689s Regenerating fonts cache... done. 1689s Setting up libglx-mesa0:arm64 (24.2.3-1ubuntu1) ... 1689s Setting up postgresql-16 (16.4-3) ... 1690s Creating new PostgreSQL cluster 16/main ... 1690s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1690s The files belonging to this database system will be owned by user "postgres". 1690s This user must also own the server process. 1690s 1690s The database cluster will be initialized with locale "C.UTF-8". 1690s The default database encoding has accordingly been set to "UTF8". 1690s The default text search configuration will be set to "english". 1690s 1690s Data page checksums are disabled. 1690s 1690s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1690s creating subdirectories ... ok 1690s selecting dynamic shared memory implementation ... posix 1690s selecting default max_connections ... 100 1690s selecting default shared_buffers ... 128MB 1690s selecting default time zone ... Etc/UTC 1690s creating configuration files ... ok 1690s running bootstrap script ... ok 1690s performing post-bootstrap initialization ... ok 1691s syncing data to disk ... ok 1694s Setting up libglx0:arm64 (1.7.0-1build1) ... 1694s Setting up libspring-core-java (4.3.30-2) ... 1694s Setting up dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1694s Setting up libcommons-io-java (2.17.0-1) ... 1694s Setting up patroni-doc (3.3.1-1) ... 1694s Setting up libpango-1.0-0:arm64 (1.54.0+ds-3) ... 1694s Setting up libcairo2:arm64 (1.18.2-2) ... 1694s Setting up libjnr-enxio-java (0.32.16-1) ... 1694s Setting up libgl1:arm64 (1.7.0-1build1) ... 1694s Setting up libcairo-gobject2:arm64 (1.18.2-2) ... 1694s Setting up postgresql (16+262) ... 1694s Setting up libpangoft2-1.0-0:arm64 (1.54.0+ds-3) ... 1694s Setting up libcups2t64:arm64 (2.4.10-1ubuntu2) ... 1694s Setting up libgtk-3-common (3.24.43-3ubuntu2) ... 1694s Setting up libjnr-posix-java (3.1.18-1) ... 1694s Setting up libpangocairo-1.0-0:arm64 (1.54.0+ds-3) ... 1694s Setting up libspring-beans-java (4.3.30-2) ... 1694s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1694s Setting up libjetty9-extra-java (9.4.56-1) ... 1694s Setting up libguava-java (32.0.1-1) ... 1694s Setting up adwaita-icon-theme (47.0-2) ... 1694s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1694s Setting up liberror-prone-java (2.18.0-1) ... 1694s Setting up humanity-icon-theme (0.6.16) ... 1694s Setting up ubuntu-mono (24.04-0ubuntu1) ... 1694s Processing triggers for man-db (2.12.1-3) ... 1696s Processing triggers for libglib2.0-0t64:arm64 (2.82.1-0ubuntu1) ... 1696s Setting up libgtk-3-0t64:arm64 (3.24.43-3ubuntu2) ... 1696s Processing triggers for libc-bin (2.40-1ubuntu3) ... 1696s Processing triggers for ca-certificates-java (20240118) ... 1696s Adding debian:ACCVRAIZ1.pem 1696s Adding debian:AC_RAIZ_FNMT-RCM.pem 1696s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1696s Adding debian:ANF_Secure_Server_Root_CA.pem 1696s Adding debian:Actalis_Authentication_Root_CA.pem 1696s Adding debian:AffirmTrust_Commercial.pem 1696s Adding debian:AffirmTrust_Networking.pem 1696s Adding debian:AffirmTrust_Premium.pem 1696s Adding debian:AffirmTrust_Premium_ECC.pem 1696s Adding debian:Amazon_Root_CA_1.pem 1696s Adding debian:Amazon_Root_CA_2.pem 1696s Adding debian:Amazon_Root_CA_3.pem 1696s Adding debian:Amazon_Root_CA_4.pem 1696s Adding debian:Atos_TrustedRoot_2011.pem 1696s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1696s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1696s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1696s Adding debian:BJCA_Global_Root_CA1.pem 1696s Adding debian:BJCA_Global_Root_CA2.pem 1696s Adding debian:Baltimore_CyberTrust_Root.pem 1696s Adding debian:Buypass_Class_2_Root_CA.pem 1696s Adding debian:Buypass_Class_3_Root_CA.pem 1696s Adding debian:CA_Disig_Root_R2.pem 1696s Adding debian:CFCA_EV_ROOT.pem 1696s Adding debian:COMODO_Certification_Authority.pem 1696s Adding debian:COMODO_ECC_Certification_Authority.pem 1696s Adding debian:COMODO_RSA_Certification_Authority.pem 1696s Adding debian:Certainly_Root_E1.pem 1696s Adding debian:Certainly_Root_R1.pem 1696s Adding debian:Certigna.pem 1696s Adding debian:Certigna_Root_CA.pem 1696s Adding debian:Certum_EC-384_CA.pem 1696s Adding debian:Certum_Trusted_Network_CA.pem 1696s Adding debian:Certum_Trusted_Network_CA_2.pem 1696s Adding debian:Certum_Trusted_Root_CA.pem 1696s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1696s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1696s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1696s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1696s Adding debian:Comodo_AAA_Services_root.pem 1696s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1696s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1696s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1696s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1696s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1696s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1696s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1696s Adding debian:DigiCert_Global_Root_CA.pem 1696s Adding debian:DigiCert_Global_Root_G2.pem 1696s Adding debian:DigiCert_Global_Root_G3.pem 1696s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1696s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1696s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1696s Adding debian:DigiCert_Trusted_Root_G4.pem 1696s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1696s Adding debian:Entrust_Root_Certification_Authority.pem 1696s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1696s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1696s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1696s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1696s Adding debian:GLOBALTRUST_2020.pem 1696s Adding debian:GTS_Root_R1.pem 1696s Adding debian:GTS_Root_R2.pem 1696s Adding debian:GTS_Root_R3.pem 1696s Adding debian:GTS_Root_R4.pem 1696s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1696s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1696s Adding debian:GlobalSign_Root_CA.pem 1696s Adding debian:GlobalSign_Root_CA_-_R3.pem 1696s Adding debian:GlobalSign_Root_CA_-_R6.pem 1696s Adding debian:GlobalSign_Root_E46.pem 1696s Adding debian:GlobalSign_Root_R46.pem 1696s Adding debian:Go_Daddy_Class_2_CA.pem 1696s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1696s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1696s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1696s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1696s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1696s Adding debian:HiPKI_Root_CA_-_G1.pem 1696s Adding debian:Hongkong_Post_Root_CA_3.pem 1696s Adding debian:ISRG_Root_X1.pem 1696s Adding debian:ISRG_Root_X2.pem 1696s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1697s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1697s Adding debian:Izenpe.com.pem 1697s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1697s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1697s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1697s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1697s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1697s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1697s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1697s Adding debian:QuoVadis_Root_CA_1_G3.pem 1697s Adding debian:QuoVadis_Root_CA_2.pem 1697s Adding debian:QuoVadis_Root_CA_2_G3.pem 1697s Adding debian:QuoVadis_Root_CA_3.pem 1697s Adding debian:QuoVadis_Root_CA_3_G3.pem 1697s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1697s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1697s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1697s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1697s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1697s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1697s Adding debian:SZAFIR_ROOT_CA2.pem 1697s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1697s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1697s Adding debian:SecureSign_RootCA11.pem 1697s Adding debian:SecureTrust_CA.pem 1697s Adding debian:Secure_Global_CA.pem 1697s Adding debian:Security_Communication_ECC_RootCA1.pem 1697s Adding debian:Security_Communication_RootCA2.pem 1697s Adding debian:Security_Communication_RootCA3.pem 1697s Adding debian:Security_Communication_Root_CA.pem 1697s Adding debian:Starfield_Class_2_CA.pem 1697s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1697s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1697s Adding debian:SwissSign_Gold_CA_-_G2.pem 1697s Adding debian:SwissSign_Silver_CA_-_G2.pem 1697s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1697s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1697s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1697s Adding debian:TWCA_Global_Root_CA.pem 1697s Adding debian:TWCA_Root_Certification_Authority.pem 1697s Adding debian:TeliaSonera_Root_CA_v1.pem 1697s Adding debian:Telia_Root_CA_v2.pem 1697s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1697s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1697s Adding debian:Trustwave_Global_Certification_Authority.pem 1697s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1697s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1697s Adding debian:TunTrust_Root_CA.pem 1697s Adding debian:UCA_Extended_Validation_Root.pem 1697s Adding debian:UCA_Global_G2_Root.pem 1697s Adding debian:USERTrust_ECC_Certification_Authority.pem 1697s Adding debian:USERTrust_RSA_Certification_Authority.pem 1697s Adding debian:XRamp_Global_CA_Root.pem 1697s Adding debian:certSIGN_ROOT_CA.pem 1697s Adding debian:certSIGN_Root_CA_G2.pem 1697s Adding debian:e-Szigno_Root_CA_2017.pem 1697s Adding debian:ePKI_Root_Certification_Authority.pem 1697s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1697s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1697s Adding debian:emSign_Root_CA_-_C1.pem 1697s Adding debian:emSign_Root_CA_-_G1.pem 1697s Adding debian:vTrus_ECC_Root_CA.pem 1697s Adding debian:vTrus_Root_CA.pem 1697s done. 1697s Setting up openjdk-21-jre:arm64 (21.0.5+11-1) ... 1697s Setting up junit4 (4.13.2-5) ... 1697s Setting up default-jre-headless (2:1.21-76) ... 1697s Setting up default-jre (2:1.21-76) ... 1697s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1697s Setting up libzookeeper-java (3.9.2-2) ... 1697s Setting up zookeeper (3.9.2-2) ... 1697s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1697s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1697s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1697s Setting up zookeeperd (3.9.2-2) ... 1698s Setting up autopkgtest-satdep (0) ... 1718s (Reading database ... 100119 files and directories currently installed.) 1718s Removing autopkgtest-satdep (0) ... 1774s autopkgtest [10:19:19]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1774s autopkgtest [10:19:19]: test acceptance-zookeeper: [----------------------- 1780s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1780s ++ ls -1r /usr/lib/postgresql/ 1780s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1780s + '[' 16 == 10 -o 16 == 11 ']' 1780s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1780s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1780s + 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' 1780s Nov 13 10:19:25 Feature: basic replication # features/basic_replication.feature:1 1780s Nov 13 10:19:25 We should check that the basic bootstrapping, replication and failover works. 1780s Nov 13 10:19:25 Scenario: check replication of a single table # features/basic_replication.feature:4 1780s Nov 13 10:19:25 Given I start postgres0 # features/steps/basic_replication.py:8 1783s Nov 13 10:19:28 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1783s Nov 13 10:19:28 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1783s Nov 13 10:19:28 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 1784s Nov 13 10:19:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1784s Nov 13 10:19:29 When I start postgres1 # features/steps/basic_replication.py:8 1787s Nov 13 10:19:32 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1790s Nov 13 10:19:35 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1790s Nov 13 10:19:35 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1790s Nov 13 10:19:35 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1791s Nov 13 10:19:36 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1791s Nov 13 10:19:36 1791s Nov 13 10:19:36 Scenario: check restart of sync replica # features/basic_replication.feature:17 1791s Nov 13 10:19:36 Given I shut down postgres2 # features/steps/basic_replication.py:29 1792s Nov 13 10:19:37 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1792s Nov 13 10:19:37 When I start postgres2 # features/steps/basic_replication.py:8 1795s Nov 13 10:19:40 And I shut down postgres1 # features/steps/basic_replication.py:29 1798s Nov 13 10:19:43 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1799s Nov 13 10:19:44 When I start postgres1 # features/steps/basic_replication.py:8 1802s Nov 13 10:19:47 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1802s Nov 13 10:19:47 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1802s Nov 13 10:19:47 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1802s Nov 13 10:19:47 1802s Nov 13 10:19:47 Scenario: check stuck sync replica # features/basic_replication.feature:28 1802s Nov 13 10:19:47 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 1802s Nov 13 10:19:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1802s Nov 13 10:19:47 And I create table on postgres0 # features/steps/basic_replication.py:73 1802s Nov 13 10:19:47 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1803s Nov 13 10:19:48 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1803s Nov 13 10:19:48 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1803s Nov 13 10:19:48 And I load data on postgres0 # features/steps/basic_replication.py:84 1804s Nov 13 10:19:49 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1807s Nov 13 10:19:52 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1807s Nov 13 10:19:52 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1808s Nov 13 10:19:53 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1808s Nov 13 10:19:53 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 1808s Nov 13 10:19:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1808s Nov 13 10:19:53 And I drop table on postgres0 # features/steps/basic_replication.py:73 1808s Nov 13 10:19:53 1808s Nov 13 10:19:53 Scenario: check multi sync replication # features/basic_replication.feature:44 1808s Nov 13 10:19:53 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 1808s Nov 13 10:19:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1808s Nov 13 10:19:53 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1812s Nov 13 10:19:57 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1812s Nov 13 10:19:57 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1812s Nov 13 10:19:57 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 1812s Nov 13 10:19:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1812s Nov 13 10:19:57 And I shut down postgres1 # features/steps/basic_replication.py:29 1815s Nov 13 10:20:00 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1816s Nov 13 10:20:01 When I start postgres1 # features/steps/basic_replication.py:8 1819s Nov 13 10:20:04 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1819s Nov 13 10:20:04 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1819s Nov 13 10:20:04 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1819s Nov 13 10:20:04 1819s Nov 13 10:20:04 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1819s Nov 13 10:20:04 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1821s Nov 13 10:20:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1821s Nov 13 10:20:06 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1823s Nov 13 10:20:08 And I shut down postgres0 # features/steps/basic_replication.py:29 1824s Nov 13 10:20:09 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1825s Nov 13 10:20:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1825s Nov 13 10:20:10 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1845s Nov 13 10:20:30 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1847s Nov 13 10:20:32 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1847s Nov 13 10:20:32 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 1847s Nov 13 10:20:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 1847s Nov 13 10:20:32 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1847s Nov 13 10:20:32 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1850s Nov 13 10:20:35 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1850s Nov 13 10:20:35 1850s Nov 13 10:20:35 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1850s Nov 13 10:20:35 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1850s Nov 13 10:20:35 And I start postgres0 # features/steps/basic_replication.py:8 1851s Nov 13 10:20:35 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1859s Nov 13 10:20:44 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1859s Nov 13 10:20:44 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1859s Nov 13 10:20:44 1859s Nov 13 10:20:44 @reject-duplicate-name 1859s Nov 13 10:20:44 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1859s Nov 13 10:20:44 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1861s Nov 13 10:20:46 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 1865s Nov 13 10:20:50 1865s Nov 13 10:20:50 Feature: cascading replication # features/cascading_replication.feature:1 1865s Nov 13 10:20:50 We should check that patroni can do base backup and streaming from the replica 1865s Nov 13 10:20:50 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1865s Nov 13 10:20:50 Given I start postgres0 # features/steps/basic_replication.py:8 1868s Nov 13 10:20:53 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1868s Nov 13 10:20:53 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1871s Nov 13 10:20:56 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1872s Nov 13 10:20:57 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1872s Nov 13 10:20:57 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1872s Nov 13 10:20:57 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1872s Nov 13 10:20:57 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1875s Nov 13 10:21:00 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1881s Nov 13 10:21:06 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1886s Nov 13 10:21:11 1886s SKIP FEATURE citus: Citus extenstion isn't available 1886s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1886s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1886s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1886s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1886s 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 1886s Nov 13 10:21:11 Feature: citus # features/citus.feature:1 1886s Nov 13 10:21:11 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1886s Nov 13 10:21:11 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1886s Nov 13 10:21:11 Given I start postgres0 in citus group 0 # None 1886s Nov 13 10:21:11 And I start postgres2 in citus group 1 # None 1886s Nov 13 10:21:11 Then postgres0 is a leader in a group 0 after 10 seconds # None 1886s Nov 13 10:21:11 And postgres2 is a leader in a group 1 after 10 seconds # None 1886s Nov 13 10:21:11 When I start postgres1 in citus group 0 # None 1886s Nov 13 10:21:11 And I start postgres3 in citus group 1 # None 1886s Nov 13 10:21:11 Then replication works from postgres0 to postgres1 after 15 seconds # None 1886s Nov 13 10:21:11 Then replication works from postgres2 to postgres3 after 15 seconds # None 1886s Nov 13 10:21:11 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1886s Nov 13 10:21:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1886s Nov 13 10:21:11 1886s Nov 13 10:21:11 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1886s Nov 13 10:21:11 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1886s Nov 13 10:21:11 Then postgres1 role is the primary after 10 seconds # None 1886s Nov 13 10:21:11 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1886s Nov 13 10:21:11 And replication works from postgres1 to postgres0 after 15 seconds # None 1886s Nov 13 10:21:11 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1886s Nov 13 10:21:11 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1886s Nov 13 10:21:11 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1886s Nov 13 10:21:11 Then postgres0 role is the primary after 10 seconds # None 1886s Nov 13 10:21:11 And replication works from postgres0 to postgres1 after 15 seconds # None 1886s Nov 13 10:21:11 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1886s Nov 13 10:21:11 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1886s Nov 13 10:21:11 1886s Nov 13 10:21:11 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1886s Nov 13 10:21:11 Given I create a distributed table on postgres0 # None 1886s Nov 13 10:21:11 And I start a thread inserting data on postgres0 # None 1886s Nov 13 10:21:11 When I run patronictl.py switchover batman --group 1 --force # None 1886s Nov 13 10:21:11 Then I receive a response returncode 0 # None 1886s Nov 13 10:21:11 And postgres3 role is the primary after 10 seconds # None 1886s Nov 13 10:21:11 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1886s Nov 13 10:21:11 And replication works from postgres3 to postgres2 after 15 seconds # None 1886s Nov 13 10:21:11 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1886s Nov 13 10:21:11 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1886s Nov 13 10:21:11 And a thread is still alive # None 1886s Nov 13 10:21:11 When I run patronictl.py switchover batman --group 1 --force # None 1886s Nov 13 10:21:11 Then I receive a response returncode 0 # None 1886s Nov 13 10:21:11 And postgres2 role is the primary after 10 seconds # None 1886s Nov 13 10:21:11 And replication works from postgres2 to postgres3 after 15 seconds # None 1886s Nov 13 10:21:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1886s Nov 13 10:21:11 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1886s Nov 13 10:21:11 And a thread is still alive # None 1886s Nov 13 10:21:11 When I stop a thread # None 1886s Nov 13 10:21:11 Then a distributed table on postgres0 has expected rows # None 1886s Nov 13 10:21:11 1886s Nov 13 10:21:11 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1886s Nov 13 10:21:11 Given I cleanup a distributed table on postgres0 # None 1886s Nov 13 10:21:11 And I start a thread inserting data on postgres0 # None 1886s Nov 13 10:21:11 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1886s Nov 13 10:21:11 Then I receive a response returncode 0 # None 1886s Nov 13 10:21:11 And postgres2 role is the primary after 10 seconds # None 1886s Nov 13 10:21:11 And replication works from postgres2 to postgres3 after 15 seconds # None 1886s Nov 13 10:21:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1886s Nov 13 10:21:11 And a thread is still alive # None 1886s Nov 13 10:21:11 When I stop a thread # None 1886s Nov 13 10:21:11 Then a distributed table on postgres0 has expected rows # None 1886s Nov 13 10:21:11 1886s Nov 13 10:21:11 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1886s Nov 13 10:21:11 Given I start postgres4 in citus group 2 # None 1886s Nov 13 10:21:11 Then postgres4 is a leader in a group 2 after 10 seconds # None 1886s Nov 13 10:21:11 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1886s Nov 13 10:21:11 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1886s Nov 13 10:21:11 Then I receive a response returncode 0 # None 1886s Nov 13 10:21:11 And I receive a response output "+ttl: 20" # None 1886s Nov 13 10:21:11 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1886s Nov 13 10:21:11 When I shut down postgres4 # None 1886s Nov 13 10:21:11 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1886s Nov 13 10:21:11 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1886s Nov 13 10:21:11 Then a transaction finishes in 20 seconds # None 1886s Nov 13 10:21:11 1886s Nov 13 10:21:11 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1886s Nov 13 10:21:11 We should check that patroni can bootstrap a new cluster from a backup 1886s Nov 13 10:21:11 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1886s Nov 13 10:21:11 Given I start postgres0 # features/steps/basic_replication.py:8 1889s Nov 13 10:21:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1889s Nov 13 10:21:14 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1889s Nov 13 10:21:14 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1893s Nov 13 10:21:18 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1894s Nov 13 10:21:19 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1894s Nov 13 10:21:19 1894s Nov 13 10:21:19 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1894s Nov 13 10:21:19 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1894s Nov 13 10:21:19 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1895s Nov 13 10:21:20 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1900s Nov 13 10:21:25 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1900s Nov 13 10:21:25 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1906s Nov 13 10:21:31 1906s Nov 13 10:21:31 Feature: ignored slots # features/ignored_slots.feature:1 1906s Nov 13 10:21:31 1906s Nov 13 10:21:31 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1906s Nov 13 10:21:31 Given I start postgres1 # features/steps/basic_replication.py:8 1909s Nov 13 10:21:34 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1909s Nov 13 10:21:34 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1909s Nov 13 10:21:34 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 1909s Nov 13 10:21:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 1909s Nov 13 10:21:34 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1909s Nov 13 10:21:34 When I shut down postgres1 # features/steps/basic_replication.py:29 1911s Nov 13 10:21:36 And I start postgres1 # features/steps/basic_replication.py:8 1914s Nov 13 10:21:39 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1914s Nov 13 10:21:39 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1915s Nov 13 10:21:40 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1915s Nov 13 10:21:40 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 13 10:21:40 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 13 10:21:40 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 13 10:21:40 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 13 10:21:40 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 13 10:21:40 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1915s Nov 13 10:21:40 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1915s Nov 13 10:21:40 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1915s Nov 13 10:21:40 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1915s Nov 13 10:21:40 When I start postgres0 # features/steps/basic_replication.py:8 1918s Nov 13 10:21:43 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1919s Nov 13 10:21:44 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1919s Nov 13 10:21:44 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1920s Nov 13 10:21:45 When I shut down postgres1 # features/steps/basic_replication.py:29 1922s Nov 13 10:21:47 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1923s Nov 13 10:21:48 When I start postgres1 # features/steps/basic_replication.py:8 1927s Nov 13 10:21:51 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1927s Nov 13 10:21:51 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1927s Nov 13 10:21:51 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1929s Nov 13 10:21:53 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1929s Nov 13 10:21:53 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1929s Nov 13 10:21:53 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1929s Nov 13 10:21:53 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1929s Nov 13 10:21:53 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1929s Nov 13 10:21:53 When I shut down postgres0 # features/steps/basic_replication.py:29 1931s Nov 13 10:21:55 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1932s Nov 13 10:21:56 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1932s Nov 13 10:21:57 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1932s Nov 13 10:21:57 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1932s Nov 13 10:21:57 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1934s Nov 13 10:21:59 1934s Nov 13 10:21:59 Feature: nostream node # features/nostream_node.feature:1 1934s Nov 13 10:21:59 1934s Nov 13 10:21:59 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1934s Nov 13 10:21:59 When I start postgres0 # features/steps/basic_replication.py:8 1937s Nov 13 10:22:02 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1940s Nov 13 10:22:05 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1941s Nov 13 10:22:06 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1946s Nov 13 10:22:11 1946s Nov 13 10:22:11 @slot-advance 1946s Nov 13 10:22:11 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1946s Nov 13 10:22: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 1946s Nov 13 10:22:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1946s Nov 13 10:22:11 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1948s Nov 13 10:22:13 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1949s Nov 13 10:22:14 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1952s Nov 13 10:22:17 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1953s Nov 13 10:22:18 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1953s Nov 13 10:22:18 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1959s Nov 13 10:22:24 1959s Nov 13 10:22:24 Feature: patroni api # features/patroni_api.feature:1 1959s Nov 13 10:22:24 We should check that patroni correctly responds to valid and not-valid API requests. 1959s Nov 13 10:22:24 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1959s Nov 13 10:22:24 Given I start postgres0 # features/steps/basic_replication.py:8 1962s Nov 13 10:22:27 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1962s Nov 13 10:22:27 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1962s Nov 13 10:22:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1962s Nov 13 10:22:27 And I receive a response state running # features/steps/patroni_api.py:98 1962s Nov 13 10:22:27 And I receive a response role master # features/steps/patroni_api.py:98 1962s Nov 13 10:22:27 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1962s Nov 13 10:22:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 1962s Nov 13 10:22:27 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1962s Nov 13 10:22:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1962s Nov 13 10:22:27 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1962s Nov 13 10:22:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 1962s Nov 13 10:22:27 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1962s Nov 13 10:22:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 1962s Nov 13 10:22:27 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1962s Nov 13 10:22:27 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1964s Nov 13 10:22:29 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1964s Nov 13 10:22:29 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1964s Nov 13 10:22:29 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1964s Nov 13 10:22:29 Then I receive a response code 412 # features/steps/patroni_api.py:98 1964s Nov 13 10:22:29 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1964s Nov 13 10:22:29 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1964s Nov 13 10:22:29 Then I receive a response code 400 # features/steps/patroni_api.py:98 1964s Nov 13 10:22:29 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1964s Nov 13 10:22:29 Then I receive a response code 400 # features/steps/patroni_api.py:98 1964s Nov 13 10:22:29 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1964s Nov 13 10:22:29 1964s Nov 13 10:22:29 Scenario: check local configuration reload # features/patroni_api.feature:32 1964s Nov 13 10:22:29 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1964s Nov 13 10:22:29 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1964s Nov 13 10:22:29 Then I receive a response code 202 # features/steps/patroni_api.py:98 1964s Nov 13 10:22:29 1964s Nov 13 10:22:29 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1964s Nov 13 10:22:29 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 1964s Nov 13 10:22:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1964s Nov 13 10:22:29 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1966s Nov 13 10:22:31 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1966s Nov 13 10:22:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 1966s Nov 13 10:22:31 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1966s Nov 13 10:22:31 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1966s Nov 13 10:22:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 1966s Nov 13 10:22:31 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1966s Nov 13 10:22:31 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1970s Nov 13 10:22:35 1970s Nov 13 10:22:35 Scenario: check the scheduled restart # features/patroni_api.feature:49 1970s Nov 13 10:22:35 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1972s Nov 13 10:22:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1972s Nov 13 10:22:37 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1972s Nov 13 10:22:37 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1972s Nov 13 10:22:37 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 1972s Nov 13 10:22:37 Then I receive a response code 202 # features/steps/patroni_api.py:98 1972s Nov 13 10:22:37 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1980s Nov 13 10:22:45 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1980s Nov 13 10:22:45 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 1980s Nov 13 10:22:45 Then I receive a response code 202 # features/steps/patroni_api.py:98 1980s Nov 13 10:22:45 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 1987s Nov 13 10:22:51 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1988s Nov 13 10:22:53 1988s Nov 13 10:22:53 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1988s Nov 13 10:22:53 Given I start postgres1 # features/steps/basic_replication.py:8 1991s Nov 13 10:22:56 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1992s Nov 13 10:22:57 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1993s Nov 13 10:22:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1993s Nov 13 10:22:58 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1993s Nov 13 10:22:58 waiting for server to shut down.... done 1993s Nov 13 10:22:58 server stopped 1993s Nov 13 10:22:58 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1993s Nov 13 10:22:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 1993s Nov 13 10:22:58 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1994s Nov 13 10:22:59 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1997s Nov 13 10:23:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1997s Nov 13 10:23:02 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1998s Nov 13 10:23:03 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2000s Nov 13 10:23:05 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2000s Nov 13 10:23:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 2000s Nov 13 10:23:05 And I receive a response state running # features/steps/patroni_api.py:98 2000s Nov 13 10:23:05 And I receive a response role replica # features/steps/patroni_api.py:98 2000s Nov 13 10:23:05 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2004s Nov 13 10:23:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2004s Nov 13 10:23:09 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2004s Nov 13 10:23:09 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2005s Nov 13 10:23:10 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2005s Nov 13 10:23:10 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2007s Nov 13 10:23:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2007s Nov 13 10:23:12 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2007s Nov 13 10:23:12 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2008s Nov 13 10:23:13 2008s Nov 13 10:23:13 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2008s Nov 13 10:23:13 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 2010s Nov 13 10:23:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2010s Nov 13 10:23:15 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2010s Nov 13 10:23:15 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2011s Nov 13 10:23:16 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2015s Nov 13 10:23:20 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2015s Nov 13 10:23:20 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2017s Nov 13 10:23:21 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2017s Nov 13 10:23:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 2017s Nov 13 10:23:22 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2017s Nov 13 10:23:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2017s Nov 13 10:23:22 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2017s Nov 13 10:23:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2017s Nov 13 10:23:22 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2017s Nov 13 10:23:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 2017s Nov 13 10:23:22 2017s Nov 13 10:23:22 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2017s Nov 13 10:23:22 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2018s Nov 13 10:23:23 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2018s Nov 13 10:23:23 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2018s Nov 13 10:23:23 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2020s Nov 13 10:23:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2020s Nov 13 10:23:25 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2021s Nov 13 10:23:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2021s Nov 13 10:23:26 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2031s Nov 13 10:23:36 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2032s Nov 13 10:23:37 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2034s Nov 13 10:23:39 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2034s Nov 13 10:23:39 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2035s Nov 13 10:23:40 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2035s Nov 13 10:23:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2035s Nov 13 10:23:40 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2035s Nov 13 10:23:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 2035s Nov 13 10:23:40 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2035s Nov 13 10:23:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 2035s Nov 13 10:23:40 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2036s Nov 13 10:23:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2040s Nov 13 10:23:45 2040s Nov 13 10:23:45 Feature: permanent slots # features/permanent_slots.feature:1 2040s Nov 13 10:23:45 2040s Nov 13 10:23:45 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2040s Nov 13 10:23:45 Given I start postgres0 # features/steps/basic_replication.py:8 2043s Nov 13 10:23:48 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2043s Nov 13 10:23:48 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2043s Nov 13 10:23:48 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 2043s Nov 13 10:23:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 2043s Nov 13 10:23:48 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2043s Nov 13 10:23:48 When I start postgres1 # features/steps/basic_replication.py:8 2046s Nov 13 10:23:51 And I start postgres2 # features/steps/basic_replication.py:8 2049s Nov 13 10:23:54 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2052s Nov 13 10:23:57 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2052s Nov 13 10:23:57 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2052s Nov 13 10:23:57 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2052s Nov 13 10:23:57 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2052s Nov 13 10:23:57 2052s Nov 13 10:23:57 @slot-advance 2052s Nov 13 10:23:57 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2052s Nov 13 10:23:57 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2056s Nov 13 10:24:00 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 2056s Nov 13 10:24:00 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2056s Nov 13 10:24:01 2056s Nov 13 10:24:01 @slot-advance 2056s Nov 13 10:24:01 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2056s Nov 13 10:24:01 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2061s Nov 13 10:24:06 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2061s Nov 13 10:24:06 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2062s Nov 13 10:24:07 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2063s Nov 13 10:24:08 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2063s Nov 13 10:24:08 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2063s Nov 13 10:24:08 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2063s Nov 13 10:24:08 2063s Nov 13 10:24:08 @slot-advance 2063s Nov 13 10:24:08 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2063s Nov 13 10:24:08 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2063s Nov 13 10:24:08 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2063s Nov 13 10:24:08 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2063s Nov 13 10:24:08 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2063s Nov 13 10:24:08 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2063s Nov 13 10:24:08 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2063s Nov 13 10:24:08 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2063s Nov 13 10:24:08 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2063s Nov 13 10:24:08 2063s Nov 13 10:24:08 @slot-advance 2063s Nov 13 10:24:08 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2063s Nov 13 10:24:08 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2063s Nov 13 10:24:08 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2063s Nov 13 10:24:08 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2063s Nov 13 10:24:08 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2067s Nov 13 10:24:12 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2067s Nov 13 10:24:12 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2067s Nov 13 10:24:12 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2067s Nov 13 10:24:12 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2067s Nov 13 10:24:12 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2067s Nov 13 10:24:12 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2067s Nov 13 10:24:12 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2067s Nov 13 10:24:12 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2067s Nov 13 10:24:12 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2067s Nov 13 10:24:12 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2067s Nov 13 10:24:12 2067s Nov 13 10:24:12 @slot-advance 2067s Nov 13 10:24:12 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2067s Nov 13 10:24:12 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2067s Nov 13 10:24:12 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2067s Nov 13 10:24:12 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2067s Nov 13 10:24:12 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2067s Nov 13 10:24:12 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2067s Nov 13 10:24:12 2067s Nov 13 10:24:12 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2067s Nov 13 10:24:12 Given I shut down postgres3 # features/steps/basic_replication.py:29 2068s Nov 13 10:24:13 And I shut down postgres2 # features/steps/basic_replication.py:29 2069s Nov 13 10:24:14 And I shut down postgres0 # features/steps/basic_replication.py:29 2071s Nov 13 10:24:16 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2071s Nov 13 10:24:16 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2071s Nov 13 10:24:16 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2073s Nov 13 10:24:18 2073s Nov 13 10:24:18 Feature: priority replication # features/priority_failover.feature:1 2073s Nov 13 10:24:18 We should check that we can give nodes priority during failover 2073s Nov 13 10:24:18 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2073s Nov 13 10:24:18 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2076s Nov 13 10:24:21 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2079s Nov 13 10:24:24 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2080s Nov 13 10:24:25 When I shut down postgres0 # features/steps/basic_replication.py:29 2082s Nov 13 10:24:27 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 2084s Nov 13 10:24:29 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2084s Nov 13 10:24:29 When I start postgres0 # features/steps/basic_replication.py:8 2087s Nov 13 10:24:32 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2088s Nov 13 10:24:33 2088s Nov 13 10:24:33 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2088s Nov 13 10:24:33 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2091s Nov 13 10:24:36 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2094s Nov 13 10:24:39 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2095s Nov 13 10:24:40 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2096s Nov 13 10:24:41 When I shut down postgres0 # features/steps/basic_replication.py:29 2098s Nov 13 10:24:43 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2099s Nov 13 10:24:44 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 2099s Nov 13 10:24:44 2099s Nov 13 10:24:44 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2099s Nov 13 10:24:44 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2099s Nov 13 10:24:44 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2099s Nov 13 10:24:44 Then I receive a response code 202 # features/steps/patroni_api.py:98 2099s Nov 13 10:24:44 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 2100s Nov 13 10:24:45 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2101s Nov 13 10:24:46 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2102s Nov 13 10:24:47 Then I receive a response code 412 # features/steps/patroni_api.py:98 2102s Nov 13 10:24:47 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2102s Nov 13 10:24:47 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2102s Nov 13 10:24:47 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2102s Nov 13 10:24:47 Then I receive a response code 202 # features/steps/patroni_api.py:98 2102s Nov 13 10:24:47 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 2103s Nov 13 10:24:48 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2104s Nov 13 10:24:49 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2107s Nov 13 10:24:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2107s Nov 13 10:24:52 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2111s Nov 13 10:24:56 2111s Nov 13 10:24:56 Feature: recovery # features/recovery.feature:1 2111s Nov 13 10:24:56 We want to check that crashed postgres is started back 2111s Nov 13 10:24:56 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2111s Nov 13 10:24:56 Given I start postgres0 # features/steps/basic_replication.py:8 2114s Nov 13 10:24:59 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2114s Nov 13 10:24:59 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2114s Nov 13 10:24:59 When I start postgres1 # features/steps/basic_replication.py:8 2117s Nov 13 10:25:02 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2117s Nov 13 10:25:02 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2118s Nov 13 10:25:03 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2118s Nov 13 10:25:03 waiting for server to shut down.... done 2118s Nov 13 10:25:03 server stopped 2118s Nov 13 10:25:03 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2121s Nov 13 10:25:06 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2121s Nov 13 10:25:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2121s Nov 13 10:25:06 And I receive a response role master # features/steps/patroni_api.py:98 2121s Nov 13 10:25:06 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2121s Nov 13 10:25:06 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2122s Nov 13 10:25:07 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2124s Nov 13 10:25:09 2124s Nov 13 10:25:09 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2124s Nov 13 10:25:09 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 2124s Nov 13 10:25:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2124s Nov 13 10:25:09 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2124s Nov 13 10:25:09 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2125s Nov 13 10:25:10 waiting for server to shut down.... done 2125s Nov 13 10:25:10 server stopped 2125s Nov 13 10:25:10 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2130s Nov 13 10:25:12 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2131s Nov 13 10:25:16 2131s Nov 13 10:25:16 Feature: standby cluster # features/standby_cluster.feature:1 2131s Nov 13 10:25:16 2131s Nov 13 10:25:16 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2131s Nov 13 10:25:16 Given I start postgres1 # features/steps/basic_replication.py:8 2134s Nov 13 10:25:19 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2134s Nov 13 10:25:19 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2134s Nov 13 10:25:19 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 2134s Nov 13 10:25:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 2134s Nov 13 10:25:19 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2134s Nov 13 10:25:19 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2137s Nov 13 10:25:22 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 2138s Nov 13 10:25:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2138s Nov 13 10:25:22 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2138s Nov 13 10:25:22 When I start postgres0 # features/steps/basic_replication.py:8 2140s Nov 13 10:25:25 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2141s Nov 13 10:25:26 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2142s Nov 13 10:25:27 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2142s Nov 13 10:25:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2142s Nov 13 10:25:27 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2142s Nov 13 10:25:27 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2142s Nov 13 10:25:27 2142s Nov 13 10:25:27 @slot-advance 2142s Nov 13 10:25:27 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2142s Nov 13 10:25:27 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2149s Nov 13 10:25:30 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2152s Nov 13 10:25:37 2152s Nov 13 10:25:37 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2152s Nov 13 10:25:37 When I shut down postgres1 # features/steps/basic_replication.py:29 2155s Nov 13 10:25:39 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2155s Nov 13 10:25:39 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2155s Nov 13 10:25:40 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2155s Nov 13 10:25:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2155s Nov 13 10:25:40 2155s Nov 13 10:25:40 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2155s Nov 13 10:25:40 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2158s Nov 13 10:25:43 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2158s Nov 13 10:25:43 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2158s Nov 13 10:25:43 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2158s Nov 13 10:25:43 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2158s Nov 13 10:25:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 2158s Nov 13 10:25:43 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2158s Nov 13 10:25:43 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2161s Nov 13 10:25:46 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2162s Nov 13 10:25:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 2162s Nov 13 10:25:46 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2162s Nov 13 10:25:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 2162s Nov 13 10:25:46 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2162s Nov 13 10:25:46 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2162s Nov 13 10:25:46 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2165s Nov 13 10:25:49 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2165s Nov 13 10:25:49 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2165s Nov 13 10:25:49 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2165s Nov 13 10:25:49 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2165s Nov 13 10:25:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 2165s Nov 13 10:25:49 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2165s Nov 13 10:25:49 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2165s Nov 13 10:25:49 2165s Nov 13 10:25:49 Scenario: check switchover # features/standby_cluster.feature:57 2165s Nov 13 10:25:49 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2168s Nov 13 10:25:52 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2168s Nov 13 10:25:53 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2170s Nov 13 10:25:55 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 2170s Nov 13 10:25:55 2170s Nov 13 10:25:55 Scenario: check failover # features/standby_cluster.feature:63 2170s Nov 13 10:25:55 When I kill postgres2 # features/steps/basic_replication.py:34 2171s Nov 13 10:25:56 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2171s Nov 13 10:25:56 waiting for server to shut down.... done 2171s Nov 13 10:25:56 server stopped 2171s Nov 13 10:25:56 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2191s Nov 13 10:26:16 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2191s Nov 13 10:26:16 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2191s Nov 13 10:26:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 2191s Nov 13 10:26:16 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2191s Nov 13 10:26:16 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2192s Nov 13 10:26:17 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 2196s Nov 13 10:26:21 2196s Nov 13 10:26:21 Feature: watchdog # features/watchdog.feature:1 2196s Nov 13 10:26:21 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2196s Nov 13 10:26:21 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2196s Nov 13 10:26:21 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2199s Nov 13 10:26:24 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2199s Nov 13 10:26:24 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2199s Nov 13 10:26:24 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2200s Nov 13 10:26:25 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2200s Nov 13 10:26:25 2200s Nov 13 10:26:25 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2200s Nov 13 10:26:25 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2202s Nov 13 10:26:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2202s Nov 13 10:26:27 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2202s Nov 13 10:26:27 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2206s Nov 13 10:26:31 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2206s Nov 13 10:26:31 2206s Nov 13 10:26:31 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2206s Nov 13 10:26:31 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2207s Nov 13 10:26:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2207s Nov 13 10:26:32 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2209s Nov 13 10:26:34 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2209s Nov 13 10:26:34 2209s Nov 13 10:26:34 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2209s Nov 13 10:26:34 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2209s Nov 13 10:26:34 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2215s Nov 13 10:26:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2215s Nov 13 10:26:36 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2215s Nov 13 10:26:36 2215s Nov 13 10:26:36 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2215s Nov 13 10:26:36 Given I shut down postgres0 # features/steps/basic_replication.py:29 2215s Nov 13 10:26:38 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2215s Nov 13 10:26:38 2215s Nov 13 10:26:38 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2215s Nov 13 10:26:38 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2215s Nov 13 10:26:38 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2216s Nov 13 10:26:41 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2217s Nov 13 10:26:42 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2217s Nov 13 10:26:42 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2244s Nov 13 10:27:09 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10075.XegKinrx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10120.XxVKutHx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10266.XOdEKqrx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10329.XYgUvEKx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10383.XLEhgvEx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10493.XaLmZSAx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10616.XRwCREYx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10752.XfmAxRfx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10799.XBOQXaux 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10806.XHMIXYsx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10811.XyYWyFtx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.10827.XnIQeuVx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.6913.XNrDlqWx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.6958.XBnrmZBx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7005.XNvkVZmx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7069.XrribHdx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7117.XbfWyHrx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7196.XyIsOLDx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7246.XiWRPBZx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7251.XrszMxmx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7350.XuhKoKQx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7451.XABkaUzx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7463.XftBQzIx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7507.XPhesnsx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7555.XsVkNylx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7692.XCPCvxKx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7738.XdTwUKAx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7794.XfahGRfx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7894.XrGqFsfx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.7950.XmRiVaZx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8014.XwagfyEx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8107.XTIFhTzx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8212.XTiqRiSx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8256.XzLBXcyx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8321.XSPpzlxx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8355.XymzlHwx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8519.XJXcwNvx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8569.XyAbBoax 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8590.XhUwWWbx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8629.XjUwzyLx 2244s Nov 13 10:27:09 Skipping duplicate data .coverage.autopkgtest.8680.XipFYpux 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8688.XGkWFGYx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8726.XLhvOvlx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8770.XcPriPex 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8936.XYFPtoXx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8940.XhdTxrVx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.8948.XXJPnNrx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9090.XWProKDx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9137.XvqIacpx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9179.XZRNBFCx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9224.XWNhlDrx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9269.XbSWqKSx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9469.XPyszBox 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9513.XWSosJix 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9588.XYlTOZmx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9666.XuAwJvGx 2244s Nov 13 10:27:09 Combined data file .coverage.autopkgtest.9713.XMeYAZqx 2246s Nov 13 10:27:11 Name Stmts Miss Cover 2246s Nov 13 10:27:11 -------------------------------------------------------------------------------------------------------- 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/api.py 770 289 62% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 91 86% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 288 69 76% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/ha.py 1244 372 70% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 214 74% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/six.py 504 249 51% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2246s Nov 13 10:27:11 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2246s Nov 13 10:27:11 patroni/__init__.py 13 2 85% 2246s Nov 13 10:27:11 patroni/__main__.py 199 199 0% 2246s Nov 13 10:27:11 patroni/api.py 770 770 0% 2246s Nov 13 10:27:11 patroni/async_executor.py 96 69 28% 2246s Nov 13 10:27:11 patroni/collections.py 56 15 73% 2246s Nov 13 10:27:11 patroni/config.py 371 194 48% 2246s Nov 13 10:27:11 patroni/config_generator.py 212 212 0% 2246s Nov 13 10:27:11 patroni/ctl.py 936 411 56% 2246s Nov 13 10:27:11 patroni/daemon.py 76 76 0% 2246s Nov 13 10:27:11 patroni/dcs/__init__.py 646 269 58% 2246s Nov 13 10:27:11 patroni/dcs/consul.py 485 485 0% 2246s Nov 13 10:27:11 patroni/dcs/etcd3.py 679 679 0% 2246s Nov 13 10:27:11 patroni/dcs/etcd.py 603 603 0% 2246s Nov 13 10:27:11 patroni/dcs/exhibitor.py 61 61 0% 2246s Nov 13 10:27:11 patroni/dcs/kubernetes.py 938 938 0% 2246s Nov 13 10:27:11 patroni/dcs/raft.py 319 319 0% 2246s Nov 13 10:27:11 patroni/dcs/zookeeper.py 288 149 48% 2246s Nov 13 10:27:11 patroni/dynamic_loader.py 35 7 80% 2246s Nov 13 10:27:11 patroni/exceptions.py 16 1 94% 2246s Nov 13 10:27:11 patroni/file_perm.py 43 15 65% 2246s Nov 13 10:27:11 patroni/global_config.py 81 18 78% 2246s Nov 13 10:27:11 patroni/ha.py 1244 1244 0% 2246s Nov 13 10:27:11 patroni/log.py 219 173 21% 2246s Nov 13 10:27:11 patroni/postgresql/__init__.py 821 651 21% 2246s Nov 13 10:27:11 patroni/postgresql/available_parameters/__init__.py 21 3 86% 2246s Nov 13 10:27:11 patroni/postgresql/bootstrap.py 252 222 12% 2246s Nov 13 10:27:11 patroni/postgresql/callback_executor.py 55 34 38% 2246s Nov 13 10:27:11 patroni/postgresql/cancellable.py 104 84 19% 2246s Nov 13 10:27:11 patroni/postgresql/config.py 813 698 14% 2246s Nov 13 10:27:11 patroni/postgresql/connection.py 75 50 33% 2246s Nov 13 10:27:11 patroni/postgresql/misc.py 41 29 29% 2246s Nov 13 10:27:11 patroni/postgresql/mpp/__init__.py 89 21 76% 2246s Nov 13 10:27:11 patroni/postgresql/mpp/citus.py 259 259 0% 2246s Nov 13 10:27:11 patroni/postgresql/postmaster.py 170 139 18% 2246s Nov 13 10:27:11 patroni/postgresql/rewind.py 416 416 0% 2246s Nov 13 10:27:11 patroni/postgresql/slots.py 334 285 15% 2246s Nov 13 10:27:11 patroni/postgresql/sync.py 130 96 26% 2246s Nov 13 10:27:11 patroni/postgresql/validator.py 157 52 67% 2246s Nov 13 10:27:11 patroni/psycopg.py 42 28 33% 2246s Nov 13 10:27:11 patroni/raft_controller.py 22 22 0% 2246s Nov 13 10:27:11 patroni/request.py 62 6 90% 2246s Nov 13 10:27:11 patroni/scripts/__init__.py 0 0 100% 2246s Nov 13 10:27:11 patroni/scripts/aws.py 59 59 0% 2246s Nov 13 10:27:11 patroni/scripts/barman/__init__.py 0 0 100% 2246s Nov 13 10:27:11 patroni/scripts/barman/cli.py 51 51 0% 2246s Nov 13 10:27:11 patroni/scripts/barman/config_switch.py 51 51 0% 2246s Nov 13 10:27:11 patroni/scripts/barman/recover.py 37 37 0% 2246s Nov 13 10:27:11 patroni/scripts/barman/utils.py 94 94 0% 2246s Nov 13 10:27:11 patroni/scripts/wale_restore.py 207 207 0% 2246s Nov 13 10:27:11 patroni/tags.py 38 11 71% 2246s Nov 13 10:27:11 patroni/utils.py 350 228 35% 2246s Nov 13 10:27:11 patroni/validator.py 301 215 29% 2246s Nov 13 10:27:11 patroni/version.py 1 0 100% 2246s Nov 13 10:27:11 patroni/watchdog/__init__.py 2 2 0% 2246s Nov 13 10:27:11 patroni/watchdog/base.py 203 203 0% 2246s Nov 13 10:27:11 patroni/watchdog/linux.py 135 135 0% 2246s Nov 13 10:27:11 -------------------------------------------------------------------------------------------------------- 2246s Nov 13 10:27:11 TOTAL 39824 23867 40% 2246s Nov 13 10:27:11 11 features passed, 0 failed, 1 skipped 2246s Nov 13 10:27:11 44 scenarios passed, 0 failed, 5 skipped 2246s Nov 13 10:27:11 444 steps passed, 0 failed, 61 skipped, 0 undefined 2246s Nov 13 10:27:11 Took 6m59.197s 2246s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2246s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2246s + rm -f '/tmp/pgpass?' 2246s ++ id -u 2246s + '[' 0 -eq 0 ']' 2246s + '[' -x /etc/init.d/zookeeper ']' 2246s + /etc/init.d/zookeeper stop 2247s Stopping zookeeper (via systemctl): zookeeper.service. 2247s autopkgtest [10:27:12]: test acceptance-zookeeper: -----------------------] 2248s autopkgtest [10:27:13]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2248s acceptance-zookeeper PASS 2249s autopkgtest [10:27:14]: test acceptance-raft: preparing testbed 2407s autopkgtest [10:29:52]: testbed dpkg architecture: arm64 2407s autopkgtest [10:29:52]: testbed apt version: 2.9.8 2407s autopkgtest [10:29:52]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2408s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2408s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 2409s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 2409s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 2409s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2409s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [104 kB] 2409s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 2409s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [601 kB] 2409s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [17.1 kB] 2409s Fetched 1794 kB in 1s (2154 kB/s) 2409s Reading package lists... 2411s Reading package lists... 2412s Building dependency tree... 2412s Reading state information... 2413s Calculating upgrade... 2414s The following NEW packages will be installed: 2414s python3.13-gdbm 2414s The following packages will be upgraded: 2414s libpython3-stdlib python3 python3-gdbm python3-minimal 2414s 4 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2414s Need to get 101 kB of archives. 2414s After this operation, 141 kB of additional disk space will be used. 2414s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.12.7-1 [27.4 kB] 2414s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.12.7-1 [24.0 kB] 2414s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.12.7-1 [10.0 kB] 2414s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-gdbm arm64 3.13.0-2 [30.7 kB] 2415s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-gdbm arm64 3.12.7-1 [8642 B] 2415s Fetched 101 kB in 0s (283 kB/s) 2416s (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.) 2416s Preparing to unpack .../python3-minimal_3.12.7-1_arm64.deb ... 2416s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 2416s Setting up python3-minimal (3.12.7-1) ... 2416s (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.) 2416s Preparing to unpack .../python3_3.12.7-1_arm64.deb ... 2416s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 2416s Preparing to unpack .../libpython3-stdlib_3.12.7-1_arm64.deb ... 2416s Unpacking libpython3-stdlib:arm64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 2416s Selecting previously unselected package python3.13-gdbm. 2416s Preparing to unpack .../python3.13-gdbm_3.13.0-2_arm64.deb ... 2416s Unpacking python3.13-gdbm (3.13.0-2) ... 2417s Preparing to unpack .../python3-gdbm_3.12.7-1_arm64.deb ... 2417s Unpacking python3-gdbm:arm64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 2417s Setting up python3.13-gdbm (3.13.0-2) ... 2417s Setting up libpython3-stdlib:arm64 (3.12.7-1) ... 2417s Setting up python3 (3.12.7-1) ... 2417s Setting up python3-gdbm:arm64 (3.12.7-1) ... 2417s Processing triggers for man-db (2.12.1-3) ... 2418s Reading package lists... 2419s Building dependency tree... 2419s Reading state information... 2421s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2422s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2422s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2422s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2422s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2423s Reading package lists... 2423s Reading package lists... 2424s Building dependency tree... 2424s Reading state information... 2425s Calculating upgrade... 2427s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2427s Reading package lists... 2427s Building dependency tree... 2427s Reading state information... 2428s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2434s Reading package lists... 2434s Building dependency tree... 2434s Reading state information... 2435s Starting pkgProblemResolver with broken count: 0 2435s Starting 2 pkgProblemResolver with broken count: 0 2435s Done 2436s The following additional packages will be installed: 2436s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2436s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libtime-duration-perl 2436s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 2436s postgresql-16 postgresql-client-16 postgresql-client-common 2436s postgresql-common python3-behave python3-cdiff python3-click 2436s python3-colorama python3-coverage python3-dateutil python3-parse 2436s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 2436s python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2436s sphinx-rtd-theme-common ssl-cert 2436s Suggested packages: 2436s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 2436s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 2436s Recommended packages: 2436s javascript-common libjson-xs-perl 2436s The following NEW packages will be installed: 2436s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 2436s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 2436s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2436s patroni-doc postgresql postgresql-16 postgresql-client-16 2436s postgresql-client-common postgresql-common python3-behave python3-cdiff 2436s python3-click python3-colorama python3-coverage python3-dateutil 2436s python3-parse python3-parse-type python3-prettytable python3-psutil 2436s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2436s sphinx-rtd-theme-common ssl-cert 2436s 0 upgraded, 38 newly installed, 0 to remove and 0 not upgraded. 2436s Need to get 23.8 MB/23.8 MB of archives. 2436s After this operation, 86.1 MB of additional disk space will be used. 2436s Get:1 /tmp/autopkgtest.MGe7DY/5-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [752 B] 2436s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 2437s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 2437s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 2437s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 2437s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 2437s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2437s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 2437s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 2437s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2437s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2437s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 2437s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 2437s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 2437s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 2437s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 2437s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 2437s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 2437s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 2437s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 2437s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 2437s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 2437s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 2437s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2437s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 2437s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 2437s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 2437s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 2437s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 2437s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 2437s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 2437s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 2437s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 2438s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 2438s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 2438s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 2438s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 2438s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 2438s Preconfiguring packages ... 2438s Fetched 23.8 MB in 2s (14.9 MB/s) 2438s Selecting previously unselected package fonts-lato. 2438s (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 ... 79931 files and directories currently installed.) 2438s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2438s Unpacking fonts-lato (2.015-1) ... 2439s Selecting previously unselected package libjson-perl. 2439s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2439s Unpacking libjson-perl (4.10000-1) ... 2439s Selecting previously unselected package postgresql-client-common. 2439s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 2439s Unpacking postgresql-client-common (262) ... 2439s Selecting previously unselected package ssl-cert. 2439s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 2439s Unpacking ssl-cert (1.1.2ubuntu2) ... 2439s Selecting previously unselected package postgresql-common. 2439s Preparing to unpack .../04-postgresql-common_262_all.deb ... 2439s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2439s Unpacking postgresql-common (262) ... 2439s Selecting previously unselected package fonts-font-awesome. 2439s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2439s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2439s Selecting previously unselected package libio-pty-perl. 2439s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 2439s Unpacking libio-pty-perl (1:1.20-1build3) ... 2439s Selecting previously unselected package libipc-run-perl. 2439s Preparing to unpack .../07-libipc-run-perl_20231003.0-2_all.deb ... 2439s Unpacking libipc-run-perl (20231003.0-2) ... 2439s Selecting previously unselected package libjs-jquery. 2439s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2439s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2439s Selecting previously unselected package libjs-underscore. 2439s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2439s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2439s Selecting previously unselected package libjs-sphinxdoc. 2439s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 2439s Unpacking libjs-sphinxdoc (7.4.7-4) ... 2439s Selecting previously unselected package libpq5:arm64. 2439s Preparing to unpack .../11-libpq5_17.0-1_arm64.deb ... 2439s Unpacking libpq5:arm64 (17.0-1) ... 2440s Selecting previously unselected package libtime-duration-perl. 2440s Preparing to unpack .../12-libtime-duration-perl_1.21-2_all.deb ... 2440s Unpacking libtime-duration-perl (1.21-2) ... 2440s Selecting previously unselected package libtimedate-perl. 2440s Preparing to unpack .../13-libtimedate-perl_2.3300-2_all.deb ... 2440s Unpacking libtimedate-perl (2.3300-2) ... 2440s Selecting previously unselected package libxslt1.1:arm64. 2440s Preparing to unpack .../14-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 2440s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 2440s Selecting previously unselected package moreutils. 2440s Preparing to unpack .../15-moreutils_0.69-1_arm64.deb ... 2440s Unpacking moreutils (0.69-1) ... 2440s Selecting previously unselected package python3-ydiff. 2440s Preparing to unpack .../16-python3-ydiff_1.3-1_all.deb ... 2440s Unpacking python3-ydiff (1.3-1) ... 2440s Selecting previously unselected package python3-cdiff. 2440s Preparing to unpack .../17-python3-cdiff_1.3-1_all.deb ... 2440s Unpacking python3-cdiff (1.3-1) ... 2440s Selecting previously unselected package python3-colorama. 2440s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 2440s Unpacking python3-colorama (0.4.6-4) ... 2440s Selecting previously unselected package python3-click. 2440s Preparing to unpack .../19-python3-click_8.1.7-2_all.deb ... 2440s Unpacking python3-click (8.1.7-2) ... 2440s Selecting previously unselected package python3-six. 2440s Preparing to unpack .../20-python3-six_1.16.0-7_all.deb ... 2440s Unpacking python3-six (1.16.0-7) ... 2440s Selecting previously unselected package python3-dateutil. 2440s Preparing to unpack .../21-python3-dateutil_2.9.0-2_all.deb ... 2440s Unpacking python3-dateutil (2.9.0-2) ... 2440s Selecting previously unselected package python3-wcwidth. 2440s Preparing to unpack .../22-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2440s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2440s Selecting previously unselected package python3-prettytable. 2440s Preparing to unpack .../23-python3-prettytable_3.10.1-1_all.deb ... 2440s Unpacking python3-prettytable (3.10.1-1) ... 2440s Selecting previously unselected package python3-psutil. 2440s Preparing to unpack .../24-python3-psutil_5.9.8-2build2_arm64.deb ... 2440s Unpacking python3-psutil (5.9.8-2build2) ... 2440s Selecting previously unselected package python3-psycopg2. 2440s Preparing to unpack .../25-python3-psycopg2_2.9.9-2_arm64.deb ... 2440s Unpacking python3-psycopg2 (2.9.9-2) ... 2440s Selecting previously unselected package python3-pysyncobj. 2440s Preparing to unpack .../26-python3-pysyncobj_0.3.12-1_all.deb ... 2440s Unpacking python3-pysyncobj (0.3.12-1) ... 2440s Selecting previously unselected package patroni. 2440s Preparing to unpack .../27-patroni_3.3.1-1_all.deb ... 2440s Unpacking patroni (3.3.1-1) ... 2441s Selecting previously unselected package sphinx-rtd-theme-common. 2441s Preparing to unpack .../28-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 2441s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2441s Selecting previously unselected package patroni-doc. 2441s Preparing to unpack .../29-patroni-doc_3.3.1-1_all.deb ... 2441s Unpacking patroni-doc (3.3.1-1) ... 2441s Selecting previously unselected package postgresql-client-16. 2441s Preparing to unpack .../30-postgresql-client-16_16.4-3_arm64.deb ... 2441s Unpacking postgresql-client-16 (16.4-3) ... 2441s Selecting previously unselected package postgresql-16. 2441s Preparing to unpack .../31-postgresql-16_16.4-3_arm64.deb ... 2441s Unpacking postgresql-16 (16.4-3) ... 2442s Selecting previously unselected package postgresql. 2442s Preparing to unpack .../32-postgresql_16+262_all.deb ... 2442s Unpacking postgresql (16+262) ... 2442s Selecting previously unselected package python3-parse. 2442s Preparing to unpack .../33-python3-parse_1.20.2-1_all.deb ... 2442s Unpacking python3-parse (1.20.2-1) ... 2442s Selecting previously unselected package python3-parse-type. 2442s Preparing to unpack .../34-python3-parse-type_0.6.4-1_all.deb ... 2442s Unpacking python3-parse-type (0.6.4-1) ... 2442s Selecting previously unselected package python3-behave. 2442s Preparing to unpack .../35-python3-behave_1.2.6-6_all.deb ... 2442s Unpacking python3-behave (1.2.6-6) ... 2442s Selecting previously unselected package python3-coverage. 2442s Preparing to unpack .../36-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 2442s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2442s Selecting previously unselected package autopkgtest-satdep. 2442s Preparing to unpack .../37-5-autopkgtest-satdep.deb ... 2442s Unpacking autopkgtest-satdep (0) ... 2442s Setting up postgresql-client-common (262) ... 2442s Setting up fonts-lato (2.015-1) ... 2442s Setting up libio-pty-perl (1:1.20-1build3) ... 2442s Setting up python3-pysyncobj (0.3.12-1) ... 2443s Setting up python3-colorama (0.4.6-4) ... 2443s Setting up python3-ydiff (1.3-1) ... 2443s Setting up libpq5:arm64 (17.0-1) ... 2443s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2444s Setting up python3-click (8.1.7-2) ... 2444s Setting up python3-psutil (5.9.8-2build2) ... 2445s Setting up python3-six (1.16.0-7) ... 2445s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2445s Setting up ssl-cert (1.1.2ubuntu2) ... 2446s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2446s Setting up python3-psycopg2 (2.9.9-2) ... 2446s Setting up libipc-run-perl (20231003.0-2) ... 2446s Setting up libtime-duration-perl (1.21-2) ... 2446s Setting up libtimedate-perl (2.3300-2) ... 2447s Setting up python3-parse (1.20.2-1) ... 2447s Setting up libjson-perl (4.10000-1) ... 2447s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 2447s Setting up python3-dateutil (2.9.0-2) ... 2447s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2447s Setting up python3-prettytable (3.10.1-1) ... 2447s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2447s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2447s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2447s Setting up moreutils (0.69-1) ... 2447s Setting up postgresql-client-16 (16.4-3) ... 2448s 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 2448s Setting up python3-cdiff (1.3-1) ... 2448s Setting up python3-parse-type (0.6.4-1) ... 2449s Setting up postgresql-common (262) ... 2449s 2449s Creating config file /etc/postgresql-common/createcluster.conf with new version 2450s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2450s Removing obsolete dictionary files: 2450s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2451s Setting up libjs-sphinxdoc (7.4.7-4) ... 2451s Setting up python3-behave (1.2.6-6) ... 2451s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2451s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2451s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2451s """Registers a custom type that will be available to "parse" 2451s Setting up patroni (3.3.1-1) ... 2452s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2453s Setting up postgresql-16 (16.4-3) ... 2453s Creating new PostgreSQL cluster 16/main ... 2453s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2453s The files belonging to this database system will be owned by user "postgres". 2453s This user must also own the server process. 2453s 2453s The database cluster will be initialized with locale "C.UTF-8". 2453s The default database encoding has accordingly been set to "UTF8". 2453s The default text search configuration will be set to "english". 2453s 2453s Data page checksums are disabled. 2453s 2453s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2453s creating subdirectories ... ok 2453s selecting dynamic shared memory implementation ... posix 2453s selecting default max_connections ... 100 2453s selecting default shared_buffers ... 128MB 2453s selecting default time zone ... Etc/UTC 2453s creating configuration files ... ok 2454s running bootstrap script ... ok 2454s performing post-bootstrap initialization ... ok 2454s syncing data to disk ... ok 2458s Setting up patroni-doc (3.3.1-1) ... 2458s Setting up postgresql (16+262) ... 2458s Setting up autopkgtest-satdep (0) ... 2458s Processing triggers for man-db (2.12.1-3) ... 2460s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2465s (Reading database ... 82950 files and directories currently installed.) 2465s Removing autopkgtest-satdep (0) ... 2467s autopkgtest [10:30:52]: test acceptance-raft: debian/tests/acceptance raft 2467s autopkgtest [10:30:52]: test acceptance-raft: [----------------------- 2467s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2467s ++ ls -1r /usr/lib/postgresql/ 2467s ### PostgreSQL 16 acceptance-raft ### 2467s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2467s + '[' 16 == 10 -o 16 == 11 ']' 2467s + echo '### PostgreSQL 16 acceptance-raft ###' 2467s + 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' 2474s Nov 13 10:30:59 Feature: basic replication # features/basic_replication.feature:1 2474s Nov 13 10:30:59 We should check that the basic bootstrapping, replication and failover works. 2474s Nov 13 10:30:59 Scenario: check replication of a single table # features/basic_replication.feature:4 2474s Nov 13 10:30:59 Given I start postgres0 # features/steps/basic_replication.py:8 2484s Nov 13 10:31:09 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2484s Nov 13 10:31:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2484s Nov 13 10:31:09 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 2484s Nov 13 10:31:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2484s Nov 13 10:31:09 When I start postgres1 # features/steps/basic_replication.py:8 2489s Nov 13 10:31:14 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2494s Nov 13 10:31:19 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2494s Nov 13 10:31:19 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2494s Nov 13 10:31:19 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2495s Nov 13 10:31:20 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2495s Nov 13 10:31:20 2495s Nov 13 10:31:20 Scenario: check restart of sync replica # features/basic_replication.feature:17 2495s Nov 13 10:31:20 Given I shut down postgres2 # features/steps/basic_replication.py:29 2496s Nov 13 10:31:21 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2496s Nov 13 10:31:21 When I start postgres2 # features/steps/basic_replication.py:8 2500s Nov 13 10:31:25 And I shut down postgres1 # features/steps/basic_replication.py:29 2503s Nov 13 10:31:28 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2504s Nov 13 10:31:29 When I start postgres1 # features/steps/basic_replication.py:8 2508s Nov 13 10:31:33 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2508s Nov 13 10:31:33 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2508s Nov 13 10:31:33 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2508s Nov 13 10:31:33 2508s Nov 13 10:31:33 Scenario: check stuck sync replica # features/basic_replication.feature:28 2508s Nov 13 10:31:33 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 2509s Nov 13 10:31:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 2509s Nov 13 10:31:33 And I create table on postgres0 # features/steps/basic_replication.py:73 2509s Nov 13 10:31:33 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2510s Nov 13 10:31:35 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2510s Nov 13 10:31:35 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2510s Nov 13 10:31:35 And I load data on postgres0 # features/steps/basic_replication.py:84 2510s Nov 13 10:31:35 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2513s Nov 13 10:31:38 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2513s Nov 13 10:31:38 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2513s Nov 13 10:31:38 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2513s Nov 13 10:31:38 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 2514s Nov 13 10:31:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 2514s Nov 13 10:31:39 And I drop table on postgres0 # features/steps/basic_replication.py:73 2514s Nov 13 10:31:39 2514s Nov 13 10:31:39 Scenario: check multi sync replication # features/basic_replication.feature:44 2514s Nov 13 10:31:39 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 2514s Nov 13 10:31:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 2514s Nov 13 10:31:39 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2518s Nov 13 10:31:43 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2518s Nov 13 10:31:43 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2518s Nov 13 10:31:43 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 2518s Nov 13 10:31:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 2518s Nov 13 10:31:43 And I shut down postgres1 # features/steps/basic_replication.py:29 2521s Nov 13 10:31:46 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2522s Nov 13 10:31:47 When I start postgres1 # features/steps/basic_replication.py:8 2526s Nov 13 10:31:51 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2526s Nov 13 10:31:51 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2526s Nov 13 10:31:51 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2526s Nov 13 10:31:51 2526s Nov 13 10:31:51 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2526s Nov 13 10:31:51 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2528s Nov 13 10:31:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2528s Nov 13 10:31:53 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2530s Nov 13 10:31:55 And I shut down postgres0 # features/steps/basic_replication.py:29 2531s Nov 13 10:31:56 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2533s Nov 13 10:31:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2533s Nov 13 10:31:58 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2552s Nov 13 10:32:17 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2553s Nov 13 10:32:18 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2553s Nov 13 10:32:18 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 2553s Nov 13 10:32:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 2553s Nov 13 10:32:18 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2553s Nov 13 10:32:18 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2557s Nov 13 10:32:22 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2557s Nov 13 10:32:22 2557s Nov 13 10:32:22 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2557s Nov 13 10:32:22 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2557s Nov 13 10:32:22 And I start postgres0 # features/steps/basic_replication.py:8 2557s Nov 13 10:32:22 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2561s Nov 13 10:32:26 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2561s Nov 13 10:32:26 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2567s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2582s Nov 13 10:32:47 2582s Nov 13 10:32:47 @reject-duplicate-name 2582s Nov 13 10:32:47 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2582s Nov 13 10:32:47 Given I start duplicate postgres0 on port 8011 # None 2582s Nov 13 10:32:47 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 2582s Nov 13 10:32:47 2582s Nov 13 10:32:47 Feature: cascading replication # features/cascading_replication.feature:1 2582s Nov 13 10:32:47 We should check that patroni can do base backup and streaming from the replica 2582s Nov 13 10:32:47 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2582s Nov 13 10:32:47 Given I start postgres0 # features/steps/basic_replication.py:8 2592s Nov 13 10:32:57 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2592s Nov 13 10:32:57 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2595s Nov 13 10:33:00 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2596s Nov 13 10:33:01 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2596s Nov 13 10:33:01 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2596s Nov 13 10:33:01 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2596s Nov 13 10:33:01 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2600s Nov 13 10:33:05 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2601s Nov 13 10:33:06 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2617s SKIP FEATURE citus: Citus extenstion isn't available 2617s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2617s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2617s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2617s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2617s 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 2617s Nov 13 10:33:22 2617s Nov 13 10:33:22 Feature: citus # features/citus.feature:1 2617s Nov 13 10:33:22 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2617s Nov 13 10:33:22 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2617s Nov 13 10:33:22 Given I start postgres0 in citus group 0 # None 2617s Nov 13 10:33:22 And I start postgres2 in citus group 1 # None 2617s Nov 13 10:33:22 Then postgres0 is a leader in a group 0 after 10 seconds # None 2617s Nov 13 10:33:22 And postgres2 is a leader in a group 1 after 10 seconds # None 2617s Nov 13 10:33:22 When I start postgres1 in citus group 0 # None 2617s Nov 13 10:33:22 And I start postgres3 in citus group 1 # None 2617s Nov 13 10:33:22 Then replication works from postgres0 to postgres1 after 15 seconds # None 2617s Nov 13 10:33:22 Then replication works from postgres2 to postgres3 after 15 seconds # None 2617s Nov 13 10:33:22 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2617s Nov 13 10:33:22 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2617s Nov 13 10:33:22 2617s Nov 13 10:33:22 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2617s Nov 13 10:33:22 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2617s Nov 13 10:33:22 Then postgres1 role is the primary after 10 seconds # None 2617s Nov 13 10:33:22 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2617s Nov 13 10:33:22 And replication works from postgres1 to postgres0 after 15 seconds # None 2617s Nov 13 10:33:22 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2617s Nov 13 10:33:22 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2617s Nov 13 10:33:22 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2617s Nov 13 10:33:22 Then postgres0 role is the primary after 10 seconds # None 2617s Nov 13 10:33:22 And replication works from postgres0 to postgres1 after 15 seconds # None 2617s Nov 13 10:33:22 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2617s Nov 13 10:33:22 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2617s Nov 13 10:33:22 2617s Nov 13 10:33:22 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2617s Nov 13 10:33:22 Given I create a distributed table on postgres0 # None 2617s Nov 13 10:33:22 And I start a thread inserting data on postgres0 # None 2617s Nov 13 10:33:22 When I run patronictl.py switchover batman --group 1 --force # None 2617s Nov 13 10:33:22 Then I receive a response returncode 0 # None 2617s Nov 13 10:33:22 And postgres3 role is the primary after 10 seconds # None 2617s Nov 13 10:33:22 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2617s Nov 13 10:33:22 And replication works from postgres3 to postgres2 after 15 seconds # None 2617s Nov 13 10:33:22 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2617s Nov 13 10:33:22 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2617s Nov 13 10:33:22 And a thread is still alive # None 2617s Nov 13 10:33:22 When I run patronictl.py switchover batman --group 1 --force # None 2617s Nov 13 10:33:22 Then I receive a response returncode 0 # None 2617s Nov 13 10:33:22 And postgres2 role is the primary after 10 seconds # None 2617s Nov 13 10:33:22 And replication works from postgres2 to postgres3 after 15 seconds # None 2617s Nov 13 10:33:22 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2617s Nov 13 10:33:22 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2617s Nov 13 10:33:22 And a thread is still alive # None 2617s Nov 13 10:33:22 When I stop a thread # None 2617s Nov 13 10:33:22 Then a distributed table on postgres0 has expected rows # None 2617s Nov 13 10:33:22 2617s Nov 13 10:33:22 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2617s Nov 13 10:33:22 Given I cleanup a distributed table on postgres0 # None 2617s Nov 13 10:33:22 And I start a thread inserting data on postgres0 # None 2617s Nov 13 10:33:22 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2617s Nov 13 10:33:22 Then I receive a response returncode 0 # None 2617s Nov 13 10:33:22 And postgres2 role is the primary after 10 seconds # None 2617s Nov 13 10:33:22 And replication works from postgres2 to postgres3 after 15 seconds # None 2617s Nov 13 10:33:22 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2617s Nov 13 10:33:22 And a thread is still alive # None 2617s Nov 13 10:33:22 When I stop a thread # None 2617s Nov 13 10:33:22 Then a distributed table on postgres0 has expected rows # None 2623s Nov 13 10:33:28 2623s Nov 13 10:33:28 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2623s Nov 13 10:33:28 Given I start postgres4 in citus group 2 # None 2623s Nov 13 10:33:28 Then postgres4 is a leader in a group 2 after 10 seconds # None 2623s Nov 13 10:33:28 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2623s Nov 13 10:33:28 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2623s Nov 13 10:33:28 Then I receive a response returncode 0 # None 2623s Nov 13 10:33:28 And I receive a response output "+ttl: 20" # None 2623s Nov 13 10:33:28 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2623s Nov 13 10:33:28 When I shut down postgres4 # None 2623s Nov 13 10:33:28 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2623s Nov 13 10:33:28 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2623s Nov 13 10:33:28 Then a transaction finishes in 20 seconds # None 2623s Nov 13 10:33:28 2623s Nov 13 10:33:28 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2623s Nov 13 10:33:28 We should check that patroni can bootstrap a new cluster from a backup 2623s Nov 13 10:33:28 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2623s Nov 13 10:33:28 Given I start postgres0 # features/steps/basic_replication.py:8 2626s Nov 13 10:33:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2627s Nov 13 10:33:32 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2627s Nov 13 10:33:32 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2631s Nov 13 10:33:36 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2632s Nov 13 10:33:37 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2632s Nov 13 10:33:37 2632s Nov 13 10:33:37 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2632s Nov 13 10:33:37 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2632s Nov 13 10:33:37 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2633s Nov 13 10:33:38 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2638s Nov 13 10:33:43 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2638s Nov 13 10:33:43 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2655s Nov 13 10:34:00 2655s Nov 13 10:34:00 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2655s Nov 13 10:34:00 We should check the basic dcs failsafe mode functioning 2655s Nov 13 10:34:00 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2655s Nov 13 10:34:00 Given I start postgres0 # features/steps/basic_replication.py:8 2658s Nov 13 10:34:03 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2659s Nov 13 10:34:04 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2659s Nov 13 10:34:04 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 2659s Nov 13 10:34:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2659s Nov 13 10:34:04 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2659s Nov 13 10:34:04 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2659s Nov 13 10:34:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2659s Nov 13 10:34:04 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2659s Nov 13 10:34:04 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 2659s Nov 13 10:34:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2659s Nov 13 10:34:04 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 2659s Nov 13 10:34:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2659s Nov 13 10:34:04 2659s Nov 13 10:34:04 @dcs-failsafe 2659s Nov 13 10:34:04 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2659s Nov 13 10:34:04 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2659s Nov 13 10:34:04 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 2664s Nov 13 10:34:09 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2664s Nov 13 10:34:09 2664s Nov 13 10:34:09 @dcs-failsafe 2664s Nov 13 10:34:09 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2664s Nov 13 10:34:09 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2664s Nov 13 10:34:09 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2664s Nov 13 10:34:09 And I shut down postgres0 # features/steps/basic_replication.py:29 2666s Nov 13 10:34:11 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2669s Nov 13 10:34:14 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2669s Nov 13 10:34:14 2669s Nov 13 10:34:14 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2669s Nov 13 10:34:14 Given I start postgres0 # features/steps/basic_replication.py:8 2672s Nov 13 10:34:17 And I start postgres1 # features/steps/basic_replication.py:8 2672s Nov 13 10:34:17 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2673s Nov 13 10:34:18 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2673s Nov 13 10:34:18 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2676s Nov 13 10:34:21 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2677s Nov 13 10:34:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 2677s Nov 13 10:34:21 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2677s Nov 13 10:34:21 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2677s Nov 13 10:34:21 2677s Nov 13 10:34:21 @dcs-failsafe @slot-advance 2677s Nov 13 10:34:21 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2677s Nov 13 10:34:21 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2677s Nov 13 10:34:21 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2679s Nov 13 10:34:23 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2682s Nov 13 10:34:26 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2682s Nov 13 10:34:26 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 2685s Nov 13 10:34:30 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2685s Nov 13 10:34:30 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2685s Nov 13 10:34:30 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2685s Nov 13 10:34:30 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2685s Nov 13 10:34:30 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2685s Nov 13 10:34:30 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2692s Nov 13 10:34:37 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2692s Nov 13 10:34:37 2692s Nov 13 10:34:37 @dcs-failsafe 2692s Nov 13 10:34:37 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2692s Nov 13 10:34:37 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2692s Nov 13 10:34:37 And I kill postgres1 # features/steps/basic_replication.py:34 2693s Nov 13 10:34:38 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2693s Nov 13 10:34:38 waiting for server to shut down.... done 2693s Nov 13 10:34:38 server stopped 2693s Nov 13 10:34:38 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2695s Nov 13 10:34:40 2695s Nov 13 10:34:40 @dcs-failsafe 2695s Nov 13 10:34:40 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2695s Nov 13 10:34:40 Given I kill postgres0 # features/steps/basic_replication.py:34 2696s Nov 13 10:34:41 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2696s Nov 13 10:34:41 waiting for server to shut down.... done 2696s Nov 13 10:34:41 server stopped 2696s Nov 13 10:34:41 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2696s Nov 13 10:34:41 When I start postgres1 # features/steps/basic_replication.py:8 2699s Nov 13 10:34:44 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2700s Nov 13 10:34:45 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2701s Nov 13 10:34:46 2701s Nov 13 10:34:46 @dcs-failsafe 2701s Nov 13 10:34:46 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2701s Nov 13 10:34:46 Given I start postgres0 # features/steps/basic_replication.py:8 2705s Nov 13 10:34:50 And I start postgres2 # features/steps/basic_replication.py:8 2710s Nov 13 10:34:55 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2710s Nov 13 10:34:55 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2710s Nov 13 10:34:55 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2711s Nov 13 10:34:56 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2712s Nov 13 10:34:57 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2714s Nov 13 10:34:58 2714s Nov 13 10:34:58 @dcs-failsafe @slot-advance 2714s Nov 13 10:34:58 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2714s Nov 13 10:34:58 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 2714s Nov 13 10:34:58 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2718s Nov 13 10:35:02 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2719s Nov 13 10:35:04 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2719s Nov 13 10:35:04 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2721s Nov 13 10:35:06 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2721s Nov 13 10:35:06 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2721s Nov 13 10:35:06 2721s Nov 13 10:35:06 @dcs-failsafe 2721s Nov 13 10:35:06 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 2721s Nov 13 10:35:06 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2721s Nov 13 10:35:06 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 2725s Nov 13 10:35:10 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2725s Nov 13 10:35:10 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2725s Nov 13 10:35:10 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2725s Nov 13 10:35:10 2725s Nov 13 10:35:10 @dcs-failsafe @slot-advance 2725s Nov 13 10:35:10 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 2725s Nov 13 10:35:10 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2725s Nov 13 10:35:10 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2726s Nov 13 10:35:11 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2726s Nov 13 10:35:11 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2726s Nov 13 10:35:11 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2732s Nov 13 10:35:17 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2732s Nov 13 10:35:17 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2732s Nov 13 10:35:17 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2732s Nov 13 10:35:17 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2745s Nov 13 10:35:29 2746s Nov 13 10:35:29 Feature: ignored slots # features/ignored_slots.feature:1 2746s Nov 13 10:35:29 2746s Nov 13 10:35:29 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2746s Nov 13 10:35:29 Given I start postgres1 # features/steps/basic_replication.py:8 2754s Nov 13 10:35:38 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2754s Nov 13 10:35:38 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2754s Nov 13 10:35:38 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 2754s Nov 13 10:35:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 2754s Nov 13 10:35:39 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2754s Nov 13 10:35:39 When I shut down postgres1 # features/steps/basic_replication.py:29 2756s Nov 13 10:35:41 And I start postgres1 # features/steps/basic_replication.py:8 2759s Nov 13 10:35:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2761s Nov 13 10:35:46 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2764s Nov 13 10:35:48 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2764s Nov 13 10:35:48 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2764s Nov 13 10:35:48 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2764s Nov 13 10:35:48 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2764s Nov 13 10:35:48 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2764s Nov 13 10:35:48 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2764s Nov 13 10:35:48 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2764s Nov 13 10:35:48 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2764s Nov 13 10:35:48 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2764s Nov 13 10:35:48 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2764s Nov 13 10:35:48 When I start postgres0 # features/steps/basic_replication.py:8 2766s Nov 13 10:35:51 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2766s Nov 13 10:35:51 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2766s Nov 13 10:35:51 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2767s Nov 13 10:35:52 When I shut down postgres1 # features/steps/basic_replication.py:29 2769s Nov 13 10:35:54 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2770s Nov 13 10:35:55 When I start postgres1 # features/steps/basic_replication.py:8 2773s Nov 13 10:35:58 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2773s Nov 13 10:35:58 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2774s Nov 13 10:35:59 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2776s Nov 13 10:36:01 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2776s Nov 13 10:36:01 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2776s Nov 13 10:36:01 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2776s Nov 13 10:36:01 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2776s Nov 13 10:36:01 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2776s Nov 13 10:36:01 When I shut down postgres0 # features/steps/basic_replication.py:29 2778s Nov 13 10:36:03 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2779s Nov 13 10:36:04 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2779s Nov 13 10:36:04 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2779s Nov 13 10:36:04 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2779s Nov 13 10:36:04 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2787s Nov 13 10:36:12 2787s Nov 13 10:36:12 Feature: nostream node # features/nostream_node.feature:1 2787s Nov 13 10:36:12 2787s Nov 13 10:36:12 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2787s Nov 13 10:36:12 When I start postgres0 # features/steps/basic_replication.py:8 2796s Nov 13 10:36:21 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2806s Nov 13 10:36:30 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2807s Nov 13 10:36:31 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2812s Nov 13 10:36:37 2812s Nov 13 10:36:37 @slot-advance 2812s Nov 13 10:36:37 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2812s Nov 13 10:36:37 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 2812s Nov 13 10:36:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2812s Nov 13 10:36:37 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2814s Nov 13 10:36:39 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2815s Nov 13 10:36:40 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2819s Nov 13 10:36:44 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2819s Nov 13 10:36:44 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2819s Nov 13 10:36:44 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2835s Nov 13 10:37:00 2835s Nov 13 10:37:00 Feature: patroni api # features/patroni_api.feature:1 2835s Nov 13 10:37:00 We should check that patroni correctly responds to valid and not-valid API requests. 2835s Nov 13 10:37:00 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2835s Nov 13 10:37:00 Given I start postgres0 # features/steps/basic_replication.py:8 2839s Nov 13 10:37:04 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2839s Nov 13 10:37:04 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2839s Nov 13 10:37:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2839s Nov 13 10:37:04 And I receive a response state running # features/steps/patroni_api.py:98 2839s Nov 13 10:37:04 And I receive a response role master # features/steps/patroni_api.py:98 2839s Nov 13 10:37:04 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2839s Nov 13 10:37:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 2839s Nov 13 10:37:04 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2839s Nov 13 10:37:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2839s Nov 13 10:37:04 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2839s Nov 13 10:37:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 2839s Nov 13 10:37:04 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2839s Nov 13 10:37:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 2839s Nov 13 10:37:04 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2839s Nov 13 10:37:04 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2841s Nov 13 10:37:06 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2841s Nov 13 10:37:06 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2841s Nov 13 10:37:06 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2841s Nov 13 10:37:06 Then I receive a response code 412 # features/steps/patroni_api.py:98 2841s Nov 13 10:37:06 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2841s Nov 13 10:37:06 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2841s Nov 13 10:37:06 Then I receive a response code 400 # features/steps/patroni_api.py:98 2841s Nov 13 10:37:06 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2841s Nov 13 10:37:06 Then I receive a response code 400 # features/steps/patroni_api.py:98 2841s Nov 13 10:37:06 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2841s Nov 13 10:37:06 2841s Nov 13 10:37:06 Scenario: check local configuration reload # features/patroni_api.feature:32 2841s Nov 13 10:37:06 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2841s Nov 13 10:37:06 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2841s Nov 13 10:37:06 Then I receive a response code 202 # features/steps/patroni_api.py:98 2841s Nov 13 10:37:06 2841s Nov 13 10:37:06 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2841s Nov 13 10:37: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 2841s Nov 13 10:37:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2841s Nov 13 10:37:06 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2843s Nov 13 10:37:08 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2845s Nov 13 10:37:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 2845s Nov 13 10:37:08 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2845s Nov 13 10:37:08 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2845s Nov 13 10:37:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 2845s Nov 13 10:37:08 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2845s Nov 13 10:37:08 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2847s Nov 13 10:37:12 2847s Nov 13 10:37:12 Scenario: check the scheduled restart # features/patroni_api.feature:49 2847s Nov 13 10:37:12 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2849s Nov 13 10:37:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2849s Nov 13 10:37:14 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2849s Nov 13 10:37:14 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2849s Nov 13 10:37: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 2849s Nov 13 10:37:14 Then I receive a response code 202 # features/steps/patroni_api.py:98 2849s Nov 13 10:37:14 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2857s Nov 13 10:37:22 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2857s Nov 13 10:37:22 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 2857s Nov 13 10:37:22 Then I receive a response code 202 # features/steps/patroni_api.py:98 2857s Nov 13 10:37:22 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 2864s Nov 13 10:37:29 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2865s Nov 13 10:37:30 2865s Nov 13 10:37:30 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2865s Nov 13 10:37:30 Given I start postgres1 # features/steps/basic_replication.py:8 2874s Nov 13 10:37:39 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2875s Nov 13 10:37:40 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2877s Nov 13 10:37:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2877s Nov 13 10:37:42 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2877s Nov 13 10:37:42 waiting for server to shut down.... done 2877s Nov 13 10:37:42 server stopped 2877s Nov 13 10:37:42 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2877s Nov 13 10:37:42 Then I receive a response code 503 # features/steps/patroni_api.py:98 2877s Nov 13 10:37:42 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2878s Nov 13 10:37:43 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2881s Nov 13 10:37:46 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2881s Nov 13 10:37:46 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2882s Nov 13 10:37:47 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2884s Nov 13 10:37:49 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2884s Nov 13 10:37:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 2884s Nov 13 10:37:49 And I receive a response state running # features/steps/patroni_api.py:98 2884s Nov 13 10:37:49 And I receive a response role replica # features/steps/patroni_api.py:98 2884s Nov 13 10:37:49 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2888s Nov 13 10:37:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2888s Nov 13 10:37:53 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2888s Nov 13 10:37:53 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2889s Nov 13 10:37:54 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2889s Nov 13 10:37:54 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2892s Nov 13 10:37:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2892s Nov 13 10:37:57 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2892s Nov 13 10:37:57 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2893s Nov 13 10:37:58 2893s Nov 13 10:37:58 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2893s Nov 13 10:37:58 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 2895s Nov 13 10:38:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2895s Nov 13 10:38:00 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2895s Nov 13 10:38:00 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2896s Nov 13 10:38:01 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2901s Nov 13 10:38:06 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2901s Nov 13 10:38:06 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2901s Nov 13 10:38:06 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2901s Nov 13 10:38:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 2901s Nov 13 10:38:06 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2901s Nov 13 10:38:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2901s Nov 13 10:38:06 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2901s Nov 13 10:38:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2901s Nov 13 10:38:06 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2901s Nov 13 10:38:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 2901s Nov 13 10:38:06 2901s Nov 13 10:38:06 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2901s Nov 13 10:38:06 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2903s Nov 13 10:38:08 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2903s Nov 13 10:38:08 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2903s Nov 13 10:38:08 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2905s Nov 13 10:38:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2905s Nov 13 10:38:09 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2906s Nov 13 10:38:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2906s Nov 13 10:38:11 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2916s Nov 13 10:38:21 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2917s Nov 13 10:38:22 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2919s Nov 13 10:38:24 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2919s Nov 13 10:38:24 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2920s Nov 13 10:38:25 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2920s Nov 13 10:38:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2920s Nov 13 10:38:25 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2920s Nov 13 10:38:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 2920s Nov 13 10:38:25 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2921s Nov 13 10:38:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 2921s Nov 13 10:38:25 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2921s Nov 13 10:38:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 2931s Nov 13 10:38:36 2931s Nov 13 10:38:36 Feature: permanent slots # features/permanent_slots.feature:1 2931s Nov 13 10:38:36 2931s Nov 13 10:38:36 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2931s Nov 13 10:38:36 Given I start postgres0 # features/steps/basic_replication.py:8 2941s Nov 13 10:38:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2941s Nov 13 10:38:46 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2941s Nov 13 10:38:46 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 2941s Nov 13 10:38:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 2941s Nov 13 10:38:46 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2941s Nov 13 10:38:46 When I start postgres1 # features/steps/basic_replication.py:8 2944s Nov 13 10:38:49 And I start postgres2 # features/steps/basic_replication.py:8 2948s Nov 13 10:38:53 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2957s Nov 13 10:39:02 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2957s Nov 13 10:39:02 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2957s Nov 13 10:39:02 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2957s Nov 13 10:39:02 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2957s Nov 13 10:39:02 2957s Nov 13 10:39:02 @slot-advance 2957s Nov 13 10:39:02 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2957s Nov 13 10:39:02 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2960s Nov 13 10:39:05 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 2960s Nov 13 10:39:05 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2961s Nov 13 10:39:06 2961s Nov 13 10:39:06 @slot-advance 2961s Nov 13 10:39:06 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2961s Nov 13 10:39:06 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2964s Nov 13 10:39:09 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2964s Nov 13 10:39:09 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2965s Nov 13 10:39:10 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2967s Nov 13 10:39:11 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2967s Nov 13 10:39:11 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2967s Nov 13 10:39:11 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2967s Nov 13 10:39:11 2967s Nov 13 10:39:11 @slot-advance 2967s Nov 13 10:39:11 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2967s Nov 13 10:39:11 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2967s Nov 13 10:39:11 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2967s Nov 13 10:39:11 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2967s Nov 13 10:39:11 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2967s Nov 13 10:39:11 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2967s Nov 13 10:39:12 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2967s Nov 13 10:39:12 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2967s Nov 13 10:39:12 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2967s Nov 13 10:39:12 2967s Nov 13 10:39:12 @slot-advance 2967s Nov 13 10:39:12 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2967s Nov 13 10:39:12 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2967s Nov 13 10:39:12 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2967s Nov 13 10:39:12 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2967s Nov 13 10:39:12 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2969s Nov 13 10:39:14 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2969s Nov 13 10:39:14 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2969s Nov 13 10:39:14 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2969s Nov 13 10:39:14 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2969s Nov 13 10:39:14 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2969s Nov 13 10:39:14 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2969s Nov 13 10:39:14 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2971s Nov 13 10:39:16 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2971s Nov 13 10:39:16 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2971s Nov 13 10:39:16 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2971s Nov 13 10:39:16 2971s Nov 13 10:39:16 @slot-advance 2971s Nov 13 10:39:16 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2971s Nov 13 10:39:16 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2971s Nov 13 10:39:16 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2971s Nov 13 10:39:16 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2971s Nov 13 10:39:16 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2971s Nov 13 10:39:16 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2971s Nov 13 10:39:16 2971s Nov 13 10:39:16 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2971s Nov 13 10:39:16 Given I shut down postgres3 # features/steps/basic_replication.py:29 2972s Nov 13 10:39:17 And I shut down postgres2 # features/steps/basic_replication.py:29 2973s Nov 13 10:39:18 And I shut down postgres0 # features/steps/basic_replication.py:29 2975s Nov 13 10:39:20 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2975s Nov 13 10:39:20 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2975s Nov 13 10:39:20 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2986s Nov 13 10:39:31 2986s Nov 13 10:39:31 Feature: priority replication # features/priority_failover.feature:1 2986s Nov 13 10:39:31 We should check that we can give nodes priority during failover 2986s Nov 13 10:39:31 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2986s Nov 13 10:39:31 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2989s Nov 13 10:39:34 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2993s Nov 13 10:39:38 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2994s Nov 13 10:39:39 When I shut down postgres0 # features/steps/basic_replication.py:29 2996s Nov 13 10:39:41 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 2998s Nov 13 10:39:43 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2998s Nov 13 10:39:43 When I start postgres0 # features/steps/basic_replication.py:8 3001s Nov 13 10:39:46 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3004s Nov 13 10:39:49 3004s Nov 13 10:39:49 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 3004s Nov 13 10:39:49 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3007s Nov 13 10:39:52 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 3011s Nov 13 10:39:56 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 3013s Nov 13 10:39:57 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 3014s Nov 13 10:39:59 When I shut down postgres0 # features/steps/basic_replication.py:29 3016s Nov 13 10:40:01 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3017s Nov 13 10:40:02 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 3017s Nov 13 10:40:02 3017s Nov 13 10:40:02 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 3017s Nov 13 10:40:02 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 3017s Nov 13 10:40:02 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 3017s Nov 13 10:40:02 Then I receive a response code 202 # features/steps/patroni_api.py:98 3017s Nov 13 10:40:02 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 3019s Nov 13 10:40:04 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 3020s Nov 13 10:40:05 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 3020s Nov 13 10:40:05 Then I receive a response code 412 # features/steps/patroni_api.py:98 3020s Nov 13 10:40:05 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 3020s Nov 13 10:40:05 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 3020s Nov 13 10:40:05 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 3020s Nov 13 10:40:05 Then I receive a response code 202 # features/steps/patroni_api.py:98 3020s Nov 13 10:40:05 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 3022s Nov 13 10:40:07 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 3023s Nov 13 10:40:08 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 3026s Nov 13 10:40:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 3026s Nov 13 10:40:11 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3040s Nov 13 10:40:25 3040s Nov 13 10:40:25 Feature: recovery # features/recovery.feature:1 3040s Nov 13 10:40:25 We want to check that crashed postgres is started back 3040s Nov 13 10:40:25 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 3040s Nov 13 10:40:25 Given I start postgres0 # features/steps/basic_replication.py:8 3043s Nov 13 10:40:28 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3044s Nov 13 10:40:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3044s Nov 13 10:40:29 When I start postgres1 # features/steps/basic_replication.py:8 3048s Nov 13 10:40:33 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 3048s Nov 13 10:40:33 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3049s Nov 13 10:40:34 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3049s Nov 13 10:40:34 waiting for server to shut down.... done 3049s Nov 13 10:40:34 server stopped 3049s Nov 13 10:40:34 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3052s Nov 13 10:40:37 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3052s Nov 13 10:40:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 3052s Nov 13 10:40:37 And I receive a response role master # features/steps/patroni_api.py:98 3052s Nov 13 10:40:37 And I receive a response timeline 1 # features/steps/patroni_api.py:98 3052s Nov 13 10:40:37 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3053s Nov 13 10:40:38 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3055s Nov 13 10:40:40 3055s Nov 13 10:40:40 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 3055s Nov 13 10:40:40 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 3055s Nov 13 10:40:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 3055s Nov 13 10:40:40 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3055s Nov 13 10:40:40 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3055s Nov 13 10:40:40 waiting for server to shut down.... done 3055s Nov 13 10:40:40 server stopped 3055s Nov 13 10:40:40 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3057s Nov 13 10:40:42 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3068s Nov 13 10:40:52 3068s Nov 13 10:40:52 Feature: standby cluster # features/standby_cluster.feature:1 3068s Nov 13 10:40:52 3068s Nov 13 10:40:52 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 3068s Nov 13 10:40:52 Given I start postgres1 # features/steps/basic_replication.py:8 3071s Nov 13 10:40:56 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3071s Nov 13 10:40:56 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3071s Nov 13 10:40:56 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 3071s Nov 13 10:40:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 3071s Nov 13 10:40:56 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3071s Nov 13 10:40:56 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3074s Nov 13 10:40:59 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 3074s Nov 13 10:40:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 3074s Nov 13 10:40:59 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3074s Nov 13 10:40:59 When I start postgres0 # features/steps/basic_replication.py:8 3077s Nov 13 10:41:02 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3078s Nov 13 10:41:03 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 3083s Nov 13 10:41:08 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3083s Nov 13 10:41:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 3083s Nov 13 10:41:08 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3083s Nov 13 10:41:08 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3084s Nov 13 10:41:09 3084s Nov 13 10:41:09 @slot-advance 3084s Nov 13 10:41:09 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 3084s Nov 13 10:41:09 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3087s Nov 13 10:41:12 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3092s Nov 13 10:41:17 3092s Nov 13 10:41:17 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 3092s Nov 13 10:41:17 When I shut down postgres1 # features/steps/basic_replication.py:29 3094s Nov 13 10:41:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3094s Nov 13 10:41:19 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 3095s Nov 13 10:41:20 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3095s Nov 13 10:41:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 3095s Nov 13 10:41:20 3095s Nov 13 10:41:20 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 3095s Nov 13 10:41:20 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 3099s Nov 13 10:41:24 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3101s Nov 13 10:41:26 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3101s Nov 13 10:41:26 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3101s Nov 13 10:41:26 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 3101s Nov 13 10:41:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 3101s Nov 13 10:41:26 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3101s Nov 13 10:41:26 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3104s Nov 13 10:41:29 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3104s Nov 13 10:41:29 Then I receive a response code 503 # features/steps/patroni_api.py:98 3104s Nov 13 10:41:29 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 3104s Nov 13 10:41:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 3104s Nov 13 10:41:29 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3104s Nov 13 10:41:29 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3104s Nov 13 10:41:29 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 3108s Nov 13 10:41:33 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 3108s Nov 13 10:41:33 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 3108s Nov 13 10:41:33 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3108s Nov 13 10:41:33 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 3108s Nov 13 10:41:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 3108s Nov 13 10:41:33 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3108s Nov 13 10:41:33 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3108s Nov 13 10:41:33 3108s Nov 13 10:41:33 Scenario: check switchover # features/standby_cluster.feature:57 3108s Nov 13 10:41:33 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 3112s Nov 13 10:41:37 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3112s Nov 13 10:41:37 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 3114s Nov 13 10:41:39 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 3114s Nov 13 10:41:39 3114s Nov 13 10:41:39 Scenario: check failover # features/standby_cluster.feature:63 3114s Nov 13 10:41:39 When I kill postgres2 # features/steps/basic_replication.py:34 3115s Nov 13 10:41:40 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 3115s Nov 13 10:41:40 waiting for server to shut down.... done 3115s Nov 13 10:41:40 server stopped 3115s Nov 13 10:41:40 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 3134s Nov 13 10:41:59 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3134s Nov 13 10:41:59 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3134s Nov 13 10:41:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 3134s Nov 13 10:41:59 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3134s Nov 13 10:41:59 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3135s Nov 13 10:42:00 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 3150s Nov 13 10:42:15 3150s Nov 13 10:42:15 Feature: watchdog # features/watchdog.feature:1 3150s Nov 13 10:42:15 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3150s Nov 13 10:42:15 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3150s Nov 13 10:42:15 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 3159s Nov 13 10:42:24 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3159s Nov 13 10:42:24 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3159s Nov 13 10:42:24 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3159s Nov 13 10:42:24 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 3159s Nov 13 10:42:24 3159s Nov 13 10:42:24 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3159s Nov 13 10:42:24 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 3161s Nov 13 10:42:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3161s Nov 13 10:42:26 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 3161s Nov 13 10:42:26 When I sleep for 4 seconds # features/steps/patroni_api.py:39 3165s Nov 13 10:42:30 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 3165s Nov 13 10:42:30 3165s Nov 13 10:42:30 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3165s Nov 13 10:42:30 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3166s Nov 13 10:42:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3166s Nov 13 10:42:31 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3168s Nov 13 10:42:33 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3168s Nov 13 10:42:33 3168s Nov 13 10:42:33 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3168s Nov 13 10:42:33 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3168s Nov 13 10:42:33 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3170s Nov 13 10:42:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3170s Nov 13 10:42:35 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3170s Nov 13 10:42:35 3170s Nov 13 10:42:35 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3170s Nov 13 10:42:35 Given I shut down postgres0 # features/steps/basic_replication.py:29 3172s Nov 13 10:42:37 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3172s Nov 13 10:42:37 3172s Nov 13 10:42:37 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3172s Nov 13 10:42:37 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3172s Nov 13 10:42:37 And I start postgres0 with watchdog # features/steps/watchdog.py:16 3175s Nov 13 10:42:40 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3177s Nov 13 10:42:42 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 3177s Nov 13 10:42:42 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 3210s Nov 13 10:43:15 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4544.XEbERkVx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4547.XRyzAJLx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4591.XfFAxTVx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4639.XYqiWedx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4688.XKuiSctx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4733.XSGWYMmx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4806.XbwUgbTx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4854.XgFDnBDx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4858.XPxzjUGx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.4949.XggozsYx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5056.XzUErLox 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5059.XMZFmTvx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5102.XgxdKmzx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5149.XxKuxKvx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5278.XxeaoIEx 3212s Nov 13 10:43:17 Skipping duplicate data .coverage.autopkgtest.5282.XcpSkLYx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5285.XxcBSVpx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5330.XjFKqlnx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5385.XINXDjNx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5473.XitBbBjx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5476.Xfrkwjex 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5785.XLOaHDbx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5861.XaskAVTx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.5924.XoQbTdkx 3212s Nov 13 10:43:17 Skipping duplicate data .coverage.autopkgtest.6183.XDgYQqpx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6186.XYvSKArx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6238.XsQSWJZx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6301.XzSfIICx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6390.XpDQlAzx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6486.XWvCzSTx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6489.XgRXoKIx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6532.XUiKPYfx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6598.XPGdnvXx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6629.XVyAirQx 3212s Nov 13 10:43:17 Skipping duplicate data .coverage.autopkgtest.6764.XLIlKVfx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6767.XCDfthOx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6816.XAAxRNex 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6832.XPGwmBgx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6870.XhcXhBRx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6917.XkKXwdHx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6924.Xegrkdzx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.6961.XZdOLgdx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7003.XMXAqoSx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7167.XFMcotex 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7170.XkzVAOXx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7177.XAemGgax 3212s Nov 13 10:43:17 Skipping duplicate data .coverage.autopkgtest.7310.XEPNZjqx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7313.XQqZZUmx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7360.XFtaGjUx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7399.XMkjIjsx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7452.XjNPdtEx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7488.XSTKVWlx 3212s Nov 13 10:43:17 Skipping duplicate data .coverage.autopkgtest.7654.XdCcswzx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7657.XvJgsXAx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7700.XgirJQEx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7774.XIFxSAWx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7854.XZxhhZox 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.7902.XHHlKOgx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8267.Xohtzcsx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8270.XDvvpWGx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8313.XKOUyfZx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8452.XpLzjPMx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8455.XFFvyerx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8517.XvCDXtxx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8588.XfjpsMHx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8687.XqTOFdNx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8802.XaVmyOyx 3212s Nov 13 10:43:17 Skipping duplicate data .coverage.autopkgtest.8928.XDvsLflx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8932.XoQooZix 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8975.XIkhEDYx 3212s Nov 13 10:43:17 Skipping duplicate data .coverage.autopkgtest.8978.XafvtYqx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8982.XTkgLCjx 3212s Nov 13 10:43:17 Combined data file .coverage.autopkgtest.8994.XXNvcOwx 3212s Nov 13 10:43:17 Skipping duplicate data .coverage.autopkgtest.9060.XYNeuJTx 3214s Nov 13 10:43:19 Name Stmts Miss Cover 3214s Nov 13 10:43:19 ------------------------------------------------------------------------------------------------------------- 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 114 96 16% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 397 257 35% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 59 58% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 50 64% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/utils.py 77 23 70% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/api.py 770 288 63% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 83 87% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 39 88% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/ha.py 1244 309 75% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 392 62% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/six.py 504 250 50% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3214s Nov 13 10:43:19 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3214s Nov 13 10:43:19 patroni/__init__.py 13 2 85% 3214s Nov 13 10:43:19 patroni/__main__.py 199 199 0% 3214s Nov 13 10:43:19 patroni/api.py 770 770 0% 3214s Nov 13 10:43:19 patroni/async_executor.py 96 69 28% 3214s Nov 13 10:43:19 patroni/collections.py 56 15 73% 3214s Nov 13 10:43:19 patroni/config.py 371 189 49% 3214s Nov 13 10:43:19 patroni/config_generator.py 212 212 0% 3214s Nov 13 10:43:19 patroni/ctl.py 936 411 56% 3214s Nov 13 10:43:19 patroni/daemon.py 76 6 92% 3214s Nov 13 10:43:19 patroni/dcs/__init__.py 646 268 59% 3214s Nov 13 10:43:19 patroni/dcs/consul.py 485 485 0% 3214s Nov 13 10:43:19 patroni/dcs/etcd3.py 679 679 0% 3214s Nov 13 10:43:19 patroni/dcs/etcd.py 603 603 0% 3214s Nov 13 10:43:19 patroni/dcs/exhibitor.py 61 61 0% 3214s Nov 13 10:43:19 patroni/dcs/kubernetes.py 938 938 0% 3214s Nov 13 10:43:19 patroni/dcs/raft.py 319 73 77% 3214s Nov 13 10:43:19 patroni/dcs/zookeeper.py 288 288 0% 3214s Nov 13 10:43:19 patroni/dynamic_loader.py 35 7 80% 3214s Nov 13 10:43:19 patroni/exceptions.py 16 1 94% 3214s Nov 13 10:43:19 patroni/file_perm.py 43 15 65% 3214s Nov 13 10:43:19 patroni/global_config.py 81 18 78% 3214s Nov 13 10:43:19 patroni/ha.py 1244 1244 0% 3214s Nov 13 10:43:19 patroni/log.py 219 93 58% 3214s Nov 13 10:43:19 patroni/postgresql/__init__.py 821 651 21% 3214s Nov 13 10:43:19 patroni/postgresql/available_parameters/__init__.py 21 1 95% 3214s Nov 13 10:43:19 patroni/postgresql/bootstrap.py 252 222 12% 3214s Nov 13 10:43:19 patroni/postgresql/callback_executor.py 55 34 38% 3214s Nov 13 10:43:19 patroni/postgresql/cancellable.py 104 84 19% 3214s Nov 13 10:43:19 patroni/postgresql/config.py 813 698 14% 3214s Nov 13 10:43:19 patroni/postgresql/connection.py 75 50 33% 3214s Nov 13 10:43:19 patroni/postgresql/misc.py 41 29 29% 3214s Nov 13 10:43:19 patroni/postgresql/mpp/__init__.py 89 21 76% 3214s Nov 13 10:43:19 patroni/postgresql/mpp/citus.py 259 259 0% 3214s Nov 13 10:43:19 patroni/postgresql/postmaster.py 170 139 18% 3214s Nov 13 10:43:19 patroni/postgresql/rewind.py 416 416 0% 3214s Nov 13 10:43:19 patroni/postgresql/slots.py 334 285 15% 3214s Nov 13 10:43:19 patroni/postgresql/sync.py 130 96 26% 3214s Nov 13 10:43:19 patroni/postgresql/validator.py 157 52 67% 3214s Nov 13 10:43:19 patroni/psycopg.py 42 28 33% 3214s Nov 13 10:43:19 patroni/raft_controller.py 22 1 95% 3214s Nov 13 10:43:19 patroni/request.py 62 6 90% 3214s Nov 13 10:43:19 patroni/scripts/__init__.py 0 0 100% 3214s Nov 13 10:43:19 patroni/scripts/aws.py 59 59 0% 3214s Nov 13 10:43:19 patroni/scripts/barman/__init__.py 0 0 100% 3214s Nov 13 10:43:19 patroni/scripts/barman/cli.py 51 51 0% 3214s Nov 13 10:43:19 patroni/scripts/barman/config_switch.py 51 51 0% 3214s Nov 13 10:43:19 patroni/scripts/barman/recover.py 37 37 0% 3214s Nov 13 10:43:19 patroni/scripts/barman/utils.py 94 94 0% 3214s Nov 13 10:43:19 patroni/scripts/wale_restore.py 207 207 0% 3214s Nov 13 10:43:19 patroni/tags.py 38 11 71% 3214s Nov 13 10:43:19 patroni/utils.py 350 215 39% 3214s Nov 13 10:43:19 patroni/validator.py 301 215 29% 3214s Nov 13 10:43:19 patroni/version.py 1 0 100% 3214s Nov 13 10:43:19 patroni/watchdog/__init__.py 2 2 0% 3214s Nov 13 10:43:19 patroni/watchdog/base.py 203 203 0% 3214s Nov 13 10:43:19 patroni/watchdog/linux.py 135 135 0% 3214s Nov 13 10:43:19 ------------------------------------------------------------------------------------------------------------- 3214s Nov 13 10:43:19 TOTAL 44230 24993 43% 3214s Nov 13 10:43:19 12 features passed, 0 failed, 1 skipped 3214s Nov 13 10:43:19 54 scenarios passed, 0 failed, 6 skipped 3214s Nov 13 10:43:19 522 steps passed, 0 failed, 63 skipped, 0 undefined 3214s Nov 13 10:43:19 Took 9m33.616s 3214s + echo '### End 16 acceptance-raft ###' 3214s + rm -f '/tmp/pgpass?' 3214s ### End 16 acceptance-raft ### 3214s ++ id -u 3214s + '[' 1000 -eq 0 ']' 3215s autopkgtest [10:43:20]: test acceptance-raft: -----------------------] 3215s autopkgtest [10:43:20]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3215s acceptance-raft PASS 3216s autopkgtest [10:43:21]: test test: preparing testbed 3362s autopkgtest [10:45:47]: testbed dpkg architecture: arm64 3365s autopkgtest [10:45:50]: testbed apt version: 2.9.8 3365s autopkgtest [10:45:50]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3375s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 3375s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 3375s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 3375s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 3375s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 3376s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [104 kB] 3376s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 3376s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [601 kB] 3376s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [17.1 kB] 3376s Fetched 1794 kB in 1s (1281 kB/s) 3376s Reading package lists... 3386s Reading package lists... 3387s Building dependency tree... 3387s Reading state information... 3387s Calculating upgrade... 3388s The following NEW packages will be installed: 3388s python3.13-gdbm 3388s The following packages will be upgraded: 3388s libpython3-stdlib python3 python3-gdbm python3-minimal 3388s 4 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 3388s Need to get 101 kB of archives. 3388s After this operation, 141 kB of additional disk space will be used. 3388s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.12.7-1 [27.4 kB] 3388s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.12.7-1 [24.0 kB] 3388s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.12.7-1 [10.0 kB] 3388s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-gdbm arm64 3.13.0-2 [30.7 kB] 3388s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-gdbm arm64 3.12.7-1 [8642 B] 3388s Fetched 101 kB in 0s (280 kB/s) 3389s (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.) 3389s Preparing to unpack .../python3-minimal_3.12.7-1_arm64.deb ... 3389s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 3389s Setting up python3-minimal (3.12.7-1) ... 3389s (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.) 3389s Preparing to unpack .../python3_3.12.7-1_arm64.deb ... 3389s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 3389s Preparing to unpack .../libpython3-stdlib_3.12.7-1_arm64.deb ... 3389s Unpacking libpython3-stdlib:arm64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 3389s Selecting previously unselected package python3.13-gdbm. 3389s Preparing to unpack .../python3.13-gdbm_3.13.0-2_arm64.deb ... 3389s Unpacking python3.13-gdbm (3.13.0-2) ... 3389s Preparing to unpack .../python3-gdbm_3.12.7-1_arm64.deb ... 3389s Unpacking python3-gdbm:arm64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 3389s Setting up python3.13-gdbm (3.13.0-2) ... 3389s Setting up libpython3-stdlib:arm64 (3.12.7-1) ... 3389s Setting up python3 (3.12.7-1) ... 3389s Setting up python3-gdbm:arm64 (3.12.7-1) ... 3389s Processing triggers for man-db (2.12.1-3) ... 3390s Reading package lists... 3391s Building dependency tree... 3391s Reading state information... 3391s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3393s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 3393s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 3393s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 3393s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 3394s Reading package lists... 3394s Reading package lists... 3394s Building dependency tree... 3394s Reading state information... 3395s Calculating upgrade... 3395s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3395s Reading package lists... 3395s Building dependency tree... 3395s Reading state information... 3396s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3407s Reading package lists... 3407s Building dependency tree... 3407s Reading state information... 3407s Starting pkgProblemResolver with broken count: 0 3408s Starting 2 pkgProblemResolver with broken count: 0 3408s Done 3408s The following additional packages will be installed: 3408s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 3408s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 3408s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 3408s libjs-underscore libpq5 patroni patroni-doc python3-aiohttp 3408s python3-aiosignal python3-async-timeout python3-boto3 python3-botocore 3408s python3-cachetools python3-cdiff python3-click python3-colorama 3408s python3-consul python3-coverage python3-dateutil python3-dnspython 3408s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 3408s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 3408s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 3408s python3-mccabe python3-mock python3-multidict python3-packaging 3408s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 3408s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 3408s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 3408s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 3408s python3-s3transfer python3-six python3-wcwidth python3-websocket 3408s python3-yarl python3-ydiff python3-zope.event python3-zope.interface 3408s sphinx-rtd-theme-common 3408s Suggested packages: 3408s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 3408s python3-tornado python3-twisted python-coverage-doc python3-trio 3408s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 3408s python-eventlet-doc python-gevent-doc python-greenlet-dev 3408s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 3408s Recommended packages: 3408s javascript-common python3-aiodns pyflakes3 3408s The following NEW packages will be installed: 3408s autopkgtest-satdep fonts-font-awesome fonts-lato libcares2 libev4t64 3408s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 3408s libjs-jquery-metadata libjs-jquery-tablesorter 3408s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 3408s patroni patroni-doc python3-aiohttp python3-aiosignal python3-async-timeout 3408s python3-boto3 python3-botocore python3-cachetools python3-cdiff 3408s python3-click python3-colorama python3-consul python3-coverage 3408s python3-dateutil python3-dnspython python3-etcd python3-eventlet 3408s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 3408s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 3408s python3-kerberos python3-kubernetes python3-mccabe python3-mock 3408s python3-multidict python3-packaging python3-pluggy python3-prettytable 3408s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 3408s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 3408s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 3408s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 3408s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 3408s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 3408s 0 upgraded, 70 newly installed, 0 to remove and 0 not upgraded. 3408s Need to get 16.9 MB/16.9 MB of archives. 3408s After this operation, 158 MB of additional disk space will be used. 3408s Get:1 /tmp/autopkgtest.MGe7DY/6-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [788 B] 3408s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 3410s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3410s Get:4 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 3410s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3410s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.2-1 [95.2 kB] 3410s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 3410s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 3410s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 3410s Get:10 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 3410s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3410s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 3410s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 3410s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 3410s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 3410s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 3410s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 3410s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 3410s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 3410s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 3410s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 3410s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 3410s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 3410s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 3410s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 3410s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-consul all 0.7.1-2 [21.6 kB] 3410s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.0.3-0ubuntu6 [153 kB] 3410s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 3411s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 3411s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.1.1-1 [140 kB] 3411s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.2.1-1 [791 kB] 3411s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 3411s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 3411s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 3411s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-multidict arm64 6.1.0-1 [34.0 kB] 3411s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-yarl arm64 1.9.4-1 [68.2 kB] 3411s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-async-timeout all 4.0.3-1 [6412 B] 3411s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-frozenlist arm64 1.5.0-1 [46.8 kB] 3411s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiosignal all 1.3.1-1 [5172 B] 3411s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohttp arm64 3.9.5-1 [278 kB] 3411s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 3411s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1 all 0.5.1-1 [57.4 kB] 3411s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1-modules all 0.3.0-1 [80.2 kB] 3411s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyu2f all 0.1.5-4 [22.9 kB] 3411s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-responses all 0.25.3-1 [54.3 kB] 3411s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 3411s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 3411s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 3411s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-websocket all 1.8.0-2 [38.5 kB] 3411s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kubernetes all 30.1.0-1 [386 kB] 3411s Get:51 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 3411s Get:52 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 3411s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 3411s Get:54 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 3411s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 3411s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 3412s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 3412s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 3412s Get:59 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 3412s Get:60 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 3412s Get:61 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycodestyle all 2.11.1-1 [29.9 kB] 3412s Get:62 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyflakes all 3.2.0-1 [52.8 kB] 3412s Get:63 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-flake8 all 7.1.1-1 [43.9 kB] 3412s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 3412s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.1-1 [41.4 kB] 3412s Get:66 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 3412s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.3-1 [251 kB] 3412s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 3412s Get:69 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 3412s Get:70 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 3412s Fetched 16.9 MB in 4s (4557 kB/s) 3412s Selecting previously unselected package fonts-lato. 3413s (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 ... 79931 files and directories currently installed.) 3413s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3413s Unpacking fonts-lato (2.015-1) ... 3413s Selecting previously unselected package libjs-jquery. 3413s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3413s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3413s Selecting previously unselected package libjs-jquery-hotkeys. 3413s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 3413s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3413s Selecting previously unselected package fonts-font-awesome. 3413s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3413s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3413s Selecting previously unselected package libcares2:arm64. 3413s Preparing to unpack .../04-libcares2_1.34.2-1_arm64.deb ... 3413s Unpacking libcares2:arm64 (1.34.2-1) ... 3413s Selecting previously unselected package libev4t64:arm64. 3413s Preparing to unpack .../05-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 3413s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 3413s Selecting previously unselected package libjs-jquery-metadata. 3413s Preparing to unpack .../06-libjs-jquery-metadata_12-4_all.deb ... 3413s Unpacking libjs-jquery-metadata (12-4) ... 3413s Selecting previously unselected package libjs-jquery-tablesorter. 3413s Preparing to unpack .../07-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 3413s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3413s Selecting previously unselected package libjs-jquery-throttle-debounce. 3413s Preparing to unpack .../08-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 3413s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3413s Selecting previously unselected package libjs-underscore. 3413s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3413s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3413s Selecting previously unselected package libjs-sphinxdoc. 3413s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 3413s Unpacking libjs-sphinxdoc (7.4.7-4) ... 3413s Selecting previously unselected package libpq5:arm64. 3413s Preparing to unpack .../11-libpq5_17.0-1_arm64.deb ... 3413s Unpacking libpq5:arm64 (17.0-1) ... 3413s Selecting previously unselected package python3-ydiff. 3413s Preparing to unpack .../12-python3-ydiff_1.3-1_all.deb ... 3413s Unpacking python3-ydiff (1.3-1) ... 3413s Selecting previously unselected package python3-cdiff. 3413s Preparing to unpack .../13-python3-cdiff_1.3-1_all.deb ... 3413s Unpacking python3-cdiff (1.3-1) ... 3413s Selecting previously unselected package python3-colorama. 3413s Preparing to unpack .../14-python3-colorama_0.4.6-4_all.deb ... 3413s Unpacking python3-colorama (0.4.6-4) ... 3413s Selecting previously unselected package python3-click. 3413s Preparing to unpack .../15-python3-click_8.1.7-2_all.deb ... 3413s Unpacking python3-click (8.1.7-2) ... 3413s Selecting previously unselected package python3-six. 3413s Preparing to unpack .../16-python3-six_1.16.0-7_all.deb ... 3413s Unpacking python3-six (1.16.0-7) ... 3413s Selecting previously unselected package python3-dateutil. 3413s Preparing to unpack .../17-python3-dateutil_2.9.0-2_all.deb ... 3413s Unpacking python3-dateutil (2.9.0-2) ... 3413s Selecting previously unselected package python3-wcwidth. 3413s Preparing to unpack .../18-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 3413s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 3413s Selecting previously unselected package python3-prettytable. 3413s Preparing to unpack .../19-python3-prettytable_3.10.1-1_all.deb ... 3413s Unpacking python3-prettytable (3.10.1-1) ... 3413s Selecting previously unselected package python3-psutil. 3413s Preparing to unpack .../20-python3-psutil_5.9.8-2build2_arm64.deb ... 3413s Unpacking python3-psutil (5.9.8-2build2) ... 3414s Selecting previously unselected package python3-psycopg2. 3414s Preparing to unpack .../21-python3-psycopg2_2.9.9-2_arm64.deb ... 3414s Unpacking python3-psycopg2 (2.9.9-2) ... 3414s Selecting previously unselected package python3-dnspython. 3414s Preparing to unpack .../22-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 3414s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 3414s Selecting previously unselected package python3-etcd. 3414s Preparing to unpack .../23-python3-etcd_0.4.5-4_all.deb ... 3414s Unpacking python3-etcd (0.4.5-4) ... 3414s Selecting previously unselected package python3-consul. 3414s Preparing to unpack .../24-python3-consul_0.7.1-2_all.deb ... 3414s Unpacking python3-consul (0.7.1-2) ... 3414s Selecting previously unselected package python3-greenlet. 3414s Preparing to unpack .../25-python3-greenlet_3.0.3-0ubuntu6_arm64.deb ... 3414s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 3414s Selecting previously unselected package python3-eventlet. 3414s Preparing to unpack .../26-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 3414s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 3414s Selecting previously unselected package python3-zope.event. 3414s Preparing to unpack .../27-python3-zope.event_5.0-0.1_all.deb ... 3414s Unpacking python3-zope.event (5.0-0.1) ... 3414s Selecting previously unselected package python3-zope.interface. 3414s Preparing to unpack .../28-python3-zope.interface_7.1.1-1_arm64.deb ... 3414s Unpacking python3-zope.interface (7.1.1-1) ... 3414s Selecting previously unselected package python3-gevent. 3414s Preparing to unpack .../29-python3-gevent_24.2.1-1_arm64.deb ... 3414s Unpacking python3-gevent (24.2.1-1) ... 3414s Selecting previously unselected package python3-kerberos. 3414s Preparing to unpack .../30-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 3414s Unpacking python3-kerberos (1.1.14-3.1build9) ... 3414s Selecting previously unselected package python3-pure-sasl. 3414s Preparing to unpack .../31-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 3414s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 3414s Selecting previously unselected package python3-kazoo. 3414s Preparing to unpack .../32-python3-kazoo_2.9.0-2_all.deb ... 3414s Unpacking python3-kazoo (2.9.0-2) ... 3414s Selecting previously unselected package python3-multidict. 3414s Preparing to unpack .../33-python3-multidict_6.1.0-1_arm64.deb ... 3414s Unpacking python3-multidict (6.1.0-1) ... 3414s Selecting previously unselected package python3-yarl. 3414s Preparing to unpack .../34-python3-yarl_1.9.4-1_arm64.deb ... 3414s Unpacking python3-yarl (1.9.4-1) ... 3414s Selecting previously unselected package python3-async-timeout. 3414s Preparing to unpack .../35-python3-async-timeout_4.0.3-1_all.deb ... 3414s Unpacking python3-async-timeout (4.0.3-1) ... 3414s Selecting previously unselected package python3-frozenlist. 3414s Preparing to unpack .../36-python3-frozenlist_1.5.0-1_arm64.deb ... 3414s Unpacking python3-frozenlist (1.5.0-1) ... 3414s Selecting previously unselected package python3-aiosignal. 3414s Preparing to unpack .../37-python3-aiosignal_1.3.1-1_all.deb ... 3414s Unpacking python3-aiosignal (1.3.1-1) ... 3414s Selecting previously unselected package python3-aiohttp. 3414s Preparing to unpack .../38-python3-aiohttp_3.9.5-1_arm64.deb ... 3414s Unpacking python3-aiohttp (3.9.5-1) ... 3414s Selecting previously unselected package python3-cachetools. 3414s Preparing to unpack .../39-python3-cachetools_5.3.3-1_all.deb ... 3414s Unpacking python3-cachetools (5.3.3-1) ... 3414s Selecting previously unselected package python3-pyasn1. 3414s Preparing to unpack .../40-python3-pyasn1_0.5.1-1_all.deb ... 3414s Unpacking python3-pyasn1 (0.5.1-1) ... 3414s Selecting previously unselected package python3-pyasn1-modules. 3414s Preparing to unpack .../41-python3-pyasn1-modules_0.3.0-1_all.deb ... 3414s Unpacking python3-pyasn1-modules (0.3.0-1) ... 3414s Selecting previously unselected package python3-pyu2f. 3414s Preparing to unpack .../42-python3-pyu2f_0.1.5-4_all.deb ... 3414s Unpacking python3-pyu2f (0.1.5-4) ... 3414s Selecting previously unselected package python3-responses. 3414s Preparing to unpack .../43-python3-responses_0.25.3-1_all.deb ... 3414s Unpacking python3-responses (0.25.3-1) ... 3414s Selecting previously unselected package python3-rsa. 3414s Preparing to unpack .../44-python3-rsa_4.9-2_all.deb ... 3414s Unpacking python3-rsa (4.9-2) ... 3414s Selecting previously unselected package python3-google-auth. 3414s Preparing to unpack .../45-python3-google-auth_2.28.2-3_all.deb ... 3414s Unpacking python3-google-auth (2.28.2-3) ... 3414s Selecting previously unselected package python3-requests-oauthlib. 3414s Preparing to unpack .../46-python3-requests-oauthlib_1.3.1-1_all.deb ... 3414s Unpacking python3-requests-oauthlib (1.3.1-1) ... 3414s Selecting previously unselected package python3-websocket. 3414s Preparing to unpack .../47-python3-websocket_1.8.0-2_all.deb ... 3414s Unpacking python3-websocket (1.8.0-2) ... 3414s Selecting previously unselected package python3-kubernetes. 3415s Preparing to unpack .../48-python3-kubernetes_30.1.0-1_all.deb ... 3415s Unpacking python3-kubernetes (30.1.0-1) ... 3415s Selecting previously unselected package python3-pysyncobj. 3415s Preparing to unpack .../49-python3-pysyncobj_0.3.12-1_all.deb ... 3415s Unpacking python3-pysyncobj (0.3.12-1) ... 3415s Selecting previously unselected package patroni. 3415s Preparing to unpack .../50-patroni_3.3.1-1_all.deb ... 3415s Unpacking patroni (3.3.1-1) ... 3415s Selecting previously unselected package sphinx-rtd-theme-common. 3415s Preparing to unpack .../51-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 3415s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3415s Selecting previously unselected package patroni-doc. 3415s Preparing to unpack .../52-patroni-doc_3.3.1-1_all.deb ... 3415s Unpacking patroni-doc (3.3.1-1) ... 3415s Selecting previously unselected package python3-jmespath. 3415s Preparing to unpack .../53-python3-jmespath_1.0.1-1_all.deb ... 3415s Unpacking python3-jmespath (1.0.1-1) ... 3415s Selecting previously unselected package python3-botocore. 3415s Preparing to unpack .../54-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 3415s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 3415s Selecting previously unselected package python3-s3transfer. 3415s Preparing to unpack .../55-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 3415s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 3415s Selecting previously unselected package python3-boto3. 3415s Preparing to unpack .../56-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 3415s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3415s Selecting previously unselected package python3-coverage. 3416s Preparing to unpack .../57-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 3416s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3416s Selecting previously unselected package python3-mccabe. 3416s Preparing to unpack .../58-python3-mccabe_0.7.0-1_all.deb ... 3416s Unpacking python3-mccabe (0.7.0-1) ... 3416s Selecting previously unselected package python3-pycodestyle. 3416s Preparing to unpack .../59-python3-pycodestyle_2.11.1-1_all.deb ... 3416s Unpacking python3-pycodestyle (2.11.1-1) ... 3416s Selecting previously unselected package python3-pyflakes. 3416s Preparing to unpack .../60-python3-pyflakes_3.2.0-1_all.deb ... 3416s Unpacking python3-pyflakes (3.2.0-1) ... 3416s Selecting previously unselected package python3-flake8. 3416s Preparing to unpack .../61-python3-flake8_7.1.1-1_all.deb ... 3416s Unpacking python3-flake8 (7.1.1-1) ... 3416s Selecting previously unselected package python3-iniconfig. 3416s Preparing to unpack .../62-python3-iniconfig_1.1.1-2_all.deb ... 3416s Unpacking python3-iniconfig (1.1.1-2) ... 3416s Selecting previously unselected package python3-packaging. 3416s Preparing to unpack .../63-python3-packaging_24.1-1_all.deb ... 3416s Unpacking python3-packaging (24.1-1) ... 3416s Selecting previously unselected package python3-pluggy. 3416s Preparing to unpack .../64-python3-pluggy_1.5.0-1_all.deb ... 3416s Unpacking python3-pluggy (1.5.0-1) ... 3416s Selecting previously unselected package python3-pytest. 3416s Preparing to unpack .../65-python3-pytest_8.3.3-1_all.deb ... 3416s Unpacking python3-pytest (8.3.3-1) ... 3416s Selecting previously unselected package libjs-jquery-isonscreen. 3416s Preparing to unpack .../66-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 3416s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 3416s Selecting previously unselected package python3-pytest-cov. 3416s Preparing to unpack .../67-python3-pytest-cov_5.0.0-1_all.deb ... 3416s Unpacking python3-pytest-cov (5.0.0-1) ... 3416s Selecting previously unselected package python3-mock. 3416s Preparing to unpack .../68-python3-mock_5.1.0-1_all.deb ... 3416s Unpacking python3-mock (5.1.0-1) ... 3416s Selecting previously unselected package autopkgtest-satdep. 3416s Preparing to unpack .../69-6-autopkgtest-satdep.deb ... 3416s Unpacking autopkgtest-satdep (0) ... 3416s Setting up python3-iniconfig (1.1.1-2) ... 3416s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 3416s Setting up fonts-lato (2.015-1) ... 3416s Setting up python3-pysyncobj (0.3.12-1) ... 3416s Setting up python3-cachetools (5.3.3-1) ... 3416s Setting up python3-colorama (0.4.6-4) ... 3416s Setting up python3-zope.event (5.0-0.1) ... 3417s Setting up python3-zope.interface (7.1.1-1) ... 3417s Setting up python3-pyflakes (3.2.0-1) ... 3417s Setting up python3-ydiff (1.3-1) ... 3417s Setting up libpq5:arm64 (17.0-1) ... 3417s Setting up python3-kerberos (1.1.14-3.1build9) ... 3417s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3417s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3417s Setting up python3-click (8.1.7-2) ... 3418s Setting up python3-psutil (5.9.8-2build2) ... 3418s Setting up python3-multidict (6.1.0-1) ... 3418s Setting up python3-frozenlist (1.5.0-1) ... 3418s Setting up python3-aiosignal (1.3.1-1) ... 3418s Setting up python3-mock (5.1.0-1) ... 3419s Setting up python3-async-timeout (4.0.3-1) ... 3419s Setting up python3-six (1.16.0-7) ... 3419s Setting up python3-responses (0.25.3-1) ... 3419s Setting up python3-pycodestyle (2.11.1-1) ... 3419s Setting up python3-packaging (24.1-1) ... 3419s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 3419s Setting up python3-pyu2f (0.1.5-4) ... 3420s Setting up python3-jmespath (1.0.1-1) ... 3420s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 3420s Setting up libcares2:arm64 (1.34.2-1) ... 3420s Setting up python3-psycopg2 (2.9.9-2) ... 3420s Setting up python3-pluggy (1.5.0-1) ... 3420s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 3421s Setting up python3-pyasn1 (0.5.1-1) ... 3421s Setting up python3-dateutil (2.9.0-2) ... 3421s Setting up python3-mccabe (0.7.0-1) ... 3421s Setting up python3-consul (0.7.1-2) ... 3421s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3421s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3421s Setting up python3-prettytable (3.10.1-1) ... 3421s Setting up python3-yarl (1.9.4-1) ... 3421s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3421s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3421s Setting up python3-websocket (1.8.0-2) ... 3422s Setting up python3-requests-oauthlib (1.3.1-1) ... 3422s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3422s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 3422s Setting up python3-etcd (0.4.5-4) ... 3422s Setting up python3-pytest (8.3.3-1) ... 3422s Setting up python3-cdiff (1.3-1) ... 3422s Setting up python3-aiohttp (3.9.5-1) ... 3423s Setting up python3-gevent (24.2.1-1) ... 3423s Setting up python3-flake8 (7.1.1-1) ... 3423s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 3423s Setting up python3-kazoo (2.9.0-2) ... 3424s Setting up python3-pyasn1-modules (0.3.0-1) ... 3424s Setting up libjs-jquery-metadata (12-4) ... 3424s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 3424s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 3424s Setting up libjs-sphinxdoc (7.4.7-4) ... 3424s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3424s Setting up python3-rsa (4.9-2) ... 3424s Setting up patroni (3.3.1-1) ... 3425s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3425s Setting up patroni-doc (3.3.1-1) ... 3425s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 3425s Setting up python3-pytest-cov (5.0.0-1) ... 3425s Setting up python3-google-auth (2.28.2-3) ... 3426s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3426s Setting up python3-kubernetes (30.1.0-1) ... 3427s Setting up autopkgtest-satdep (0) ... 3427s Processing triggers for man-db (2.12.1-3) ... 3428s Processing triggers for libc-bin (2.40-1ubuntu3) ... 3435s (Reading database ... 86033 files and directories currently installed.) 3435s Removing autopkgtest-satdep (0) ... 3438s autopkgtest [10:47:03]: test test: [----------------------- 3438s running test 3439s ============================= test session starts ============================== 3439s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3 3439s cachedir: .pytest_cache 3439s rootdir: /tmp/autopkgtest.MGe7DY/build.K0o/src 3439s plugins: cov-5.0.0, typeguard-4.4.1 3446s collecting ... collected 646 items 3446s 3446s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 3446s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 3446s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 3446s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 3446s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 3446s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 3446s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 3446s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 3446s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 3446s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 3446s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 3446s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 3446s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 3446s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 3446s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 3446s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 3446s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 3446s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 3446s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 3446s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 3446s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 3446s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 3446s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 3446s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 3447s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 3447s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 3447s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 3447s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 3447s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 3447s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 3447s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 3447s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 3447s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 3447s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 3447s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 3447s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 3447s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 3447s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 3447s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 3447s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 3447s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 3447s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 3447s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 3447s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 3447s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 3447s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 3447s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 3447s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 3447s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 3447s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 3447s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 3447s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 8%] 3447s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 3447s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 3447s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 3447s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 3447s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 3447s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 3447s tests/test_barman.py::TestMain::test_main PASSED [ 9%] 3447s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 3447s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 3447s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 3447s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 3447s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 3447s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 10%] 3447s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 3447s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 3447s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 3447s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 3447s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 3447s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 3447s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 11%] 3447s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 3447s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 3447s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 3447s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 3447s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 3447s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 12%] 3447s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 3447s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 3447s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 3447s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 3447s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 3447s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 13%] 3447s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 13%] 3447s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 3447s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 3448s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 3448s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 3448s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 3448s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 14%] 3448s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 3448s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 3448s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 3448s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 3448s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 3448s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 15%] 3448s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 15%] 3448s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 3448s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 15%] 3448s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 3448s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 3448s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 3448s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 16%] 3448s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 16%] 3448s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 3448s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 3448s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 3448s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 3448s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 17%] 3448s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 17%] 3448s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 3448s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 3448s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 3448s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 3448s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 3448s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 18%] 3448s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 18%] 3448s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 3448s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 3448s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 3448s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 3448s tests/test_consul.py::TestConsul::test_update_service PASSED [ 19%] 3448s tests/test_consul.py::TestConsul::test_watch PASSED [ 19%] 3448s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 3448s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 3448s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 3448s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 3448s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 3448s tests/test_ctl.py::TestCtl::test_failover PASSED [ 20%] 3448s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 20%] 3448s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 3448s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 3448s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 3448s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 3448s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 21%] 3448s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 21%] 3448s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 3448s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 3448s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 3448s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 3448s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 3448s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 22%] 3448s tests/test_ctl.py::TestCtl::test_members PASSED [ 22%] 3448s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 3448s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 3448s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 3448s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 3448s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 23%] 3448s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 23%] 3448s tests/test_ctl.py::TestCtl::test_reload PASSED [ 23%] 3448s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 3448s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 3448s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 3448s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 3448s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 24%] 3449s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 24%] 3449s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 3449s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 3449s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 3449s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 3449s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 25%] 3449s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 25%] 3449s tests/test_etcd.py::TestClient::test___del__ PASSED [ 25%] 3449s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 3449s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 3449s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 3449s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 26%] 3449s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 26%] 3449s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 26%] 3449s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 3449s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 3449s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 3449s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 3449s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 27%] 3449s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 27%] 3449s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 27%] 3449s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 3449s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 3449s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 3449s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 28%] 3449s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 28%] 3449s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 28%] 3449s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 3449s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 3449s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 3449s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 3449s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 29%] 3449s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 29%] 3449s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 29%] 3449s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 3449s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 3449s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 3449s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 30%] 3449s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 30%] 3450s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 30%] 3450s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 30%] 3450s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 3450s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 3450s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 3450s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 31%] 3450s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 31%] 3450s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 31%] 3450s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 3450s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 3450s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 3450s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 32%] 3450s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 32%] 3450s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 32%] 3450s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 32%] 3450s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 3450s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 3450s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 3450s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 33%] 3450s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 33%] 3450s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 33%] 3450s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 3450s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 3450s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 3450s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 34%] 3450s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 34%] 3450s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 34%] 3450s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 34%] 3450s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 3450s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 3450s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 3450s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 35%] 3450s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 35%] 3450s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 35%] 3450s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 3450s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 3450s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 3450s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 36%] 3450s tests/test_ha.py::TestHa::test_after_pause PASSED [ 36%] 3450s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 36%] 3450s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 3450s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 3450s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 3450s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 3450s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 37%] 3450s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 37%] 3450s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 3450s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 3450s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 3450s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 3450s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 38%] 3450s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 38%] 3450s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 3450s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 3450s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 3450s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 3450s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 39%] 3450s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 39%] 3450s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 3450s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 3450s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 3451s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 3451s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 3451s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 40%] 3451s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 3451s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 3451s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 3451s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 3451s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 3451s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 41%] 3451s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 3451s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 3451s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 3451s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 3451s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 3451s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 3451s tests/test_ha.py::TestHa::test_is_leader PASSED [ 42%] 3451s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 3451s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 3451s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 3451s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 3451s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 3451s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 43%] 3451s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 43%] 3451s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 3451s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 3451s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 3451s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 3451s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 3451s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 44%] 3451s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 3451s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 3451s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 3451s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 3451s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 3451s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 45%] 3451s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 3451s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 3451s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 3451s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 3451s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 3451s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 3451s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 3451s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 3451s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 3451s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 3452s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3452s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 3452s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 3452s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 3452s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 3452s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 3452s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 3452s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 3452s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 3452s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 3452s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 3452s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 3452s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 3452s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 3452s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 3452s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 3452s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 3452s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 3452s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 3452s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 3452s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 3452s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 3452s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 3452s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 3452s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 3452s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 3452s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 3452s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 3452s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 3452s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 3452s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 3452s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 3452s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 51%] 3452s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 3452s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 3452s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 3452s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 3452s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 3452s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 52%] 3452s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 3452s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 3452s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 3452s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 3452s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 3452s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 53%] 3452s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 53%] 3453s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 3453s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 3453s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 3453s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 3453s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 54%] 3453s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 54%] 3453s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 3453s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 3453s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 55%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 55%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 55%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 56%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 56%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 56%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 57%] 3453s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 57%] 3453s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 3453s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 3453s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 3454s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 3454s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 58%] 3454s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 58%] 3454s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 58%] 3454s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 3454s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 3454s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 3454s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 59%] 3454s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 59%] 3454s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 59%] 3454s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 3454s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 3454s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 60%] 3454s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 60%] 3454s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 60%] 3454s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 60%] 3454s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 60%] 3454s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 3454s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 61%] 3454s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 61%] 3454s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 61%] 3454s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 61%] 3454s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 3454s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 3454s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 62%] 3454s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 62%] 3454s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 62%] 3455s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 62%] 3455s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 62%] 3455s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 3455s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 63%] 3455s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 63%] 3455s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 63%] 3455s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 63%] 3455s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 63%] 3455s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 3455s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 3455s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 64%] 3455s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 64%] 3455s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 64%] 3455s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 64%] 3455s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 64%] 3455s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 3455s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 65%] 3455s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 65%] 3455s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 65%] 3455s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 65%] 3455s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 65%] 3455s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 3455s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 3455s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 66%] 3455s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 66%] 3455s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 66%] 3455s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 66%] 3455s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 3455s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 3456s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 67%] 3456s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 67%] 3456s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 67%] 3456s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 67%] 3456s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 3456s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 3456s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 3456s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 68%] 3456s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 68%] 3456s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 68%] 3456s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 3456s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 3456s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 3456s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 69%] 3456s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 69%] 3456s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 69%] 3456s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 3456s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 3456s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 3456s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 3456s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 70%] 3456s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 70%] 3456s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 3456s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 3456s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 3456s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 3456s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 71%] 3456s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 71%] 3456s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 3456s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 3456s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 3456s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 3456s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 3456s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 72%] 3456s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 72%] 3456s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 3456s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 3456s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 3456s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 3456s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 73%] 3456s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 73%] 3456s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 3456s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 3456s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 3456s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 3456s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 3456s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 74%] 3456s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 3456s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 3456s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 3456s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 3456s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 3456s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 75%] 3457s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 3459s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 3462s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 3462s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 3463s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 3463s tests/test_raft.py::TestRaft::test_init PASSED [ 76%] 3465s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 3465s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 3465s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 3465s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 3465s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 3465s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 3465s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 3465s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 3465s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 3465s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 3465s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 3465s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 3465s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 3465s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 3465s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 3465s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 3465s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 3465s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 3465s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 3465s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 3465s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 3465s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 3465s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 3465s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 3465s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 3465s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 80%] 3465s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 3465s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 3465s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 3465s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 3465s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 3465s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 3466s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 81%] 3466s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 3466s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 3466s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 3466s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 3466s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 3466s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 3466s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 3466s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 3466s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 3466s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 3466s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 3466s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 3466s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 3466s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 3466s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 3466s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 3466s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 3466s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 3466s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 3466s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 3466s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 3466s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 3466s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 3466s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 3466s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 3466s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 3466s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 3466s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 3466s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 3466s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 3466s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 3466s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 3466s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 3466s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 3466s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 3466s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 3466s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 3466s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 3466s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 3466s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 3466s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 3466s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 3466s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 3466s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 3466s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 3466s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 3466s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 3466s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 3466s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 3466s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 3466s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 3466s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 3466s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 3466s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 3466s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 3466s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 3466s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 3466s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 3466s patroni/api.py::patroni.api.check_access PASSED [ 93%] 3466s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 3466s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 3466s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 3466s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 3466s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 3466s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 3466s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 3466s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 3466s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 3467s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 3467s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 95%] 3467s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 3467s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 3467s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 3467s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 3467s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 3467s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 3467s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 3467s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 3467s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 3467s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 3467s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 3467s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 3467s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 97%] 3467s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 3467s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 3467s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 3467s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 3467s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 3467s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 97%] 3467s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 3467s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 3467s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 3467s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 3467s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 3467s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 3467s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 3467s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 3467s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 3467s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 3467s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 3467s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 3470s patroni/utils.py::patroni.utils.unquote PASSED [100%] 3470s 3470s ---------- coverage: platform linux, python 3.12.7-final-0 ----------- 3470s Name Stmts Miss Cover Missing 3470s ----------------------------------------------------------------------------------- 3470s patroni/__init__.py 13 0 100% 3470s patroni/__main__.py 199 1 99% 395 3470s patroni/api.py 770 0 100% 3470s patroni/async_executor.py 96 0 100% 3470s patroni/collections.py 56 3 95% 50, 99, 107 3470s patroni/config.py 371 0 100% 3470s patroni/config_generator.py 212 0 100% 3470s patroni/ctl.py 936 0 100% 3470s patroni/daemon.py 76 0 100% 3470s patroni/dcs/__init__.py 646 0 100% 3470s patroni/dcs/consul.py 485 0 100% 3470s patroni/dcs/etcd3.py 679 0 100% 3470s patroni/dcs/etcd.py 603 0 100% 3470s patroni/dcs/exhibitor.py 61 0 100% 3470s patroni/dcs/kubernetes.py 938 0 100% 3470s patroni/dcs/raft.py 319 0 100% 3470s patroni/dcs/zookeeper.py 288 0 100% 3470s patroni/dynamic_loader.py 35 0 100% 3470s patroni/exceptions.py 16 0 100% 3470s patroni/file_perm.py 43 0 100% 3470s patroni/global_config.py 81 0 100% 3470s patroni/ha.py 1244 2 99% 1925-1926 3470s patroni/log.py 219 2 99% 365-367 3470s patroni/postgresql/__init__.py 821 0 100% 3470s patroni/postgresql/available_parameters/__init__.py 21 0 100% 3470s patroni/postgresql/bootstrap.py 252 0 100% 3470s patroni/postgresql/callback_executor.py 55 0 100% 3470s patroni/postgresql/cancellable.py 104 0 100% 3470s patroni/postgresql/config.py 813 0 100% 3470s patroni/postgresql/connection.py 75 0 100% 3470s patroni/postgresql/misc.py 41 0 100% 3470s patroni/postgresql/mpp/__init__.py 89 0 100% 3470s 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 3470s patroni/postgresql/postmaster.py 170 0 100% 3470s patroni/postgresql/rewind.py 416 0 100% 3470s patroni/postgresql/slots.py 334 0 100% 3470s patroni/postgresql/sync.py 130 0 100% 3470s patroni/postgresql/validator.py 157 0 100% 3470s patroni/psycopg.py 42 16 62% 19, 25-26, 42, 44-82, 120 3470s patroni/raft_controller.py 22 0 100% 3470s patroni/request.py 62 0 100% 3470s patroni/scripts/__init__.py 0 0 100% 3470s patroni/scripts/aws.py 59 1 98% 86 3470s patroni/scripts/barman/__init__.py 0 0 100% 3470s patroni/scripts/barman/cli.py 51 1 98% 240 3470s patroni/scripts/barman/config_switch.py 51 0 100% 3470s patroni/scripts/barman/recover.py 37 0 100% 3470s patroni/scripts/barman/utils.py 94 0 100% 3470s patroni/scripts/wale_restore.py 207 1 99% 374 3470s patroni/tags.py 38 0 100% 3470s patroni/utils.py 350 0 100% 3470s patroni/validator.py 301 0 100% 3470s patroni/version.py 1 0 100% 3470s patroni/watchdog/__init__.py 2 0 100% 3470s patroni/watchdog/base.py 203 0 100% 3470s patroni/watchdog/linux.py 135 1 99% 36 3470s ----------------------------------------------------------------------------------- 3470s TOTAL 13778 150 99% 3470s Coverage XML written to file coverage.xml 3470s 3470s 3470s ======================= 632 passed, 14 skipped in 31.80s ======================= 3471s autopkgtest [10:47:36]: test test: -----------------------] 3475s test PASS 3475s autopkgtest [10:47:40]: test test: - - - - - - - - - - results - - - - - - - - - - 3475s autopkgtest [10:47:40]: @@@@@@@@@@@@@@@@@@@@ summary 3475s acceptance-etcd3 PASS 3475s acceptance-etcd-basic PASS 3475s acceptance-etcd PASS 3475s acceptance-zookeeper PASS 3475s acceptance-raft PASS 3475s test PASS 3480s nova [W] Skipping flock in bos03-arm64 3480s Creating nova instance adt-plucky-arm64-patroni-20241113-094945-juju-7f2275-prod-proposed-migration-environment-15-2bbd8361-8b53-4ead-8d60-e1047510a4be from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)... 3480s nova [W] Skipping flock in bos03-arm64 3480s Creating nova instance adt-plucky-arm64-patroni-20241113-094945-juju-7f2275-prod-proposed-migration-environment-15-2bbd8361-8b53-4ead-8d60-e1047510a4be from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)... 3480s nova [W] Skipping flock in bos03-arm64 3480s Creating nova instance adt-plucky-arm64-patroni-20241113-094945-juju-7f2275-prod-proposed-migration-environment-15-2bbd8361-8b53-4ead-8d60-e1047510a4be from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)... 3480s nova [W] Skipping flock in bos03-arm64 3480s Creating nova instance adt-plucky-arm64-patroni-20241113-094945-juju-7f2275-prod-proposed-migration-environment-15-2bbd8361-8b53-4ead-8d60-e1047510a4be from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)... 3480s nova [W] Skipping flock in bos03-arm64 3480s Creating nova instance adt-plucky-arm64-patroni-20241113-094945-juju-7f2275-prod-proposed-migration-environment-15-2bbd8361-8b53-4ead-8d60-e1047510a4be from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)...