0s autopkgtest [21:27:30]: starting date and time: 2025-01-19 21:27:30+0000 0s autopkgtest [21:27:30]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [21:27:30]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.h_tcahkd/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.13.1-1~exp2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-arm64-32.secgroup --name adt-plucky-arm64-patroni-20250119-212730-juju-7f2275-prod-proposed-migration-environment-15-135a02ae-469f-4943-bc18-8537ba678425 --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,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 84s autopkgtest [21:28:54]: testbed dpkg architecture: arm64 84s autopkgtest [21:28:54]: testbed apt version: 2.9.18 84s autopkgtest [21:28:54]: @@@@@@@@@@@@@@@@@@@@ test bed setup 85s autopkgtest [21:28:55]: testbed release detected to be: None 85s autopkgtest [21:28:55]: updating testbed package index (apt update) 86s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 86s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 86s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 86s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 86s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [145 kB] 86s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [778 kB] 86s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 86s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB] 86s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [265 kB] 86s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 86s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [906 kB] 86s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [10.5 kB] 87s Fetched 2260 kB in 1s (2359 kB/s) 88s Reading package lists... 89s Reading package lists... 90s Building dependency tree... 90s Reading state information... 91s Calculating upgrade... 92s The following packages will be upgraded: 92s dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpgconf 92s gpgsm gpgv keyboxd liblz4-1 libzstd1 zstd 92s 14 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 92s Need to get 3197 kB of archives. 92s After this operation, 69.6 kB of additional disk space will be used. 92s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libzstd1 arm64 1.5.6+dfsg-2 [279 kB] 93s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-wks-client arm64 2.4.4-2ubuntu22 [70.2 kB] 93s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 dirmngr arm64 2.4.4-2ubuntu22 [320 kB] 93s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgsm arm64 2.4.4-2ubuntu22 [227 kB] 93s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-utils arm64 2.4.4-2ubuntu22 [107 kB] 93s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-agent arm64 2.4.4-2ubuntu22 [224 kB] 93s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg arm64 2.4.4-2ubuntu22 [554 kB] 93s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgconf arm64 2.4.4-2ubuntu22 [103 kB] 93s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg all 2.4.4-2ubuntu22 [359 kB] 93s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 keyboxd arm64 2.4.4-2ubuntu22 [75.7 kB] 93s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgv arm64 2.4.4-2ubuntu22 [153 kB] 93s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 liblz4-1 arm64 1.9.4-4 [63.7 kB] 93s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-l10n all 2.4.4-2ubuntu22 [66.4 kB] 93s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 zstd arm64 1.5.6+dfsg-2 [594 kB] 94s Fetched 3197 kB in 1s (4530 kB/s) 94s (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 ... 80201 files and directories currently installed.) 94s Preparing to unpack .../libzstd1_1.5.6+dfsg-2_arm64.deb ... 94s Unpacking libzstd1:arm64 (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 94s Setting up libzstd1:arm64 (1.5.6+dfsg-2) ... 94s (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 ... 80201 files and directories currently installed.) 94s Preparing to unpack .../0-gpg-wks-client_2.4.4-2ubuntu22_arm64.deb ... 94s Unpacking gpg-wks-client (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 94s Preparing to unpack .../1-dirmngr_2.4.4-2ubuntu22_arm64.deb ... 94s Unpacking dirmngr (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 94s Preparing to unpack .../2-gpgsm_2.4.4-2ubuntu22_arm64.deb ... 94s Unpacking gpgsm (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 94s Preparing to unpack .../3-gnupg-utils_2.4.4-2ubuntu22_arm64.deb ... 94s Unpacking gnupg-utils (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 94s Preparing to unpack .../4-gpg-agent_2.4.4-2ubuntu22_arm64.deb ... 94s Unpacking gpg-agent (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 94s Preparing to unpack .../5-gpg_2.4.4-2ubuntu22_arm64.deb ... 94s Unpacking gpg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 94s Preparing to unpack .../6-gpgconf_2.4.4-2ubuntu22_arm64.deb ... 94s Unpacking gpgconf (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 95s Preparing to unpack .../7-gnupg_2.4.4-2ubuntu22_all.deb ... 95s Unpacking gnupg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 95s Preparing to unpack .../8-keyboxd_2.4.4-2ubuntu22_arm64.deb ... 95s Unpacking keyboxd (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 95s Preparing to unpack .../9-gpgv_2.4.4-2ubuntu22_arm64.deb ... 95s Unpacking gpgv (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 95s Setting up gpgv (2.4.4-2ubuntu22) ... 95s (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 ... 80201 files and directories currently installed.) 95s Preparing to unpack .../liblz4-1_1.9.4-4_arm64.deb ... 95s Unpacking liblz4-1:arm64 (1.9.4-4) over (1.9.4-3) ... 95s Setting up liblz4-1:arm64 (1.9.4-4) ... 95s (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 ... 80201 files and directories currently installed.) 95s Preparing to unpack .../gnupg-l10n_2.4.4-2ubuntu22_all.deb ... 95s Unpacking gnupg-l10n (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 95s Preparing to unpack .../zstd_1.5.6+dfsg-2_arm64.deb ... 95s Unpacking zstd (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 95s Setting up gnupg-l10n (2.4.4-2ubuntu22) ... 95s Setting up gpgconf (2.4.4-2ubuntu22) ... 95s Setting up zstd (1.5.6+dfsg-2) ... 95s Setting up gpg (2.4.4-2ubuntu22) ... 95s Setting up gnupg-utils (2.4.4-2ubuntu22) ... 95s Setting up gpg-agent (2.4.4-2ubuntu22) ... 95s Setting up gpgsm (2.4.4-2ubuntu22) ... 95s Setting up dirmngr (2.4.4-2ubuntu22) ... 96s Setting up keyboxd (2.4.4-2ubuntu22) ... 96s Setting up gnupg (2.4.4-2ubuntu22) ... 96s Setting up gpg-wks-client (2.4.4-2ubuntu22) ... 96s Processing triggers for man-db (2.13.0-1) ... 97s Processing triggers for install-info (7.1.1-1) ... 97s Processing triggers for libc-bin (2.40-4ubuntu1) ... 97s Reading package lists... 98s Building dependency tree... 98s Reading state information... 99s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 99s autopkgtest [21:29:09]: upgrading testbed (apt dist-upgrade and autopurge) 99s Reading package lists... 100s Building dependency tree... 100s Reading state information... 101s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 101s Starting 2 pkgProblemResolver with broken count: 0 101s Done 102s Entering ResolveByKeep 102s 102s The following packages were automatically installed and are no longer required: 102s python3.12 python3.12-minimal 102s Use 'sudo apt autoremove' to remove them. 102s The following NEW packages will be installed: 102s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 102s The following packages will be upgraded: 102s libpython3-stdlib python3 python3-minimal 103s 3 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 103s Need to get 5993 kB of archives. 103s After this operation, 24.4 MB of additional disk space will be used. 103s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-3 [879 kB] 103s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-3 [2262 kB] 103s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.13.1-1~exp2 [27.6 kB] 103s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.13.1-1~exp2 [23.9 kB] 103s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-3 [2061 kB] 103s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-3 [729 kB] 103s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.13.1-1~exp2 [10.2 kB] 104s Fetched 5993 kB in 1s (6988 kB/s) 104s Selecting previously unselected package libpython3.13-minimal:arm64. 104s (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 ... 80201 files and directories currently installed.) 104s Preparing to unpack .../libpython3.13-minimal_3.13.1-3_arm64.deb ... 104s Unpacking libpython3.13-minimal:arm64 (3.13.1-3) ... 104s Selecting previously unselected package python3.13-minimal. 104s Preparing to unpack .../python3.13-minimal_3.13.1-3_arm64.deb ... 104s Unpacking python3.13-minimal (3.13.1-3) ... 104s Setting up libpython3.13-minimal:arm64 (3.13.1-3) ... 104s Setting up python3.13-minimal (3.13.1-3) ... 105s (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 ... 80522 files and directories currently installed.) 105s Preparing to unpack .../python3-minimal_3.13.1-1~exp2_arm64.deb ... 105s Unpacking python3-minimal (3.13.1-1~exp2) over (3.12.8-1) ... 105s Setting up python3-minimal (3.13.1-1~exp2) ... 105s (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 ... 80522 files and directories currently installed.) 105s Preparing to unpack .../python3_3.13.1-1~exp2_arm64.deb ... 105s Unpacking python3 (3.13.1-1~exp2) over (3.12.8-1) ... 105s Selecting previously unselected package libpython3.13-stdlib:arm64. 105s Preparing to unpack .../libpython3.13-stdlib_3.13.1-3_arm64.deb ... 105s Unpacking libpython3.13-stdlib:arm64 (3.13.1-3) ... 105s Selecting previously unselected package python3.13. 105s Preparing to unpack .../python3.13_3.13.1-3_arm64.deb ... 105s Unpacking python3.13 (3.13.1-3) ... 105s Preparing to unpack .../libpython3-stdlib_3.13.1-1~exp2_arm64.deb ... 105s Unpacking libpython3-stdlib:arm64 (3.13.1-1~exp2) over (3.12.8-1) ... 105s Setting up libpython3.13-stdlib:arm64 (3.13.1-3) ... 105s Setting up libpython3-stdlib:arm64 (3.13.1-1~exp2) ... 105s Setting up python3.13 (3.13.1-3) ... 106s Setting up python3 (3.13.1-1~exp2) ... 106s /usr/bin/py3clean:101: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 106s for fn in glob1(directory, "%s.*" % fname): 107s Processing triggers for man-db (2.13.0-1) ... 107s Processing triggers for systemd (257-2ubuntu1) ... 107s Reading package lists... 107s Building dependency tree... 107s Reading state information... 108s Starting pkgProblemResolver with broken count: 0 108s Starting 2 pkgProblemResolver with broken count: 0 108s Done 109s The following packages will be REMOVED: 109s python3.12* python3.12-minimal* 109s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 109s After this operation, 8710 kB disk space will be freed. 109s (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 ... 80938 files and directories currently installed.) 109s Removing python3.12 (3.12.8-3) ... 109s Removing python3.12-minimal (3.12.8-3) ... 109s /usr/bin/py3clean:125: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 109s for fn in glob1(directory, "%s.%s.py[co]" % (fname, magic_tag)): 110s Processing triggers for man-db (2.13.0-1) ... 110s Processing triggers for systemd (257-2ubuntu1) ... 111s (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 ... 80910 files and directories currently installed.) 111s Purging configuration files for python3.12-minimal (3.12.8-3) ... 113s autopkgtest [21:29:23]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 113s autopkgtest [21:29:23]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 116s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.5-1 (dsc) [2870 B] 116s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.5-1 (tar) [1160 kB] 116s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.5-1 (diff) [23.6 kB] 116s gpgv: Signature made Mon Jan 13 14:36:59 2025 UTC 116s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 116s gpgv: Can't check signature: No public key 116s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.5-1.dsc: no acceptable signature found 116s autopkgtest [21:29:26]: testing package patroni version 3.3.5-1 116s autopkgtest [21:29:26]: build not needed 117s autopkgtest [21:29:27]: test acceptance-etcd3: preparing testbed 117s Reading package lists... 117s Building dependency tree... 117s Reading state information... 118s Starting pkgProblemResolver with broken count: 0 118s Starting 2 pkgProblemResolver with broken count: 0 118s Done 118s The following NEW packages will be installed: 118s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 118s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 118s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 118s patroni-doc postgresql postgresql-17 postgresql-client-17 118s postgresql-client-common postgresql-common python3-behave python3-cdiff 118s python3-click python3-coverage python3-dateutil python3-dnspython 118s python3-etcd python3-parse python3-parse-type python3-prettytable 118s python3-psutil python3-psycopg2 python3-six python3-wcwidth python3-ydiff 118s python3.12 python3.12-minimal sphinx-rtd-theme-common ssl-cert 119s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 119s Need to get 38.0 MB of archives. 119s After this operation, 137 MB of additional disk space will be used. 119s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.8-3 [2236 kB] 119s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 119s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 119s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 119s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 119s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 267 [37.1 kB] 119s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 119s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 267 [162 kB] 119s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.16-3 [10.7 MB] 119s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.8-3 [667 kB] 119s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 119s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 119s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 119s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-3 [30.9 kB] 119s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 119s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 119s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 119s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 120s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 120s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.8-1 [79.8 kB] 120s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 120s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 120s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 120s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 120s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 120s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 120s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-6 [32.1 kB] 120s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 120s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 120s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.5-1 [269 kB] 120s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 120s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.5-1 [510 kB] 120s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-17 arm64 17.2-1 [1318 kB] 120s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-17 arm64 17.2-1 [15.5 MB] 120s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 17+267 [12.2 kB] 120s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 120s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 120s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 120s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 120s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 121s Preconfiguring packages ... 121s Fetched 38.0 MB in 2s (19.3 MB/s) 121s Selecting previously unselected package python3.12-minimal. 121s (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 ... 80910 files and directories currently installed.) 121s Preparing to unpack .../00-python3.12-minimal_3.12.8-3_arm64.deb ... 121s Unpacking python3.12-minimal (3.12.8-3) ... 121s Selecting previously unselected package fonts-lato. 121s Preparing to unpack .../01-fonts-lato_2.015-1_all.deb ... 121s Unpacking fonts-lato (2.015-1) ... 121s Selecting previously unselected package libjson-perl. 121s Preparing to unpack .../02-libjson-perl_4.10000-1_all.deb ... 121s Unpacking libjson-perl (4.10000-1) ... 121s Selecting previously unselected package libio-pty-perl. 121s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 121s Unpacking libio-pty-perl (1:1.20-1build3) ... 121s Selecting previously unselected package libipc-run-perl. 121s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 121s Unpacking libipc-run-perl (20231003.0-2) ... 121s Selecting previously unselected package postgresql-client-common. 121s Preparing to unpack .../05-postgresql-client-common_267_all.deb ... 121s Unpacking postgresql-client-common (267) ... 121s Selecting previously unselected package ssl-cert. 121s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 121s Unpacking ssl-cert (1.1.3ubuntu1) ... 121s Selecting previously unselected package postgresql-common. 121s Preparing to unpack .../07-postgresql-common_267_all.deb ... 121s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 121s Unpacking postgresql-common (267) ... 121s Selecting previously unselected package etcd-server. 121s Preparing to unpack .../08-etcd-server_3.5.16-3_arm64.deb ... 121s Unpacking etcd-server (3.5.16-3) ... 122s Selecting previously unselected package python3.12. 122s Preparing to unpack .../09-python3.12_3.12.8-3_arm64.deb ... 122s Unpacking python3.12 (3.12.8-3) ... 122s Selecting previously unselected package fonts-font-awesome. 122s Preparing to unpack .../10-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 122s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 122s Selecting previously unselected package libjs-jquery. 122s Preparing to unpack .../11-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 122s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 122s Selecting previously unselected package libjs-underscore. 122s Preparing to unpack .../12-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 122s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 122s Selecting previously unselected package libjs-sphinxdoc. 122s Preparing to unpack .../13-libjs-sphinxdoc_8.1.3-3_all.deb ... 122s Unpacking libjs-sphinxdoc (8.1.3-3) ... 122s Selecting previously unselected package libpq5:arm64. 122s Preparing to unpack .../14-libpq5_17.2-1_arm64.deb ... 122s Unpacking libpq5:arm64 (17.2-1) ... 122s Selecting previously unselected package libtime-duration-perl. 122s Preparing to unpack .../15-libtime-duration-perl_1.21-2_all.deb ... 122s Unpacking libtime-duration-perl (1.21-2) ... 122s Selecting previously unselected package libtimedate-perl. 122s Preparing to unpack .../16-libtimedate-perl_2.3300-2_all.deb ... 122s Unpacking libtimedate-perl (2.3300-2) ... 122s Selecting previously unselected package libxslt1.1:arm64. 122s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 122s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 122s Selecting previously unselected package moreutils. 122s Preparing to unpack .../18-moreutils_0.69-1_arm64.deb ... 122s Unpacking moreutils (0.69-1) ... 122s Selecting previously unselected package python3-click. 122s Preparing to unpack .../19-python3-click_8.1.8-1_all.deb ... 122s Unpacking python3-click (8.1.8-1) ... 122s Selecting previously unselected package python3-dateutil. 122s Preparing to unpack .../20-python3-dateutil_2.9.0-3_all.deb ... 122s Unpacking python3-dateutil (2.9.0-3) ... 122s Selecting previously unselected package python3-wcwidth. 122s Preparing to unpack .../21-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 122s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 122s Selecting previously unselected package python3-prettytable. 122s Preparing to unpack .../22-python3-prettytable_3.12.0-1_all.deb ... 122s Unpacking python3-prettytable (3.12.0-1) ... 122s Selecting previously unselected package python3-psutil. 122s Preparing to unpack .../23-python3-psutil_5.9.8-2build3_arm64.deb ... 122s Unpacking python3-psutil (5.9.8-2build3) ... 122s Selecting previously unselected package python3-psycopg2. 122s Preparing to unpack .../24-python3-psycopg2_2.9.10-1_arm64.deb ... 122s Unpacking python3-psycopg2 (2.9.10-1) ... 122s Selecting previously unselected package python3-dnspython. 122s Preparing to unpack .../25-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 122s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 122s Selecting previously unselected package python3-etcd. 122s Preparing to unpack .../26-python3-etcd_0.4.5-6_all.deb ... 122s Unpacking python3-etcd (0.4.5-6) ... 122s Selecting previously unselected package python3-ydiff. 122s Preparing to unpack .../27-python3-ydiff_1.4.2-1_all.deb ... 122s Unpacking python3-ydiff (1.4.2-1) ... 122s Selecting previously unselected package python3-cdiff. 122s Preparing to unpack .../28-python3-cdiff_1.4.2-1_all.deb ... 122s Unpacking python3-cdiff (1.4.2-1) ... 122s Selecting previously unselected package patroni. 122s Preparing to unpack .../29-patroni_3.3.5-1_all.deb ... 122s Unpacking patroni (3.3.5-1) ... 122s Selecting previously unselected package sphinx-rtd-theme-common. 122s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 122s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 122s Selecting previously unselected package patroni-doc. 122s Preparing to unpack .../31-patroni-doc_3.3.5-1_all.deb ... 122s Unpacking patroni-doc (3.3.5-1) ... 123s Selecting previously unselected package postgresql-client-17. 123s Preparing to unpack .../32-postgresql-client-17_17.2-1_arm64.deb ... 123s Unpacking postgresql-client-17 (17.2-1) ... 123s Selecting previously unselected package postgresql-17. 123s Preparing to unpack .../33-postgresql-17_17.2-1_arm64.deb ... 123s Unpacking postgresql-17 (17.2-1) ... 123s Selecting previously unselected package postgresql. 123s Preparing to unpack .../34-postgresql_17+267_all.deb ... 123s Unpacking postgresql (17+267) ... 123s Selecting previously unselected package python3-parse. 123s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 123s Unpacking python3-parse (1.20.2-1) ... 123s Selecting previously unselected package python3-six. 123s Preparing to unpack .../36-python3-six_1.17.0-1_all.deb ... 123s Unpacking python3-six (1.17.0-1) ... 123s Selecting previously unselected package python3-parse-type. 123s Preparing to unpack .../37-python3-parse-type_0.6.4-1_all.deb ... 123s Unpacking python3-parse-type (0.6.4-1) ... 123s Selecting previously unselected package python3-behave. 123s Preparing to unpack .../38-python3-behave_1.2.6-6_all.deb ... 123s Unpacking python3-behave (1.2.6-6) ... 123s Selecting previously unselected package python3-coverage. 123s Preparing to unpack .../39-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 123s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 123s Setting up python3.12-minimal (3.12.8-3) ... 124s Setting up fonts-lato (2.015-1) ... 124s Setting up libio-pty-perl (1:1.20-1build3) ... 124s Setting up python3.12 (3.12.8-3) ... 126s Setting up python3-ydiff (1.4.2-1) ... 126s Setting up libpq5:arm64 (17.2-1) ... 126s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 126s Setting up python3-click (8.1.8-1) ... 126s Setting up python3-psutil (5.9.8-2build3) ... 127s Setting up python3-six (1.17.0-1) ... 127s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 127s Setting up ssl-cert (1.1.3ubuntu1) ... 128s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 128s Setting up python3-psycopg2 (2.9.10-1) ... 129s Setting up libipc-run-perl (20231003.0-2) ... 129s Setting up libtime-duration-perl (1.21-2) ... 129s Setting up libtimedate-perl (2.3300-2) ... 129s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 129s Setting up python3-parse (1.20.2-1) ... 129s Setting up libjson-perl (4.10000-1) ... 129s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 129s Setting up python3-dateutil (2.9.0-3) ... 130s Setting up etcd-server (3.5.16-3) ... 130s info: Selecting UID from range 100 to 999 ... 130s 130s info: Selecting GID from range 100 to 999 ... 130s info: Adding system user `etcd' (UID 107) ... 130s info: Adding new group `etcd' (GID 111) ... 130s info: Adding new user `etcd' (UID 107) with group `etcd' ... 130s info: Creating home directory `/var/lib/etcd/' ... 130s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 130s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 131s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 131s Setting up python3-prettytable (3.12.0-1) ... 131s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 131s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 131s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 131s Setting up postgresql-client-common (267) ... 131s Setting up moreutils (0.69-1) ... 131s Setting up postgresql-client-17 (17.2-1) ... 132s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 132s Setting up python3-etcd (0.4.5-6) ... 132s Setting up python3-cdiff (1.4.2-1) ... 132s Setting up python3-parse-type (0.6.4-1) ... 132s Setting up postgresql-common (267) ... 133s Creating config file /etc/postgresql-common/createcluster.conf with new version 133s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 133s Removing obsolete dictionary files: 133s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 134s Setting up libjs-sphinxdoc (8.1.3-3) ... 134s Setting up python3-behave (1.2.6-6) ... 134s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 134s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 134s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 134s """Registers a custom type that will be available to "parse" 134s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 134s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 134s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 134s """Registers a custom type that will be available to "parse" 134s Setting up patroni (3.3.5-1) ... 134s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 135s Setting up postgresql-17 (17.2-1) ... 135s Creating new PostgreSQL cluster 17/main ... 135s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 135s The files belonging to this database system will be owned by user "postgres". 135s This user must also own the server process. 135s 135s The database cluster will be initialized with locale "C.UTF-8". 135s The default database encoding has accordingly been set to "UTF8". 135s The default text search configuration will be set to "english". 135s 135s Data page checksums are disabled. 135s 135s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 135s creating subdirectories ... ok 135s selecting dynamic shared memory implementation ... posix 135s selecting default "max_connections" ... 100 135s selecting default "shared_buffers" ... 128MB 135s selecting default time zone ... Etc/UTC 135s creating configuration files ... ok 136s running bootstrap script ... ok 136s performing post-bootstrap initialization ... ok 136s syncing data to disk ... ok 139s Setting up patroni-doc (3.3.5-1) ... 139s Setting up postgresql (17+267) ... 139s Processing triggers for systemd (257-2ubuntu1) ... 140s Processing triggers for man-db (2.13.0-1) ... 140s Processing triggers for libc-bin (2.40-4ubuntu1) ... 141s autopkgtest [21:29:51]: test acceptance-etcd3: debian/tests/acceptance etcd3 141s autopkgtest [21:29:51]: test acceptance-etcd3: [----------------------- 142s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 142s ++ ls -1r /usr/lib/postgresql/ 142s ### PostgreSQL 17 acceptance-etcd3 ### 142s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 142s + '[' 17 == 10 -o 17 == 11 ']' 142s + echo '### PostgreSQL 17 acceptance-etcd3 ###' 142s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=etcd3 PATH=/usr/lib/postgresql/17/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 143s Jan 19 21:29:53 Feature: basic replication # features/basic_replication.feature:1 143s Jan 19 21:29:53 We should check that the basic bootstrapping, replication and failover works. 143s Jan 19 21:29:53 Scenario: check replication of a single table # features/basic_replication.feature:4 143s Jan 19 21:29:53 Given I start postgres0 # features/steps/basic_replication.py:8 146s Jan 19 21:29:56 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 146s Jan 19 21:29:56 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 146s Jan 19 21:29:56 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 146s Jan 19 21:29:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 146s Jan 19 21:29:56 When I start postgres1 # features/steps/basic_replication.py:8 149s Jan 19 21:29:59 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 153s Jan 19 21:30:03 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 153s Jan 19 21:30:03 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 153s Jan 19 21:30:03 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 154s Jan 19 21:30:04 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 154s Jan 19 21:30:04 154s Jan 19 21:30:04 Scenario: check restart of sync replica # features/basic_replication.feature:17 154s Jan 19 21:30:04 Given I shut down postgres2 # features/steps/basic_replication.py:29 155s Jan 19 21:30:05 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 155s Jan 19 21:30:05 When I start postgres2 # features/steps/basic_replication.py:8 158s Jan 19 21:30:08 And I shut down postgres1 # features/steps/basic_replication.py:29 161s Jan 19 21:30:11 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 162s Jan 19 21:30:12 When I start postgres1 # features/steps/basic_replication.py:8 165s Jan 19 21:30:15 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 166s Jan 19 21:30:16 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 166s Jan 19 21:30:16 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 166s Jan 19 21:30:16 166s Jan 19 21:30:16 Scenario: check stuck sync replica # features/basic_replication.feature:28 166s Jan 19 21:30:16 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 166s Jan 19 21:30:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 166s Jan 19 21:30:16 And I create table on postgres0 # features/steps/basic_replication.py:73 166s Jan 19 21:30:16 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 167s Jan 19 21:30:17 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 167s Jan 19 21:30:17 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 167s Jan 19 21:30:17 And I load data on postgres0 # features/steps/basic_replication.py:84 168s Jan 19 21:30:18 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 171s Jan 19 21:30:21 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 171s Jan 19 21:30:21 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 172s Jan 19 21:30:22 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 172s Jan 19 21:30:22 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 172s Jan 19 21:30:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 172s Jan 19 21:30:22 And I drop table on postgres0 # features/steps/basic_replication.py:73 172s Jan 19 21:30:22 172s Jan 19 21:30:22 Scenario: check multi sync replication # features/basic_replication.feature:44 172s Jan 19 21:30:22 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 172s Jan 19 21:30:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 172s Jan 19 21:30:22 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 176s Jan 19 21:30:26 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 176s Jan 19 21:30:26 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 176s Jan 19 21:30:26 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 176s Jan 19 21:30:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 176s Jan 19 21:30:26 And I shut down postgres1 # features/steps/basic_replication.py:29 179s Jan 19 21:30:29 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 180s Jan 19 21:30:30 When I start postgres1 # features/steps/basic_replication.py:8 183s Jan 19 21:30:33 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 184s Jan 19 21:30:34 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 184s Jan 19 21:30:34 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 184s Jan 19 21:30:34 184s Jan 19 21:30:34 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 184s Jan 19 21:30:34 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 186s Jan 19 21:30:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 186s Jan 19 21:30:36 When I sleep for 2 seconds # features/steps/patroni_api.py:39 188s Jan 19 21:30:38 And I shut down postgres0 # features/steps/basic_replication.py:29 189s Jan 19 21:30:39 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 190s Jan 19 21:30:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 190s Jan 19 21:30:40 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 210s Jan 19 21:31:00 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 212s Jan 19 21:31:02 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 212s Jan 19 21:31:02 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 212s Jan 19 21:31:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 212s Jan 19 21:31:02 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 212s Jan 19 21:31:02 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 215s Jan 19 21:31:05 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 215s Jan 19 21:31:05 215s Jan 19 21:31:05 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 215s Jan 19 21:31:05 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 215s Jan 19 21:31:05 And I start postgres0 # features/steps/basic_replication.py:8 215s Jan 19 21:31:05 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 219s Jan 19 21:31:09 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 219s Jan 19 21:31:09 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 223s Jan 19 21:31:13 223s Jan 19 21:31:13 @reject-duplicate-name 223s Jan 19 21:31:13 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 223s Jan 19 21:31:13 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 226s Jan 19 21:31:15 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 230s Jan 19 21:31:20 230s Jan 19 21:31:20 Feature: cascading replication # features/cascading_replication.feature:1 230s Jan 19 21:31:20 We should check that patroni can do base backup and streaming from the replica 230s Jan 19 21:31:20 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 230s Jan 19 21:31:20 Given I start postgres0 # features/steps/basic_replication.py:8 233s Jan 19 21:31:23 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 234s Jan 19 21:31:24 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 237s Jan 19 21:31:27 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 238s Jan 19 21:31:28 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 238s Jan 19 21:31:28 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 238s Jan 19 21:31:28 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 238s Jan 19 21:31:28 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 241s Jan 19 21:31:31 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 242s Jan 19 21:31:32 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 247s Jan 19 21:31:37 247s SKIP FEATURE citus: Citus extension isn't available 247s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 247s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 247s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 247s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 247s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extension isn't available 247s Jan 19 21:31:37 Feature: citus # features/citus.feature:1 247s Jan 19 21:31:37 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 247s Jan 19 21:31:37 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 247s Jan 19 21:31:37 Given I start postgres0 in citus group 0 # None 247s Jan 19 21:31:37 And I start postgres2 in citus group 1 # None 247s Jan 19 21:31:37 Then postgres0 is a leader in a group 0 after 10 seconds # None 247s Jan 19 21:31:37 And postgres2 is a leader in a group 1 after 10 seconds # None 247s Jan 19 21:31:37 When I start postgres1 in citus group 0 # None 247s Jan 19 21:31:37 And I start postgres3 in citus group 1 # None 247s Jan 19 21:31:37 Then replication works from postgres0 to postgres1 after 15 seconds # None 247s Jan 19 21:31:37 Then replication works from postgres2 to postgres3 after 15 seconds # None 247s Jan 19 21:31:37 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 247s Jan 19 21:31:37 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 247s Jan 19 21:31:37 247s Jan 19 21:31:37 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 247s Jan 19 21:31:37 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 247s Jan 19 21:31:37 Then postgres1 role is the primary after 10 seconds # None 247s Jan 19 21:31:37 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 247s Jan 19 21:31:37 And replication works from postgres1 to postgres0 after 15 seconds # None 247s Jan 19 21:31:37 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 247s Jan 19 21:31:37 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 247s Jan 19 21:31:37 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 247s Jan 19 21:31:37 Then postgres0 role is the primary after 10 seconds # None 247s Jan 19 21:31:37 And replication works from postgres0 to postgres1 after 15 seconds # None 247s Jan 19 21:31:37 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 247s Jan 19 21:31:37 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 247s Jan 19 21:31:37 247s Jan 19 21:31:37 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 247s Jan 19 21:31:37 Given I create a distributed table on postgres0 # None 247s Jan 19 21:31:37 And I start a thread inserting data on postgres0 # None 247s Jan 19 21:31:37 When I run patronictl.py switchover batman --group 1 --force # None 247s Jan 19 21:31:37 Then I receive a response returncode 0 # None 247s Jan 19 21:31:37 And postgres3 role is the primary after 10 seconds # None 247s Jan 19 21:31:37 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 247s Jan 19 21:31:37 And replication works from postgres3 to postgres2 after 15 seconds # None 247s Jan 19 21:31:37 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 247s Jan 19 21:31:37 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 247s Jan 19 21:31:37 And a thread is still alive # None 247s Jan 19 21:31:37 When I run patronictl.py switchover batman --group 1 --force # None 247s Jan 19 21:31:37 Then I receive a response returncode 0 # None 247s Jan 19 21:31:37 And postgres2 role is the primary after 10 seconds # None 247s Jan 19 21:31:37 And replication works from postgres2 to postgres3 after 15 seconds # None 247s Jan 19 21:31:37 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 247s Jan 19 21:31:37 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 247s Jan 19 21:31:37 And a thread is still alive # None 247s Jan 19 21:31:37 When I stop a thread # None 247s Jan 19 21:31:37 Then a distributed table on postgres0 has expected rows # None 247s Jan 19 21:31:37 247s Jan 19 21:31:37 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 247s Jan 19 21:31:37 Given I cleanup a distributed table on postgres0 # None 247s Jan 19 21:31:37 And I start a thread inserting data on postgres0 # None 247s Jan 19 21:31:37 When I run patronictl.py restart batman postgres2 --group 1 --force # None 247s Jan 19 21:31:37 Then I receive a response returncode 0 # None 247s Jan 19 21:31:37 And postgres2 role is the primary after 10 seconds # None 247s Jan 19 21:31:37 And replication works from postgres2 to postgres3 after 15 seconds # None 247s Jan 19 21:31:37 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 247s Jan 19 21:31:37 And a thread is still alive # None 247s Jan 19 21:31:37 When I stop a thread # None 247s Jan 19 21:31:37 Then a distributed table on postgres0 has expected rows # None 247s Jan 19 21:31:37 247s Jan 19 21:31:37 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 247s Jan 19 21:31:37 Given I start postgres4 in citus group 2 # None 247s Jan 19 21:31:37 Then postgres4 is a leader in a group 2 after 10 seconds # None 247s Jan 19 21:31:37 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 247s Jan 19 21:31:37 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 247s Jan 19 21:31:37 Then I receive a response returncode 0 # None 247s Jan 19 21:31:37 And I receive a response output "+ttl: 20" # None 247s Jan 19 21:31:37 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 247s Jan 19 21:31:37 When I shut down postgres4 # None 247s Jan 19 21:31:37 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 247s Jan 19 21:31:37 When I run patronictl.py restart batman postgres2 --group 1 --force # None 247s Jan 19 21:31:37 Then a transaction finishes in 20 seconds # None 247s Jan 19 21:31:37 247s Jan 19 21:31:37 Feature: custom bootstrap # features/custom_bootstrap.feature:1 247s Jan 19 21:31:37 We should check that patroni can bootstrap a new cluster from a backup 247s Jan 19 21:31:37 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 247s Jan 19 21:31:37 Given I start postgres0 # features/steps/basic_replication.py:8 250s Jan 19 21:31:40 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 250s Jan 19 21:31:40 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 250s Jan 19 21:31:40 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 254s Jan 19 21:31:44 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 255s Jan 19 21:31:45 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 255s Jan 19 21:31:45 255s Jan 19 21:31:45 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 255s Jan 19 21:31:45 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 255s Jan 19 21:31:45 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 256s Jan 19 21:31:45 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 261s Jan 19 21:31:51 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 262s Jan 19 21:31:52 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 268s Jan 19 21:31:58 268s Jan 19 21:31:58 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 268s Jan 19 21:31:58 We should check the basic dcs failsafe mode functioning 268s Jan 19 21:31:58 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 268s Jan 19 21:31:58 Given I start postgres0 # features/steps/basic_replication.py:8 271s Jan 19 21:32:01 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 271s Jan 19 21:32:01 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 271s Jan 19 21:32:01 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 271s Jan 19 21:32:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 271s Jan 19 21:32:01 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 272s Jan 19 21:32:02 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 272s Jan 19 21:32:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 272s Jan 19 21:32:02 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 272s Jan 19 21:32:02 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 272s Jan 19 21:32:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 272s Jan 19 21:32:02 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 272s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 272s Jan 19 21:32:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 272s SKIP Scenario check new replica isn't promoted when leader is down and DCS is up: it is not possible to control state of etcd3 from tests 272s Jan 19 21:32:02 272s Jan 19 21:32:02 @dcs-failsafe 272s Jan 19 21:32:02 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 272s Jan 19 21:32:02 Given DCS is down # None 272s Jan 19 21:32:02 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 272s Jan 19 21:32:02 And postgres0 role is the primary after 10 seconds # None 272s Jan 19 21:32:02 272s Jan 19 21:32:02 @dcs-failsafe 272s Jan 19 21:32:02 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 272s Jan 19 21:32:02 Given DCS is up # None 272s Jan 19 21:32:02 When I do a backup of postgres0 # None 272s Jan 19 21:32:02 And I shut down postgres0 # None 272s Jan 19 21:32:02 When I start postgres1 in a cluster batman from backup with no_leader # None 272s Jan 19 21:32:02 Then postgres1 role is the replica after 12 seconds # None 272s Jan 19 21:32:02 272s Jan 19 21:32:02 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 272s Jan 19 21:32:02 Given I start postgres0 # features/steps/basic_replication.py:8 272s Jan 19 21:32:02 And I start postgres1 # features/steps/basic_replication.py:8 276s Jan 19 21:32:06 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 276s Jan 19 21:32:06 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 276s Jan 19 21:32:06 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 276s Jan 19 21:32:06 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 276s Jan 19 21:32:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 276s Jan 19 21:32:06 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 276s Jan 19 21:32:06 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 276s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 276s 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 276s Jan 19 21:32:06 276s Jan 19 21:32:06 @dcs-failsafe @slot-advance 276s Jan 19 21:32:06 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 276s Jan 19 21:32:06 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 276s Jan 19 21:32:06 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 276s Jan 19 21:32:06 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 276s Jan 19 21:32:06 And DCS is down # None 276s Jan 19 21:32:06 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 276s Jan 19 21:32:06 Then postgres0 role is the primary after 10 seconds # None 276s Jan 19 21:32:06 And postgres1 role is the replica after 2 seconds # None 276s Jan 19 21:32:06 And replication works from postgres0 to postgres1 after 10 seconds # None 276s Jan 19 21:32:06 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 276s Jan 19 21:32:06 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 276s Jan 19 21:32:06 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 276s Jan 19 21:32:06 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 276s 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 276s Jan 19 21:32:06 276s Jan 19 21:32:06 @dcs-failsafe 276s Jan 19 21:32:06 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 276s Jan 19 21:32:06 Given DCS is down # None 276s Jan 19 21:32:06 And I kill postgres1 # None 276s Jan 19 21:32:06 And I kill postmaster on postgres1 # None 276s Jan 19 21:32:06 Then postgres0 role is the replica after 12 seconds # None 276s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 276s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 276s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 276s Jan 19 21:32:06 276s Jan 19 21:32:06 @dcs-failsafe 276s Jan 19 21:32:06 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 276s Jan 19 21:32:06 Given I kill postgres0 # None 276s Jan 19 21:32:06 And I shut down postmaster on postgres0 # None 276s Jan 19 21:32:06 And DCS is up # None 276s Jan 19 21:32:06 When I start postgres1 # None 276s Jan 19 21:32:06 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 276s Jan 19 21:32:06 And postgres1 role is the primary after 25 seconds # None 276s Jan 19 21:32:06 276s Jan 19 21:32:06 @dcs-failsafe 276s Jan 19 21:32:06 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 276s Jan 19 21:32:06 Given I start postgres0 # None 276s Jan 19 21:32:06 And I configure and start postgres2 with a tag replicatefrom postgres0 # None 276s Jan 19 21:32:06 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 276s Jan 19 21:32:06 And "members/postgres0" key in DCS has state=running after 20 seconds # None 276s Jan 19 21:32:06 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 276s Jan 19 21:32:06 And replication works from postgres1 to postgres0 after 10 seconds # None 276s Jan 19 21:32:06 And replication works from postgres1 to postgres2 after 10 seconds # None 276s 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 276s Jan 19 21:32:06 276s Jan 19 21:32:06 @dcs-failsafe @slot-advance 276s Jan 19 21:32:06 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 276s Jan 19 21:32:06 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"postgres2":0,"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # None 276s Jan 19 21:32:06 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 276s Jan 19 21:32:06 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 276s Jan 19 21:32:06 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 276s Jan 19 21:32:06 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 276s Jan 19 21:32:06 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 276s Jan 19 21:32:06 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 276s Jan 19 21:32:06 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # None 276s Jan 19 21:32:06 276s Jan 19 21:32:06 @dcs-failsafe 276s Jan 19 21:32:06 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 276s Jan 19 21:32:06 Given DCS is down # None 276s Jan 19 21:32:06 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 276s Jan 19 21:32:06 Then postgres1 role is the primary after 10 seconds # None 276s Jan 19 21:32:06 And postgres0 role is the replica after 2 seconds # None 276s Jan 19 21:32:06 And postgres2 role is the replica after 2 seconds # None 280s Jan 19 21:32:10 280s Jan 19 21:32:10 @dcs-failsafe @slot-advance 280s Jan 19 21:32:10 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 280s Jan 19 21:32:10 Given replication works from postgres1 to postgres0 after 10 seconds # None 280s Jan 19 21:32:10 And replication works from postgres1 to postgres2 after 10 seconds # None 280s Jan 19 21:32:10 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 280s Jan 19 21:32:10 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 280s Jan 19 21:32:10 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 280s Jan 19 21:32:10 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 280s Jan 19 21:32:10 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 280s Jan 19 21:32:10 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 280s Jan 19 21:32:10 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 280s Jan 19 21:32:10 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # None 280s Jan 19 21:32:10 280s Jan 19 21:32:10 Feature: ignored slots # features/ignored_slots.feature:1 280s Jan 19 21:32:10 280s Jan 19 21:32:10 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 280s Jan 19 21:32:10 Given I start postgres1 # features/steps/basic_replication.py:8 283s Jan 19 21:32:13 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 283s Jan 19 21:32:13 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 283s Jan 19 21:32:13 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 283s Jan 19 21:32:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 283s Jan 19 21:32:13 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 284s Jan 19 21:32:14 When I shut down postgres1 # features/steps/basic_replication.py:29 286s Jan 19 21:32:16 And I start postgres1 # features/steps/basic_replication.py:8 290s Jan 19 21:32:19 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 290s Jan 19 21:32:19 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 295s Jan 19 21:32:24 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 295s Jan 19 21:32:24 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 295s Jan 19 21:32:25 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 295s Jan 19 21:32:25 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 295s Jan 19 21:32:25 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 295s Jan 19 21:32:25 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 295s Jan 19 21:32:25 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 295s Jan 19 21:32:25 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 295s Jan 19 21:32:25 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 295s Jan 19 21:32:25 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 295s Jan 19 21:32:25 When I start postgres0 # features/steps/basic_replication.py:8 298s Jan 19 21:32:28 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 298s Jan 19 21:32:28 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 298s Jan 19 21:32:28 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 299s Jan 19 21:32:29 When I shut down postgres1 # features/steps/basic_replication.py:29 301s Jan 19 21:32:31 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 302s Jan 19 21:32:32 When I start postgres1 # features/steps/basic_replication.py:8 305s Jan 19 21:32:35 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 305s Jan 19 21:32:35 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 306s Jan 19 21:32:36 And I sleep for 2 seconds # features/steps/patroni_api.py:39 308s Jan 19 21:32:38 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 308s Jan 19 21:32:38 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 308s Jan 19 21:32:38 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 308s Jan 19 21:32:38 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 308s Jan 19 21:32:38 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 308s Jan 19 21:32:38 When I shut down postgres0 # features/steps/basic_replication.py:29 310s Jan 19 21:32:40 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 311s Jan 19 21:32:41 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 311s Jan 19 21:32:41 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 311s Jan 19 21:32:41 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 311s Jan 19 21:32:41 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 313s Jan 19 21:32:43 313s Jan 19 21:32:43 Feature: nostream node # features/nostream_node.feature:1 313s Jan 19 21:32:43 313s Jan 19 21:32:43 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 313s Jan 19 21:32:43 When I start postgres0 # features/steps/basic_replication.py:8 316s Jan 19 21:32:46 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 319s Jan 19 21:32:49 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 320s Jan 19 21:32:50 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 325s Jan 19 21:32:55 325s Jan 19 21:32:55 @slot-advance 325s Jan 19 21:32:55 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 325s Jan 19 21:32:55 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 325s Jan 19 21:32:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 325s Jan 19 21:32:55 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 327s Jan 19 21:32:57 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 328s Jan 19 21:32:58 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 332s Jan 19 21:33:02 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 332s Jan 19 21:33:02 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 332s Jan 19 21:33:02 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 337s Jan 19 21:33:07 337s Jan 19 21:33:07 Feature: patroni api # features/patroni_api.feature:1 337s Jan 19 21:33:07 We should check that patroni correctly responds to valid and not-valid API requests. 337s Jan 19 21:33:07 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 337s Jan 19 21:33:07 Given I start postgres0 # features/steps/basic_replication.py:8 340s Jan 19 21:33:10 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 340s Jan 19 21:33:10 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 340s Jan 19 21:33:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 340s Jan 19 21:33:10 And I receive a response state running # features/steps/patroni_api.py:98 340s Jan 19 21:33:10 And I receive a response role master # features/steps/patroni_api.py:98 340s Jan 19 21:33:10 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 340s Jan 19 21:33:10 Then I receive a response code 503 # features/steps/patroni_api.py:98 340s Jan 19 21:33:10 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 340s Jan 19 21:33:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 340s Jan 19 21:33:10 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 341s Jan 19 21:33:10 Then I receive a response code 503 # features/steps/patroni_api.py:98 341s Jan 19 21:33:10 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 341s Jan 19 21:33:11 Then I receive a response code 503 # features/steps/patroni_api.py:98 341s Jan 19 21:33:11 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 341s Jan 19 21:33:11 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 342s Jan 19 21:33:12 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 342s Jan 19 21:33:12 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 342s Jan 19 21:33:12 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 342s Jan 19 21:33:12 Then I receive a response code 412 # features/steps/patroni_api.py:98 342s Jan 19 21:33:12 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 342s Jan 19 21:33:12 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 342s Jan 19 21:33:12 Then I receive a response code 400 # features/steps/patroni_api.py:98 342s Jan 19 21:33:12 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 342s Jan 19 21:33:12 Then I receive a response code 400 # features/steps/patroni_api.py:98 342s Jan 19 21:33:12 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 342s Jan 19 21:33:12 342s Jan 19 21:33:12 Scenario: check local configuration reload # features/patroni_api.feature:32 342s Jan 19 21:33:12 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 342s Jan 19 21:33:12 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 342s Jan 19 21:33:12 Then I receive a response code 202 # features/steps/patroni_api.py:98 342s Jan 19 21:33:12 342s Jan 19 21:33:12 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 342s Jan 19 21:33:12 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 342s Jan 19 21:33:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 342s Jan 19 21:33:12 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 344s Jan 19 21:33:14 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 344s Jan 19 21:33:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 344s Jan 19 21:33:14 And I receive a response ttl 20 # features/steps/patroni_api.py:98 344s Jan 19 21:33:14 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 344s Jan 19 21:33:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 344s Jan 19 21:33:14 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 344s Jan 19 21:33:14 And I sleep for 4 seconds # features/steps/patroni_api.py:39 348s Jan 19 21:33:18 348s Jan 19 21:33:18 Scenario: check the scheduled restart # features/patroni_api.feature:49 348s Jan 19 21:33:18 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 350s Jan 19 21:33:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 350s Jan 19 21:33:20 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 350s Jan 19 21:33:20 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 350s Jan 19 21:33:20 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 350s Jan 19 21:33:20 Then I receive a response code 202 # features/steps/patroni_api.py:98 350s Jan 19 21:33:20 And I sleep for 8 seconds # features/steps/patroni_api.py:39 358s Jan 19 21:33:28 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 358s Jan 19 21:33:28 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 358s Jan 19 21:33:28 Then I receive a response code 202 # features/steps/patroni_api.py:98 358s Jan 19 21:33:28 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 365s Jan 19 21:33:34 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 366s Jan 19 21:33:36 366s Jan 19 21:33:36 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 366s Jan 19 21:33:36 Given I start postgres1 # features/steps/basic_replication.py:8 369s Jan 19 21:33:39 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 370s Jan 19 21:33:40 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 371s Jan 19 21:33:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 371s Jan 19 21:33:41 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 371s Jan 19 21:33:41 waiting for server to shut down.... done 371s Jan 19 21:33:41 server stopped 371s Jan 19 21:33:41 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 371s Jan 19 21:33:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 371s Jan 19 21:33:41 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 373s Jan 19 21:33:43 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 376s Jan 19 21:33:46 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 376s Jan 19 21:33:46 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 377s Jan 19 21:33:47 And I sleep for 2 seconds # features/steps/patroni_api.py:39 379s Jan 19 21:33:49 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 379s Jan 19 21:33:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 379s Jan 19 21:33:49 And I receive a response state running # features/steps/patroni_api.py:98 379s Jan 19 21:33:49 And I receive a response role replica # features/steps/patroni_api.py:98 379s Jan 19 21:33:49 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 382s Jan 19 21:33:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 382s Jan 19 21:33:52 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 382s Jan 19 21:33:52 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 383s Jan 19 21:33:53 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 384s Jan 19 21:33:54 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 387s Jan 19 21:33:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 387s Jan 19 21:33:57 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 387s Jan 19 21:33:57 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 388s Jan 19 21:33:58 388s Jan 19 21:33:58 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 388s Jan 19 21:33: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 390s Jan 19 21:34:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 390s Jan 19 21:34:00 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 390s Jan 19 21:34:00 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 391s Jan 19 21:34:01 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 396s Jan 19 21:34:06 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 396s Jan 19 21:34:06 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 397s Jan 19 21:34:07 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 397s Jan 19 21:34:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 397s Jan 19 21:34:07 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 397s Jan 19 21:34:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 397s Jan 19 21:34:07 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 397s Jan 19 21:34:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 397s Jan 19 21:34:07 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 397s Jan 19 21:34:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 397s Jan 19 21:34:07 397s Jan 19 21:34:07 Scenario: check the scheduled switchover # features/patroni_api.feature:107 397s Jan 19 21:34:07 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 398s Jan 19 21:34:08 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 398s Jan 19 21:34:08 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 398s Jan 19 21:34:08 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 400s Jan 19 21:34:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 400s Jan 19 21:34:10 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 401s Jan 19 21:34:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 401s Jan 19 21:34:11 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 411s Jan 19 21:34:21 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 412s Jan 19 21:34:22 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 415s Jan 19 21:34:25 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 415s Jan 19 21:34:25 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 416s Jan 19 21:34:26 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 416s Jan 19 21:34:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 416s Jan 19 21:34:26 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 416s Jan 19 21:34:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 416s Jan 19 21:34:26 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 416s Jan 19 21:34:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 416s Jan 19 21:34:26 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 416s Jan 19 21:34:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 420s Jan 19 21:34:30 420s Jan 19 21:34:30 Feature: permanent slots # features/permanent_slots.feature:1 420s Jan 19 21:34:30 420s Jan 19 21:34:30 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 420s Jan 19 21:34:30 Given I start postgres0 # features/steps/basic_replication.py:8 423s Jan 19 21:34:33 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 424s Jan 19 21:34:34 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 424s Jan 19 21:34:34 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 425s Jan 19 21:34:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 425s Jan 19 21:34:35 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 425s Jan 19 21:34:35 When I start postgres1 # features/steps/basic_replication.py:8 428s Jan 19 21:34:38 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 432s Jan 19 21:34:42 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 435s Jan 19 21:34:45 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 435s Jan 19 21:34:45 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 435s Jan 19 21:34:45 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 435s Jan 19 21:34:45 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 435s Jan 19 21:34:45 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 435s Jan 19 21:34:45 435s Jan 19 21:34:45 @slot-advance 435s Jan 19 21:34:45 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 435s Jan 19 21:34:45 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 437s Jan 19 21:34:47 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 437s Jan 19 21:34:47 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 438s Jan 19 21:34:48 438s Jan 19 21:34:48 @slot-advance 438s Jan 19 21:34:48 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 438s Jan 19 21:34:48 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 443s Jan 19 21:34:53 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 443s Jan 19 21:34:53 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 444s Jan 19 21:34:54 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 444s Jan 19 21:34:54 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 444s Jan 19 21:34:54 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 444s Jan 19 21:34:54 444s Jan 19 21:34:54 @slot-advance 444s Jan 19 21:34:54 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 444s Jan 19 21:34:54 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 444s Jan 19 21:34:54 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 444s Jan 19 21:34:54 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 444s Jan 19 21:34:54 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 444s Jan 19 21:34:54 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 444s Jan 19 21:34:54 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 444s Jan 19 21:34:54 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 444s Jan 19 21:34:54 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 444s Jan 19 21:34:54 444s Jan 19 21:34:54 @slot-advance 444s Jan 19 21:34:54 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 444s Jan 19 21:34:54 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 444s Jan 19 21:34:54 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 444s Jan 19 21:34:54 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 444s Jan 19 21:34:54 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 445s Jan 19 21:34:55 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 445s Jan 19 21:34:55 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 445s Jan 19 21:34:55 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 445s Jan 19 21:34:55 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 447s Jan 19 21:34:57 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 448s Jan 19 21:34:58 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 448s Jan 19 21:34:58 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 448s Jan 19 21:34:58 448s Jan 19 21:34:58 @slot-advance 448s Jan 19 21:34:58 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 448s Jan 19 21:34:58 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 448s Jan 19 21:34:58 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 448s Jan 19 21:34:58 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 448s Jan 19 21:34:58 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 448s Jan 19 21:34:58 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 448s Jan 19 21:34:58 448s Jan 19 21:34:58 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 448s Jan 19 21:34:58 Given I shut down postgres3 # features/steps/basic_replication.py:29 449s Jan 19 21:34:59 And I shut down postgres2 # features/steps/basic_replication.py:29 450s Jan 19 21:35:00 And I shut down postgres0 # features/steps/basic_replication.py:29 452s Jan 19 21:35:02 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 452s Jan 19 21:35:02 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 452s Jan 19 21:35:02 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 452s Jan 19 21:35:02 When I start postgres0 # features/steps/basic_replication.py:8 456s Jan 19 21:35:05 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 456s Jan 19 21:35:05 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 456s Jan 19 21:35:05 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 459s Jan 19 21:35:09 459s Jan 19 21:35:09 Feature: priority replication # features/priority_failover.feature:1 459s Jan 19 21:35:09 We should check that we can give nodes priority during failover 459s Jan 19 21:35:09 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 459s Jan 19 21:35:09 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 462s Jan 19 21:35:12 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 465s Jan 19 21:35:15 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 466s Jan 19 21:35:16 When I shut down postgres0 # features/steps/basic_replication.py:29 468s Jan 19 21:35:18 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 470s Jan 19 21:35:20 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 470s Jan 19 21:35:20 When I start postgres0 # features/steps/basic_replication.py:8 473s Jan 19 21:35:23 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 474s Jan 19 21:35:24 474s Jan 19 21:35:24 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 474s Jan 19 21:35:24 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 477s Jan 19 21:35:27 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 481s Jan 19 21:35:31 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 482s Jan 19 21:35:32 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 483s Jan 19 21:35:33 When I shut down postgres0 # features/steps/basic_replication.py:29 485s Jan 19 21:35:35 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 486s Jan 19 21:35:36 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 486s Jan 19 21:35:36 486s Jan 19 21:35:36 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 486s Jan 19 21:35:36 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 486s Jan 19 21:35:36 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 486s Jan 19 21:35:36 Then I receive a response code 202 # features/steps/patroni_api.py:98 486s Jan 19 21:35:36 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 489s Jan 19 21:35:39 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 490s Jan 19 21:35:40 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 490s Jan 19 21:35:40 Then I receive a response code 412 # features/steps/patroni_api.py:98 490s Jan 19 21:35:40 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 490s Jan 19 21:35:40 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 490s Jan 19 21:35:40 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 490s Jan 19 21:35:40 Then I receive a response code 202 # features/steps/patroni_api.py:98 490s Jan 19 21:35:40 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 491s Jan 19 21:35:41 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 492s Jan 19 21:35:42 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 495s Jan 19 21:35:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 495s Jan 19 21:35:45 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 501s Jan 19 21:35:51 501s Jan 19 21:35:51 Feature: recovery # features/recovery.feature:1 501s Jan 19 21:35:51 We want to check that crashed postgres is started back 501s Jan 19 21:35:51 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 501s Jan 19 21:35:51 Given I start postgres0 # features/steps/basic_replication.py:8 504s Jan 19 21:35:54 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 505s Jan 19 21:35:55 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 505s Jan 19 21:35:55 When I start postgres1 # features/steps/basic_replication.py:8 508s Jan 19 21:35:58 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 508s Jan 19 21:35:58 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 509s Jan 19 21:35:59 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 509s Jan 19 21:35:59 waiting for server to shut down.... done 509s Jan 19 21:35:59 server stopped 509s Jan 19 21:35:59 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 511s Jan 19 21:36:01 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 511s Jan 19 21:36:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 511s Jan 19 21:36:01 And I receive a response role master # features/steps/patroni_api.py:98 511s Jan 19 21:36:01 And I receive a response timeline 1 # features/steps/patroni_api.py:98 511s Jan 19 21:36:01 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 512s Jan 19 21:36:02 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 514s Jan 19 21:36:04 514s Jan 19 21:36:04 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 514s Jan 19 21:36:04 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 514s Jan 19 21:36:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 514s Jan 19 21:36:04 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 514s Jan 19 21:36:04 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 514s Jan 19 21:36:04 waiting for server to shut down.... done 514s Jan 19 21:36:04 server stopped 514s Jan 19 21:36:04 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 517s Jan 19 21:36:07 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 517s Jan 19 21:36:07 517s Jan 19 21:36:07 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 517s Jan 19 21:36:07 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"master_start_timeout": null} # features/steps/patroni_api.py:71 517s Jan 19 21:36:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 517s Jan 19 21:36:07 And postgres0 role is the replica after 10 seconds # features/steps/basic_replication.py:105 519s Jan 19 21:36:09 When I ensure postgres1 fails to start after a failure # features/steps/recovery.py:6 519s Jan 19 21:36:09 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 519s Jan 19 21:36:09 waiting for server to shut down.... done 519s Jan 19 21:36:09 server stopped 519s Jan 19 21:36:09 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 520s Jan 19 21:36:10 And there is a postgres1_cb.log with "on_role_change demoted batman" in postgres1 data directory # features/steps/cascading_replication.py:12 524s Jan 19 21:36:14 524s Jan 19 21:36:14 Feature: standby cluster # features/standby_cluster.feature:1 524s Jan 19 21:36:14 524s Jan 19 21:36:14 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 524s Jan 19 21:36:14 Given I start postgres1 # features/steps/basic_replication.py:8 528s Jan 19 21:36:17 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 528s Jan 19 21:36:17 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 528s Jan 19 21:36:17 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 528s Jan 19 21:36:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 528s Jan 19 21:36:18 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 529s Jan 19 21:36:19 And I sleep for 3 seconds # features/steps/patroni_api.py:39 532s Jan 19 21:36: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 532s Jan 19 21:36:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 532s Jan 19 21:36:22 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 532s Jan 19 21:36:22 When I start postgres0 # features/steps/basic_replication.py:8 535s Jan 19 21:36:25 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 536s Jan 19 21:36:26 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 537s Jan 19 21:36:27 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 537s Jan 19 21:36:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 537s Jan 19 21:36:27 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 537s Jan 19 21:36:27 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 537s Jan 19 21:36:27 537s Jan 19 21:36:27 @slot-advance 537s Jan 19 21:36:27 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 537s Jan 19 21:36:27 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 539s Jan 19 21:36:29 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 545s Jan 19 21:36:35 545s Jan 19 21:36:35 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 545s Jan 19 21:36:35 When I shut down postgres1 # features/steps/basic_replication.py:29 547s Jan 19 21:36:37 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 547s Jan 19 21:36:37 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 548s Jan 19 21:36:38 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 548s Jan 19 21:36:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 548s Jan 19 21:36:38 548s Jan 19 21:36:38 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 548s Jan 19 21:36:38 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 551s Jan 19 21:36:41 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 552s Jan 19 21:36:42 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 552s Jan 19 21:36:42 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 552s Jan 19 21:36:42 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 553s Jan 19 21:36:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 553s Jan 19 21:36:42 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 553s Jan 19 21:36:42 And I sleep for 3 seconds # features/steps/patroni_api.py:39 556s Jan 19 21:36:45 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 556s Jan 19 21:36:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 556s Jan 19 21:36:46 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 556s Jan 19 21:36:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 556s Jan 19 21:36:46 And I receive a response role standby_leader # features/steps/patroni_api.py:98 556s Jan 19 21:36: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 556s Jan 19 21:36:46 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 559s Jan 19 21:36:49 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 559s Jan 19 21:36:49 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 560s Jan 19 21:36:50 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 560s Jan 19 21:36:50 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 560s Jan 19 21:36:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 560s Jan 19 21:36:50 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 560s Jan 19 21:36:50 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 560s Jan 19 21:36:50 560s Jan 19 21:36:50 Scenario: check switchover # features/standby_cluster.feature:57 560s Jan 19 21:36:50 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 563s Jan 19 21:36:53 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 563s Jan 19 21:36:53 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 566s Jan 19 21:36:56 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 566s Jan 19 21:36:56 566s Jan 19 21:36:56 Scenario: check failover # features/standby_cluster.feature:63 566s Jan 19 21:36:56 When I kill postgres2 # features/steps/basic_replication.py:34 567s Jan 19 21:36:57 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 567s Jan 19 21:36:57 waiting for server to shut down.... done 567s Jan 19 21:36:57 server stopped 567s Jan 19 21:36:57 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 585s Jan 19 21:37:15 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 585s Jan 19 21:37:15 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 585s Jan 19 21:37:15 Then I receive a response code 503 # features/steps/patroni_api.py:98 585s Jan 19 21:37:15 And I receive a response role standby_leader # features/steps/patroni_api.py:98 585s Jan 19 21:37:15 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 587s Jan 19 21:37:16 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 591s Jan 19 21:37:21 591s Jan 19 21:37:21 Feature: watchdog # features/watchdog.feature:1 591s Jan 19 21:37:21 Verify that watchdog gets pinged and triggered under appropriate circumstances. 591s Jan 19 21:37:21 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 591s Jan 19 21:37:21 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 594s Jan 19 21:37:24 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 595s Jan 19 21:37:25 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 595s Jan 19 21:37:25 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 595s Jan 19 21:37:25 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 595s Jan 19 21:37:25 595s Jan 19 21:37:25 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 595s Jan 19 21:37:25 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 596s Jan 19 21:37:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 596s Jan 19 21:37:26 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 596s Jan 19 21:37:26 When I sleep for 4 seconds # features/steps/patroni_api.py:39 600s Jan 19 21:37:30 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 600s Jan 19 21:37:30 600s Jan 19 21:37:30 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 600s Jan 19 21:37:30 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 602s Jan 19 21:37:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 602s Jan 19 21:37:31 When I sleep for 2 seconds # features/steps/patroni_api.py:39 603s Jan 19 21:37:33 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 603s Jan 19 21:37:33 603s Jan 19 21:37:33 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 603s Jan 19 21:37:33 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 603s Jan 19 21:37:33 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 605s Jan 19 21:37:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 605s Jan 19 21:37:35 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 606s Jan 19 21:37:36 606s Jan 19 21:37:36 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 606s Jan 19 21:37:36 Given I shut down postgres0 # features/steps/basic_replication.py:29 608s Jan 19 21:37:38 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 608s Jan 19 21:37:38 608s Jan 19 21:37:38 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 608s Jan 19 21:37:38 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 608s Jan 19 21:37:38 And I start postgres0 with watchdog # features/steps/watchdog.py:16 611s Jan 19 21:37:41 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 613s Jan 19 21:37:43 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 613s Jan 19 21:37:43 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 640s Jan 19 21:38:10 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.4961.XuBkSOBx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5006.XQgMEtXx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5045.XrqwqbEx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5114.XuJBOXux 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5162.XuDSzBox 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5237.XYZhuoYx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5287.XMWxPElx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5290.XXoTFeqx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5376.Xlemmqux 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5479.XqzAymJx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5493.XJlGTtvx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5537.XRrNlfLx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5585.XOxuIcvx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5697.XfVxRFCx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5743.XZUbkvUx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5799.XotDeLKx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5890.XetiyOzx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.5940.XgeFBAIx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6027.XMsyKJKx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6082.XgRTfXwx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6146.XworqtVx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6236.XJLtsIgx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6334.XuWUKvXx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6378.XSxWNbkx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6442.XUFnwHux 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6477.XWCpZVJx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6584.XekQzGHx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6634.XpSTTDnx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6649.XmqZSjAx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6690.XFZAqkxx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6738.XhjoCHVx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6743.XAZvmbix 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6782.XgzNgiBx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6826.XSaxREAx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6995.XzNmhcex 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.6997.XGHgObgx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7003.XrBkJJSx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7125.XMnhEmax 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7171.XsnHDuJx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7212.XkiuCURx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7266.XMWxEzix 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7303.XLLyKpwx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7452.XBMgggpx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7520.XKfibejx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7564.XXBkUkcx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7636.XEPoDItx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7712.XDXgttSx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.7760.XYKUWCEx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8133.XxYvpZYx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8177.XvcLKOXx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8404.XBQTRnwx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8470.XbPjiFtx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8524.XjovKKsx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8626.XxapfpRx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8744.XBslmFTx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8876.XsJJaCpx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8920.XFAVAMex 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8922.XNOTJGsx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8925.XEiVtEnx 640s Jan 19 21:38:10 Combined data file .coverage.autopkgtest.8936.Xhzigcux 643s Jan 19 21:38:13 Name Stmts Miss Cover 643s Jan 19 21:38:13 ------------------------------------------------------------------------------------------------------------- 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/__main__.py 199 64 68% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/api.py 780 288 63% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 78 88% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 124 82% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 253 58% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/ha.py 1271 365 71% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 169 79% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 839 216 74% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 127 69% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 37 89% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/utils.py 370 105 72% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 32 72% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/response.py 562 274 51% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 71 65% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 643s Jan 19 21:38:13 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 643s Jan 19 21:38:13 patroni/__init__.py 13 2 85% 643s Jan 19 21:38:13 patroni/__main__.py 199 199 0% 643s Jan 19 21:38:13 patroni/api.py 780 780 0% 643s Jan 19 21:38:13 patroni/async_executor.py 96 69 28% 643s Jan 19 21:38:13 patroni/collections.py 56 15 73% 643s Jan 19 21:38:13 patroni/config.py 371 196 47% 643s Jan 19 21:38:13 patroni/config_generator.py 212 212 0% 643s Jan 19 21:38:13 patroni/ctl.py 941 413 56% 643s Jan 19 21:38:13 patroni/daemon.py 76 76 0% 643s Jan 19 21:38:13 patroni/dcs/__init__.py 654 274 58% 643s Jan 19 21:38:13 patroni/dcs/consul.py 484 484 0% 643s Jan 19 21:38:13 patroni/dcs/etcd3.py 679 346 49% 643s Jan 19 21:38:13 patroni/dcs/etcd.py 603 277 54% 643s Jan 19 21:38:13 patroni/dcs/exhibitor.py 62 62 0% 643s Jan 19 21:38:13 patroni/dcs/kubernetes.py 940 940 0% 643s Jan 19 21:38:13 patroni/dcs/raft.py 319 319 0% 643s Jan 19 21:38:13 patroni/dcs/zookeeper.py 289 289 0% 643s Jan 19 21:38:13 patroni/dynamic_loader.py 35 7 80% 643s Jan 19 21:38:13 patroni/exceptions.py 16 1 94% 643s Jan 19 21:38:13 patroni/file_perm.py 43 15 65% 643s Jan 19 21:38:13 patroni/global_config.py 81 18 78% 643s Jan 19 21:38:13 patroni/ha.py 1271 1271 0% 643s Jan 19 21:38:13 patroni/log.py 221 175 21% 643s Jan 19 21:38:13 patroni/postgresql/__init__.py 822 652 21% 643s Jan 19 21:38:13 patroni/postgresql/available_parameters/__init__.py 24 3 88% 643s Jan 19 21:38:13 patroni/postgresql/bootstrap.py 255 225 12% 643s Jan 19 21:38:13 patroni/postgresql/callback_executor.py 55 34 38% 643s Jan 19 21:38:13 patroni/postgresql/cancellable.py 104 84 19% 643s Jan 19 21:38:13 patroni/postgresql/config.py 839 719 14% 643s Jan 19 21:38:13 patroni/postgresql/connection.py 75 50 33% 643s Jan 19 21:38:13 patroni/postgresql/misc.py 43 30 30% 643s Jan 19 21:38:13 patroni/postgresql/mpp/__init__.py 89 21 76% 643s Jan 19 21:38:13 patroni/postgresql/mpp/citus.py 259 259 0% 643s Jan 19 21:38:13 patroni/postgresql/postmaster.py 170 139 18% 643s Jan 19 21:38:13 patroni/postgresql/rewind.py 416 416 0% 643s Jan 19 21:38:13 patroni/postgresql/slots.py 349 300 14% 643s Jan 19 21:38:13 patroni/postgresql/sync.py 130 96 26% 643s Jan 19 21:38:13 patroni/postgresql/validator.py 157 52 67% 643s Jan 19 21:38:13 patroni/psycopg.py 46 32 30% 643s Jan 19 21:38:13 patroni/raft_controller.py 22 22 0% 643s Jan 19 21:38:13 patroni/request.py 58 6 90% 643s Jan 19 21:38:13 patroni/scripts/__init__.py 0 0 100% 643s Jan 19 21:38:13 patroni/scripts/aws.py 59 59 0% 643s Jan 19 21:38:13 patroni/scripts/barman/__init__.py 0 0 100% 643s Jan 19 21:38:13 patroni/scripts/barman/cli.py 51 51 0% 643s Jan 19 21:38:13 patroni/scripts/barman/config_switch.py 51 51 0% 643s Jan 19 21:38:13 patroni/scripts/barman/recover.py 37 37 0% 643s Jan 19 21:38:13 patroni/scripts/barman/utils.py 94 94 0% 643s Jan 19 21:38:13 patroni/scripts/wale_restore.py 207 207 0% 643s Jan 19 21:38:13 patroni/tags.py 38 11 71% 643s Jan 19 21:38:13 patroni/utils.py 370 186 50% 643s Jan 19 21:38:13 patroni/validator.py 307 221 28% 643s Jan 19 21:38:13 patroni/version.py 1 0 100% 643s Jan 19 21:38:13 patroni/watchdog/__init__.py 2 2 0% 643s Jan 19 21:38:13 patroni/watchdog/base.py 203 203 0% 643s Jan 19 21:38:13 patroni/watchdog/linux.py 135 135 0% 643s Jan 19 21:38:13 ------------------------------------------------------------------------------------------------------------- 643s Jan 19 21:38:13 TOTAL 53257 31855 40% 643s Jan 19 21:38:13 12 features passed, 0 failed, 1 skipped 643s Jan 19 21:38:13 47 scenarios passed, 0 failed, 14 skipped 643s Jan 19 21:38:13 474 steps passed, 0 failed, 121 skipped, 0 undefined 643s Jan 19 21:38:13 Took 7m28.579s 643s + echo '### End 17 acceptance-etcd3 ###' 643s + rm -f '/tmp/pgpass?' 643s ### End 17 acceptance-etcd3 ### 643s ++ id -u 643s + '[' 1000 -eq 0 ']' 643s autopkgtest [21:38:13]: test acceptance-etcd3: -----------------------] 644s autopkgtest [21:38:14]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 644s acceptance-etcd3 PASS 644s autopkgtest [21:38:14]: test acceptance-etcd-basic: preparing testbed 745s autopkgtest [21:39:55]: testbed dpkg architecture: arm64 745s autopkgtest [21:39:55]: testbed apt version: 2.9.18 746s autopkgtest [21:39:56]: @@@@@@@@@@@@@@@@@@@@ test bed setup 746s autopkgtest [21:39:56]: testbed release detected to be: plucky 747s autopkgtest [21:39:57]: updating testbed package index (apt update) 747s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 747s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 747s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 747s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 747s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [778 kB] 748s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB] 748s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [145 kB] 748s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 748s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [265 kB] 748s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 748s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [906 kB] 748s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [10.5 kB] 748s Fetched 2260 kB in 1s (2349 kB/s) 749s Reading package lists... 749s Reading package lists... 750s Building dependency tree... 750s Reading state information... 750s Calculating upgrade... 751s The following packages will be upgraded: 751s dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpgconf 751s gpgsm gpgv keyboxd liblz4-1 libzstd1 zstd 751s 14 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 751s Need to get 3197 kB of archives. 751s After this operation, 69.6 kB of additional disk space will be used. 751s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libzstd1 arm64 1.5.6+dfsg-2 [279 kB] 751s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-wks-client arm64 2.4.4-2ubuntu22 [70.2 kB] 751s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 dirmngr arm64 2.4.4-2ubuntu22 [320 kB] 751s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgsm arm64 2.4.4-2ubuntu22 [227 kB] 751s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-utils arm64 2.4.4-2ubuntu22 [107 kB] 751s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-agent arm64 2.4.4-2ubuntu22 [224 kB] 751s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg arm64 2.4.4-2ubuntu22 [554 kB] 751s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgconf arm64 2.4.4-2ubuntu22 [103 kB] 751s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg all 2.4.4-2ubuntu22 [359 kB] 751s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 keyboxd arm64 2.4.4-2ubuntu22 [75.7 kB] 751s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgv arm64 2.4.4-2ubuntu22 [153 kB] 751s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 liblz4-1 arm64 1.9.4-4 [63.7 kB] 751s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-l10n all 2.4.4-2ubuntu22 [66.4 kB] 751s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 zstd arm64 1.5.6+dfsg-2 [594 kB] 752s Fetched 3197 kB in 1s (4473 kB/s) 752s (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 ... 80201 files and directories currently installed.) 752s Preparing to unpack .../libzstd1_1.5.6+dfsg-2_arm64.deb ... 752s Unpacking libzstd1:arm64 (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 752s Setting up libzstd1:arm64 (1.5.6+dfsg-2) ... 752s (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 ... 80201 files and directories currently installed.) 752s Preparing to unpack .../0-gpg-wks-client_2.4.4-2ubuntu22_arm64.deb ... 752s Unpacking gpg-wks-client (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 752s Preparing to unpack .../1-dirmngr_2.4.4-2ubuntu22_arm64.deb ... 752s Unpacking dirmngr (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Preparing to unpack .../2-gpgsm_2.4.4-2ubuntu22_arm64.deb ... 753s Unpacking gpgsm (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Preparing to unpack .../3-gnupg-utils_2.4.4-2ubuntu22_arm64.deb ... 753s Unpacking gnupg-utils (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Preparing to unpack .../4-gpg-agent_2.4.4-2ubuntu22_arm64.deb ... 753s Unpacking gpg-agent (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Preparing to unpack .../5-gpg_2.4.4-2ubuntu22_arm64.deb ... 753s Unpacking gpg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Preparing to unpack .../6-gpgconf_2.4.4-2ubuntu22_arm64.deb ... 753s Unpacking gpgconf (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Preparing to unpack .../7-gnupg_2.4.4-2ubuntu22_all.deb ... 753s Unpacking gnupg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Preparing to unpack .../8-keyboxd_2.4.4-2ubuntu22_arm64.deb ... 753s Unpacking keyboxd (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Preparing to unpack .../9-gpgv_2.4.4-2ubuntu22_arm64.deb ... 753s Unpacking gpgv (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Setting up gpgv (2.4.4-2ubuntu22) ... 753s (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 ... 80201 files and directories currently installed.) 753s Preparing to unpack .../liblz4-1_1.9.4-4_arm64.deb ... 753s Unpacking liblz4-1:arm64 (1.9.4-4) over (1.9.4-3) ... 753s Setting up liblz4-1:arm64 (1.9.4-4) ... 753s (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 ... 80201 files and directories currently installed.) 753s Preparing to unpack .../gnupg-l10n_2.4.4-2ubuntu22_all.deb ... 753s Unpacking gnupg-l10n (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 753s Preparing to unpack .../zstd_1.5.6+dfsg-2_arm64.deb ... 753s Unpacking zstd (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 753s Setting up gnupg-l10n (2.4.4-2ubuntu22) ... 753s Setting up gpgconf (2.4.4-2ubuntu22) ... 753s Setting up zstd (1.5.6+dfsg-2) ... 753s Setting up gpg (2.4.4-2ubuntu22) ... 753s Setting up gnupg-utils (2.4.4-2ubuntu22) ... 753s Setting up gpg-agent (2.4.4-2ubuntu22) ... 754s Setting up gpgsm (2.4.4-2ubuntu22) ... 754s Setting up dirmngr (2.4.4-2ubuntu22) ... 754s Setting up keyboxd (2.4.4-2ubuntu22) ... 754s Setting up gnupg (2.4.4-2ubuntu22) ... 754s Setting up gpg-wks-client (2.4.4-2ubuntu22) ... 754s Processing triggers for man-db (2.13.0-1) ... 756s Processing triggers for install-info (7.1.1-1) ... 756s Processing triggers for libc-bin (2.40-4ubuntu1) ... 756s Reading package lists... 756s Building dependency tree... 756s Reading state information... 757s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 757s autopkgtest [21:40:07]: upgrading testbed (apt dist-upgrade and autopurge) 757s Reading package lists... 758s Building dependency tree... 758s Reading state information... 758s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 758s Starting 2 pkgProblemResolver with broken count: 0 758s Done 759s Entering ResolveByKeep 759s 760s The following packages were automatically installed and are no longer required: 760s python3.12 python3.12-minimal 760s Use 'sudo apt autoremove' to remove them. 760s The following NEW packages will be installed: 760s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 760s The following packages will be upgraded: 760s libpython3-stdlib python3 python3-minimal 760s 3 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 760s Need to get 5993 kB of archives. 760s After this operation, 24.4 MB of additional disk space will be used. 760s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-3 [879 kB] 761s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-3 [2262 kB] 761s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.13.1-1~exp2 [27.6 kB] 761s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.13.1-1~exp2 [23.9 kB] 761s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-3 [2061 kB] 761s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-3 [729 kB] 761s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.13.1-1~exp2 [10.2 kB] 761s Fetched 5993 kB in 1s (7359 kB/s) 761s Selecting previously unselected package libpython3.13-minimal:arm64. 761s (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 ... 80201 files and directories currently installed.) 761s Preparing to unpack .../libpython3.13-minimal_3.13.1-3_arm64.deb ... 761s Unpacking libpython3.13-minimal:arm64 (3.13.1-3) ... 761s Selecting previously unselected package python3.13-minimal. 761s Preparing to unpack .../python3.13-minimal_3.13.1-3_arm64.deb ... 761s Unpacking python3.13-minimal (3.13.1-3) ... 762s Setting up libpython3.13-minimal:arm64 (3.13.1-3) ... 762s Setting up python3.13-minimal (3.13.1-3) ... 763s (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 ... 80522 files and directories currently installed.) 763s Preparing to unpack .../python3-minimal_3.13.1-1~exp2_arm64.deb ... 763s Unpacking python3-minimal (3.13.1-1~exp2) over (3.12.8-1) ... 763s Setting up python3-minimal (3.13.1-1~exp2) ... 763s (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 ... 80522 files and directories currently installed.) 763s Preparing to unpack .../python3_3.13.1-1~exp2_arm64.deb ... 763s Unpacking python3 (3.13.1-1~exp2) over (3.12.8-1) ... 763s Selecting previously unselected package libpython3.13-stdlib:arm64. 763s Preparing to unpack .../libpython3.13-stdlib_3.13.1-3_arm64.deb ... 763s Unpacking libpython3.13-stdlib:arm64 (3.13.1-3) ... 763s Selecting previously unselected package python3.13. 763s Preparing to unpack .../python3.13_3.13.1-3_arm64.deb ... 763s Unpacking python3.13 (3.13.1-3) ... 763s Preparing to unpack .../libpython3-stdlib_3.13.1-1~exp2_arm64.deb ... 763s Unpacking libpython3-stdlib:arm64 (3.13.1-1~exp2) over (3.12.8-1) ... 763s Setting up libpython3.13-stdlib:arm64 (3.13.1-3) ... 763s Setting up libpython3-stdlib:arm64 (3.13.1-1~exp2) ... 763s Setting up python3.13 (3.13.1-3) ... 765s Setting up python3 (3.13.1-1~exp2) ... 765s /usr/bin/py3clean:101: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 765s for fn in glob1(directory, "%s.*" % fname): 765s Processing triggers for man-db (2.13.0-1) ... 765s Processing triggers for systemd (257-2ubuntu1) ... 766s Reading package lists... 766s Building dependency tree... 766s Reading state information... 766s Starting pkgProblemResolver with broken count: 0 767s Starting 2 pkgProblemResolver with broken count: 0 767s Done 767s The following packages will be REMOVED: 767s python3.12* python3.12-minimal* 768s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 768s After this operation, 8710 kB disk space will be freed. 768s (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 ... 80938 files and directories currently installed.) 768s Removing python3.12 (3.12.8-3) ... 768s Removing python3.12-minimal (3.12.8-3) ... 768s /usr/bin/py3clean:125: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 768s for fn in glob1(directory, "%s.%s.py[co]" % (fname, magic_tag)): 768s Processing triggers for man-db (2.13.0-1) ... 769s Processing triggers for systemd (257-2ubuntu1) ... 769s (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 ... 80910 files and directories currently installed.) 769s Purging configuration files for python3.12-minimal (3.12.8-3) ... 772s Reading package lists... 772s Building dependency tree... 772s Reading state information... 773s Starting pkgProblemResolver with broken count: 0 773s Starting 2 pkgProblemResolver with broken count: 0 773s Done 774s The following NEW packages will be installed: 774s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 774s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 774s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 774s patroni-doc postgresql postgresql-17 postgresql-client-17 774s postgresql-client-common postgresql-common python3-behave python3-cdiff 774s python3-click python3-coverage python3-dateutil python3-dnspython 774s python3-etcd python3-parse python3-parse-type python3-prettytable 774s python3-psutil python3-psycopg2 python3-six python3-wcwidth python3-ydiff 774s python3.12 python3.12-minimal sphinx-rtd-theme-common ssl-cert 774s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 774s Need to get 38.0 MB of archives. 774s After this operation, 137 MB of additional disk space will be used. 774s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.8-3 [2236 kB] 775s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 775s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 775s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 775s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 775s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 267 [37.1 kB] 775s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 775s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 267 [162 kB] 775s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.16-3 [10.7 MB] 775s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.8-3 [667 kB] 775s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 775s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 775s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 775s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-3 [30.9 kB] 775s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 775s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 775s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 775s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 775s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 775s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.8-1 [79.8 kB] 775s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 775s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 775s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 775s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 775s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 775s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 775s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-6 [32.1 kB] 775s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 775s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 775s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.5-1 [269 kB] 776s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 776s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.5-1 [510 kB] 776s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-17 arm64 17.2-1 [1318 kB] 776s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-17 arm64 17.2-1 [15.5 MB] 776s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 17+267 [12.2 kB] 776s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 776s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 776s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 776s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 776s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 776s Preconfiguring packages ... 776s Fetched 38.0 MB in 2s (22.7 MB/s) 776s Selecting previously unselected package python3.12-minimal. 776s (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 ... 80910 files and directories currently installed.) 776s Preparing to unpack .../00-python3.12-minimal_3.12.8-3_arm64.deb ... 776s Unpacking python3.12-minimal (3.12.8-3) ... 776s Selecting previously unselected package fonts-lato. 777s Preparing to unpack .../01-fonts-lato_2.015-1_all.deb ... 777s Unpacking fonts-lato (2.015-1) ... 777s Selecting previously unselected package libjson-perl. 777s Preparing to unpack .../02-libjson-perl_4.10000-1_all.deb ... 777s Unpacking libjson-perl (4.10000-1) ... 777s Selecting previously unselected package libio-pty-perl. 777s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 777s Unpacking libio-pty-perl (1:1.20-1build3) ... 777s Selecting previously unselected package libipc-run-perl. 777s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 777s Unpacking libipc-run-perl (20231003.0-2) ... 777s Selecting previously unselected package postgresql-client-common. 777s Preparing to unpack .../05-postgresql-client-common_267_all.deb ... 777s Unpacking postgresql-client-common (267) ... 777s Selecting previously unselected package ssl-cert. 777s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 777s Unpacking ssl-cert (1.1.3ubuntu1) ... 777s Selecting previously unselected package postgresql-common. 777s Preparing to unpack .../07-postgresql-common_267_all.deb ... 777s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 777s Unpacking postgresql-common (267) ... 777s Selecting previously unselected package etcd-server. 777s Preparing to unpack .../08-etcd-server_3.5.16-3_arm64.deb ... 777s Unpacking etcd-server (3.5.16-3) ... 777s Selecting previously unselected package python3.12. 777s Preparing to unpack .../09-python3.12_3.12.8-3_arm64.deb ... 777s Unpacking python3.12 (3.12.8-3) ... 777s Selecting previously unselected package fonts-font-awesome. 777s Preparing to unpack .../10-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 777s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 777s Selecting previously unselected package libjs-jquery. 777s Preparing to unpack .../11-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 777s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 777s Selecting previously unselected package libjs-underscore. 777s Preparing to unpack .../12-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 777s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 777s Selecting previously unselected package libjs-sphinxdoc. 777s Preparing to unpack .../13-libjs-sphinxdoc_8.1.3-3_all.deb ... 777s Unpacking libjs-sphinxdoc (8.1.3-3) ... 777s Selecting previously unselected package libpq5:arm64. 777s Preparing to unpack .../14-libpq5_17.2-1_arm64.deb ... 777s Unpacking libpq5:arm64 (17.2-1) ... 777s Selecting previously unselected package libtime-duration-perl. 777s Preparing to unpack .../15-libtime-duration-perl_1.21-2_all.deb ... 777s Unpacking libtime-duration-perl (1.21-2) ... 777s Selecting previously unselected package libtimedate-perl. 777s Preparing to unpack .../16-libtimedate-perl_2.3300-2_all.deb ... 777s Unpacking libtimedate-perl (2.3300-2) ... 777s Selecting previously unselected package libxslt1.1:arm64. 777s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 777s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 778s Selecting previously unselected package moreutils. 778s Preparing to unpack .../18-moreutils_0.69-1_arm64.deb ... 778s Unpacking moreutils (0.69-1) ... 778s Selecting previously unselected package python3-click. 778s Preparing to unpack .../19-python3-click_8.1.8-1_all.deb ... 778s Unpacking python3-click (8.1.8-1) ... 778s Selecting previously unselected package python3-dateutil. 778s Preparing to unpack .../20-python3-dateutil_2.9.0-3_all.deb ... 778s Unpacking python3-dateutil (2.9.0-3) ... 778s Selecting previously unselected package python3-wcwidth. 778s Preparing to unpack .../21-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 778s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 778s Selecting previously unselected package python3-prettytable. 778s Preparing to unpack .../22-python3-prettytable_3.12.0-1_all.deb ... 778s Unpacking python3-prettytable (3.12.0-1) ... 778s Selecting previously unselected package python3-psutil. 778s Preparing to unpack .../23-python3-psutil_5.9.8-2build3_arm64.deb ... 778s Unpacking python3-psutil (5.9.8-2build3) ... 778s Selecting previously unselected package python3-psycopg2. 778s Preparing to unpack .../24-python3-psycopg2_2.9.10-1_arm64.deb ... 778s Unpacking python3-psycopg2 (2.9.10-1) ... 778s Selecting previously unselected package python3-dnspython. 778s Preparing to unpack .../25-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 778s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 778s Selecting previously unselected package python3-etcd. 778s Preparing to unpack .../26-python3-etcd_0.4.5-6_all.deb ... 778s Unpacking python3-etcd (0.4.5-6) ... 778s Selecting previously unselected package python3-ydiff. 778s Preparing to unpack .../27-python3-ydiff_1.4.2-1_all.deb ... 778s Unpacking python3-ydiff (1.4.2-1) ... 778s Selecting previously unselected package python3-cdiff. 778s Preparing to unpack .../28-python3-cdiff_1.4.2-1_all.deb ... 778s Unpacking python3-cdiff (1.4.2-1) ... 778s Selecting previously unselected package patroni. 778s Preparing to unpack .../29-patroni_3.3.5-1_all.deb ... 778s Unpacking patroni (3.3.5-1) ... 778s Selecting previously unselected package sphinx-rtd-theme-common. 778s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 778s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 778s Selecting previously unselected package patroni-doc. 778s Preparing to unpack .../31-patroni-doc_3.3.5-1_all.deb ... 778s Unpacking patroni-doc (3.3.5-1) ... 778s Selecting previously unselected package postgresql-client-17. 778s Preparing to unpack .../32-postgresql-client-17_17.2-1_arm64.deb ... 778s Unpacking postgresql-client-17 (17.2-1) ... 778s Selecting previously unselected package postgresql-17. 778s Preparing to unpack .../33-postgresql-17_17.2-1_arm64.deb ... 778s Unpacking postgresql-17 (17.2-1) ... 779s Selecting previously unselected package postgresql. 779s Preparing to unpack .../34-postgresql_17+267_all.deb ... 779s Unpacking postgresql (17+267) ... 779s Selecting previously unselected package python3-parse. 779s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 779s Unpacking python3-parse (1.20.2-1) ... 779s Selecting previously unselected package python3-six. 779s Preparing to unpack .../36-python3-six_1.17.0-1_all.deb ... 779s Unpacking python3-six (1.17.0-1) ... 779s Selecting previously unselected package python3-parse-type. 779s Preparing to unpack .../37-python3-parse-type_0.6.4-1_all.deb ... 779s Unpacking python3-parse-type (0.6.4-1) ... 779s Selecting previously unselected package python3-behave. 779s Preparing to unpack .../38-python3-behave_1.2.6-6_all.deb ... 779s Unpacking python3-behave (1.2.6-6) ... 779s Selecting previously unselected package python3-coverage. 779s Preparing to unpack .../39-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 779s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 779s Setting up python3.12-minimal (3.12.8-3) ... 780s Setting up fonts-lato (2.015-1) ... 780s Setting up libio-pty-perl (1:1.20-1build3) ... 780s Setting up python3.12 (3.12.8-3) ... 781s Setting up python3-ydiff (1.4.2-1) ... 781s Setting up libpq5:arm64 (17.2-1) ... 781s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 781s Setting up python3-click (8.1.8-1) ... 782s Setting up python3-psutil (5.9.8-2build3) ... 782s Setting up python3-six (1.17.0-1) ... 782s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 783s Setting up ssl-cert (1.1.3ubuntu1) ... 783s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 783s Setting up python3-psycopg2 (2.9.10-1) ... 784s Setting up libipc-run-perl (20231003.0-2) ... 784s Setting up libtime-duration-perl (1.21-2) ... 784s Setting up libtimedate-perl (2.3300-2) ... 784s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 784s Setting up python3-parse (1.20.2-1) ... 784s Setting up libjson-perl (4.10000-1) ... 784s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 784s Setting up python3-dateutil (2.9.0-3) ... 785s Setting up etcd-server (3.5.16-3) ... 785s info: Selecting UID from range 100 to 999 ... 785s 785s info: Selecting GID from range 100 to 999 ... 785s info: Adding system user `etcd' (UID 107) ... 785s info: Adding new group `etcd' (GID 111) ... 785s info: Adding new user `etcd' (UID 107) with group `etcd' ... 785s info: Creating home directory `/var/lib/etcd/' ... 785s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 785s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 786s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 786s Setting up python3-prettytable (3.12.0-1) ... 786s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 786s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 786s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 786s Setting up postgresql-client-common (267) ... 786s Setting up moreutils (0.69-1) ... 786s Setting up postgresql-client-17 (17.2-1) ... 787s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 787s Setting up python3-etcd (0.4.5-6) ... 787s Setting up python3-cdiff (1.4.2-1) ... 787s Setting up python3-parse-type (0.6.4-1) ... 787s Setting up postgresql-common (267) ... 788s Creating config file /etc/postgresql-common/createcluster.conf with new version 788s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 788s Removing obsolete dictionary files: 788s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 789s Setting up libjs-sphinxdoc (8.1.3-3) ... 789s Setting up python3-behave (1.2.6-6) ... 789s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 789s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 789s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 789s """Registers a custom type that will be available to "parse" 789s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 789s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 789s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 789s """Registers a custom type that will be available to "parse" 789s Setting up patroni (3.3.5-1) ... 789s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 790s Setting up postgresql-17 (17.2-1) ... 790s Creating new PostgreSQL cluster 17/main ... 790s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 790s The files belonging to this database system will be owned by user "postgres". 790s This user must also own the server process. 790s 790s The database cluster will be initialized with locale "C.UTF-8". 790s The default database encoding has accordingly been set to "UTF8". 790s The default text search configuration will be set to "english". 790s 790s Data page checksums are disabled. 790s 790s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 790s creating subdirectories ... ok 790s selecting dynamic shared memory implementation ... posix 790s selecting default "max_connections" ... 100 790s selecting default "shared_buffers" ... 128MB 790s selecting default time zone ... Etc/UTC 790s creating configuration files ... ok 791s running bootstrap script ... ok 791s performing post-bootstrap initialization ... ok 791s syncing data to disk ... ok 794s Setting up patroni-doc (3.3.5-1) ... 794s Setting up postgresql (17+267) ... 795s Processing triggers for systemd (257-2ubuntu1) ... 795s Processing triggers for man-db (2.13.0-1) ... 795s Processing triggers for libc-bin (2.40-4ubuntu1) ... 798s autopkgtest [21:40:48]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 798s autopkgtest [21:40:48]: test acceptance-etcd-basic: [----------------------- 798s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 799s ○ etcd.service - etcd - highly-available key value store 799s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 799s Active: inactive (dead) since Sun 2025-01-19 21:40:49 UTC; 12ms ago 799s Duration: 12.640s 799s Invocation: 8189edb532674159a4ee2540955229ca 799s Docs: https://etcd.io/docs 799s man:etcd 799s Process: 2687 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 799s Main PID: 2687 (code=killed, signal=TERM) 799s Mem peak: 7M 799s CPU: 137ms 799s 799s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.003022Z","caller":"embed/etcd.go:378","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 799s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"warn","ts":"2025-01-19T21:40:49.003120Z","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"} 799s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"warn","ts":"2025-01-19T21:40:49.003472Z","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"} 799s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.003494Z","caller":"etcdserver/server.go:1543","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 799s Jan 19 21:40:49 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 799s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.007099Z","caller":"embed/etcd.go:582","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 799s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.007260Z","caller":"embed/etcd.go:587","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 799s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.007289Z","caller":"embed/etcd.go:380","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 799s Jan 19 21:40:49 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 799s Jan 19 21:40:49 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 799s ++ ls -1r /usr/lib/postgresql/ 799s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 799s + '[' 17 == 10 -o 17 == 11 ']' 799s + echo '### PostgreSQL 17 acceptance-etcd features/basic_replication.feature ###' 799s ### PostgreSQL 17 acceptance-etcd features/basic_replication.feature ### 799s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=etcd PATH=/usr/lib/postgresql/17/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' 801s Jan 19 21:40:51 Feature: basic replication # features/basic_replication.feature:1 801s Jan 19 21:40:51 We should check that the basic bootstrapping, replication and failover works. 801s Jan 19 21:40:51 Scenario: check replication of a single table # features/basic_replication.feature:4 801s Jan 19 21:40:51 Given I start postgres0 # features/steps/basic_replication.py:8 804s Jan 19 21:40:54 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 804s Jan 19 21:40:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 804s Jan 19 21:40:54 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 804s Jan 19 21:40:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 804s Jan 19 21:40:54 When I start postgres1 # features/steps/basic_replication.py:8 808s Jan 19 21:40:58 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 812s Jan 19 21:41:02 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 812s Jan 19 21:41:02 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 812s Jan 19 21:41:02 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 813s Jan 19 21:41:03 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 813s Jan 19 21:41:03 813s Jan 19 21:41:03 Scenario: check restart of sync replica # features/basic_replication.feature:17 813s Jan 19 21:41:03 Given I shut down postgres2 # features/steps/basic_replication.py:29 814s Jan 19 21:41:04 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 814s Jan 19 21:41:04 When I start postgres2 # features/steps/basic_replication.py:8 817s Jan 19 21:41:07 And I shut down postgres1 # features/steps/basic_replication.py:29 820s Jan 19 21:41:10 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 820s Jan 19 21:41:10 When I start postgres1 # features/steps/basic_replication.py:8 823s Jan 19 21:41:13 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 823s Jan 19 21:41:13 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 823s Jan 19 21:41:13 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 823s Jan 19 21:41:13 823s Jan 19 21:41:13 Scenario: check stuck sync replica # features/basic_replication.feature:28 823s Jan 19 21:41:13 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 823s Jan 19 21:41:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 823s Jan 19 21:41:13 And I create table on postgres0 # features/steps/basic_replication.py:73 823s Jan 19 21:41:13 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 824s Jan 19 21:41:14 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 824s Jan 19 21:41:14 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 824s Jan 19 21:41:14 And I load data on postgres0 # features/steps/basic_replication.py:84 825s Jan 19 21:41:15 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 828s Jan 19 21:41:18 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 828s Jan 19 21:41:18 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 829s Jan 19 21:41:19 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 829s Jan 19 21:41:19 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 829s Jan 19 21:41:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 829s Jan 19 21:41:19 And I drop table on postgres0 # features/steps/basic_replication.py:73 829s Jan 19 21:41:19 829s Jan 19 21:41:19 Scenario: check multi sync replication # features/basic_replication.feature:44 829s Jan 19 21:41:19 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 829s Jan 19 21:41:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 829s Jan 19 21:41:19 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 833s Jan 19 21:41:23 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 833s Jan 19 21:41:23 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 833s Jan 19 21:41:23 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 833s Jan 19 21:41:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 833s Jan 19 21:41:23 And I shut down postgres1 # features/steps/basic_replication.py:29 836s Jan 19 21:41:26 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 837s Jan 19 21:41:27 When I start postgres1 # features/steps/basic_replication.py:8 840s Jan 19 21:41:30 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 840s Jan 19 21:41:30 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 840s Jan 19 21:41:30 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 840s Jan 19 21:41:30 840s Jan 19 21:41:30 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 840s Jan 19 21:41:30 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 842s Jan 19 21:41:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 842s Jan 19 21:41:32 When I sleep for 2 seconds # features/steps/patroni_api.py:39 844s Jan 19 21:41:34 And I shut down postgres0 # features/steps/basic_replication.py:29 845s Jan 19 21:41:35 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 846s Jan 19 21:41:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 846s Jan 19 21:41:36 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 866s Jan 19 21:41:56 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 867s Jan 19 21:41:57 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 867s Jan 19 21:41:57 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 867s Jan 19 21:41:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 867s Jan 19 21:41:57 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 867s Jan 19 21:41:57 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 871s Jan 19 21:42:01 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 871s Jan 19 21:42:01 871s Jan 19 21:42:01 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 871s Jan 19 21:42:01 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 871s Jan 19 21:42:01 And I start postgres0 # features/steps/basic_replication.py:8 871s Jan 19 21:42:01 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 875s Jan 19 21:42:05 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 875s Jan 19 21:42:05 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 879s Jan 19 21:42:09 879s Jan 19 21:42:09 @reject-duplicate-name 879s Jan 19 21:42:09 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 879s Jan 19 21:42:09 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 881s Jan 19 21:42:11 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 886s Jan 19 21:42:15 887s 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'))") 887s 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'))") 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.4859.XfdeqpYx 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.4904.XKwGgLSx 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.4947.XbwLvFmx 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.5003.XEWSAsjx 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.5050.XMVzQkgx 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.5123.XgLquvMx 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.5172.XGodDqfx 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.5175.XWaoiEox 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.5259.XmRxSahx 887s Jan 19 21:42:17 Combined data file .coverage.autopkgtest.5359.XyTAvzYx 889s Jan 19 21:42:19 Name Stmts Miss Cover 889s Jan 19 21:42:19 ------------------------------------------------------------------------------------------------------------- 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 647 44% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 688 15% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 117 23% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 629 21% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/api.py 780 432 45% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 151 77% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/ha.py 1271 636 50% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/log.py 221 73 67% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 239 71% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 91 64% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 839 260 69% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 13 70% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 188 46% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/utils.py 370 139 62% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/validator.py 307 217 29% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 889s Jan 19 21:42:19 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 889s Jan 19 21:42:19 patroni/__init__.py 13 2 85% 889s Jan 19 21:42:19 patroni/__main__.py 199 199 0% 889s Jan 19 21:42:19 patroni/api.py 780 780 0% 889s Jan 19 21:42:19 patroni/async_executor.py 96 69 28% 889s Jan 19 21:42:19 patroni/collections.py 56 15 73% 889s Jan 19 21:42:19 patroni/config.py 371 196 47% 889s Jan 19 21:42:19 patroni/config_generator.py 212 212 0% 889s Jan 19 21:42:19 patroni/ctl.py 941 665 29% 889s Jan 19 21:42:19 patroni/daemon.py 76 76 0% 889s Jan 19 21:42:19 patroni/dcs/__init__.py 654 313 52% 889s Jan 19 21:42:19 patroni/dcs/consul.py 484 484 0% 889s Jan 19 21:42:19 patroni/dcs/etcd3.py 679 679 0% 889s Jan 19 21:42:19 patroni/dcs/etcd.py 603 232 62% 889s Jan 19 21:42:19 patroni/dcs/exhibitor.py 62 62 0% 889s Jan 19 21:42:19 patroni/dcs/kubernetes.py 940 940 0% 889s Jan 19 21:42:19 patroni/dcs/raft.py 319 319 0% 889s Jan 19 21:42:19 patroni/dcs/zookeeper.py 289 289 0% 889s Jan 19 21:42:19 patroni/dynamic_loader.py 35 7 80% 889s Jan 19 21:42:19 patroni/exceptions.py 16 1 94% 889s Jan 19 21:42:19 patroni/file_perm.py 43 15 65% 889s Jan 19 21:42:19 patroni/global_config.py 81 23 72% 889s Jan 19 21:42:19 patroni/ha.py 1271 1271 0% 889s Jan 19 21:42:19 patroni/log.py 221 175 21% 889s Jan 19 21:42:19 patroni/postgresql/__init__.py 822 652 21% 889s Jan 19 21:42:19 patroni/postgresql/available_parameters/__init__.py 24 6 75% 889s Jan 19 21:42:19 patroni/postgresql/bootstrap.py 255 225 12% 889s Jan 19 21:42:19 patroni/postgresql/callback_executor.py 55 34 38% 889s Jan 19 21:42:19 patroni/postgresql/cancellable.py 104 84 19% 889s Jan 19 21:42:19 patroni/postgresql/config.py 839 719 14% 889s Jan 19 21:42:19 patroni/postgresql/connection.py 75 50 33% 889s Jan 19 21:42:19 patroni/postgresql/misc.py 43 30 30% 889s Jan 19 21:42:19 patroni/postgresql/mpp/__init__.py 89 21 76% 889s Jan 19 21:42:19 patroni/postgresql/mpp/citus.py 259 259 0% 889s Jan 19 21:42:19 patroni/postgresql/postmaster.py 170 139 18% 889s Jan 19 21:42:19 patroni/postgresql/rewind.py 416 416 0% 889s Jan 19 21:42:19 patroni/postgresql/slots.py 349 300 14% 889s Jan 19 21:42:19 patroni/postgresql/sync.py 130 96 26% 889s Jan 19 21:42:19 patroni/postgresql/validator.py 157 52 67% 889s Jan 19 21:42:19 patroni/psycopg.py 46 32 30% 889s Jan 19 21:42:19 patroni/raft_controller.py 22 22 0% 889s Jan 19 21:42:19 patroni/request.py 58 6 90% 889s Jan 19 21:42:19 patroni/scripts/__init__.py 0 0 100% 889s Jan 19 21:42:19 patroni/scripts/aws.py 59 59 0% 889s Jan 19 21:42:19 patroni/scripts/barman/__init__.py 0 0 100% 889s Jan 19 21:42:19 patroni/scripts/barman/cli.py 51 51 0% 889s Jan 19 21:42:19 patroni/scripts/barman/config_switch.py 51 51 0% 889s Jan 19 21:42:19 patroni/scripts/barman/recover.py 37 37 0% 889s Jan 19 21:42:19 patroni/scripts/barman/utils.py 94 94 0% 889s Jan 19 21:42:19 patroni/scripts/wale_restore.py 207 207 0% 889s Jan 19 21:42:19 patroni/tags.py 38 15 61% 889s Jan 19 21:42:19 patroni/utils.py 370 264 29% 889s Jan 19 21:42:19 patroni/validator.py 307 221 28% 889s Jan 19 21:42:19 patroni/version.py 1 0 100% 889s Jan 19 21:42:19 patroni/watchdog/__init__.py 2 2 0% 889s Jan 19 21:42:19 patroni/watchdog/base.py 203 203 0% 889s Jan 19 21:42:19 patroni/watchdog/linux.py 135 135 0% 889s Jan 19 21:42:19 ------------------------------------------------------------------------------------------------------------- 889s Jan 19 21:42:19 TOTAL 52578 33517 36% 889s Jan 19 21:42:19 1 feature passed, 0 failed, 0 skipped 889s Jan 19 21:42:19 7 scenarios passed, 0 failed, 0 skipped 889s Jan 19 21:42:19 68 steps passed, 0 failed, 0 skipped, 0 undefined 889s Jan 19 21:42:19 Took 1m20.790s 889s + echo '### End 17 acceptance-etcd features/basic_replication.feature ###' 889s + rm -f '/tmp/pgpass?' 889s ### End 17 acceptance-etcd features/basic_replication.feature ### 889s ++ id -u 889s + '[' 0 -eq 0 ']' 889s + '[' -x /etc/init.d/zookeeper ']' 889s autopkgtest [21:42:19]: test acceptance-etcd-basic: -----------------------] 890s autopkgtest [21:42:20]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 890s acceptance-etcd-basic PASS 890s autopkgtest [21:42:20]: test acceptance-etcd: preparing testbed 890s Reading package lists... 891s Building dependency tree... 891s Reading state information... 891s Starting pkgProblemResolver with broken count: 0 891s Starting 2 pkgProblemResolver with broken count: 0 891s Done 892s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 893s autopkgtest [21:42:23]: test acceptance-etcd: debian/tests/acceptance etcd 893s autopkgtest [21:42:23]: test acceptance-etcd: [----------------------- 893s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 894s ○ etcd.service - etcd - highly-available key value store 894s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 894s Active: inactive (dead) since Sun 2025-01-19 21:40:49 UTC; 1min 35s ago 894s Duration: 12.640s 894s Invocation: 8189edb532674159a4ee2540955229ca 894s Docs: https://etcd.io/docs 894s man:etcd 894s Process: 2687 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 894s Main PID: 2687 (code=killed, signal=TERM) 894s Mem peak: 7M 894s CPU: 137ms 894s 894s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.003022Z","caller":"embed/etcd.go:378","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 894s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"warn","ts":"2025-01-19T21:40:49.003120Z","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"} 894s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"warn","ts":"2025-01-19T21:40:49.003472Z","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"} 894s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.003494Z","caller":"etcdserver/server.go:1543","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 894s Jan 19 21:40:49 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 894s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.007099Z","caller":"embed/etcd.go:582","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 894s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.007260Z","caller":"embed/etcd.go:587","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 894s Jan 19 21:40:49 autopkgtest etcd[2687]: {"level":"info","ts":"2025-01-19T21:40:49.007289Z","caller":"embed/etcd.go:380","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 894s Jan 19 21:40:49 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 894s Jan 19 21:40:49 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 894s ++ ls -1r /usr/lib/postgresql/ 894s ### PostgreSQL 17 acceptance-etcd ### 894s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 894s + '[' 17 == 10 -o 17 == 11 ']' 894s + echo '### PostgreSQL 17 acceptance-etcd ###' 894s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=etcd PATH=/usr/lib/postgresql/17/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 896s Jan 19 21:42:26 Feature: basic replication # features/basic_replication.feature:1 896s Jan 19 21:42:26 We should check that the basic bootstrapping, replication and failover works. 896s Jan 19 21:42:26 Scenario: check replication of a single table # features/basic_replication.feature:4 896s Jan 19 21:42:26 Given I start postgres0 # features/steps/basic_replication.py:8 899s Jan 19 21:42:29 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 899s Jan 19 21:42:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 899s Jan 19 21:42:29 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 899s Jan 19 21:42:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 899s Jan 19 21:42:29 When I start postgres1 # features/steps/basic_replication.py:8 902s Jan 19 21:42:32 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 905s Jan 19 21:42:35 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 905s Jan 19 21:42:35 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 905s Jan 19 21:42:35 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 906s Jan 19 21:42:36 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 906s Jan 19 21:42:36 906s Jan 19 21:42:36 Scenario: check restart of sync replica # features/basic_replication.feature:17 906s Jan 19 21:42:36 Given I shut down postgres2 # features/steps/basic_replication.py:29 907s Jan 19 21:42:37 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 907s Jan 19 21:42:37 When I start postgres2 # features/steps/basic_replication.py:8 910s Jan 19 21:42:40 And I shut down postgres1 # features/steps/basic_replication.py:29 913s Jan 19 21:42:43 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 914s Jan 19 21:42:44 When I start postgres1 # features/steps/basic_replication.py:8 917s Jan 19 21:42:47 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 917s Jan 19 21:42:47 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 917s Jan 19 21:42:47 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 917s Jan 19 21:42:47 917s Jan 19 21:42:47 Scenario: check stuck sync replica # features/basic_replication.feature:28 917s Jan 19 21:42: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 917s Jan 19 21:42:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 917s Jan 19 21:42:47 And I create table on postgres0 # features/steps/basic_replication.py:73 917s Jan 19 21:42:47 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 918s Jan 19 21:42:48 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 918s Jan 19 21:42:48 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 918s Jan 19 21:42:48 And I load data on postgres0 # features/steps/basic_replication.py:84 919s Jan 19 21:42:49 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 922s Jan 19 21:42:52 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 922s Jan 19 21:42:52 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 923s Jan 19 21:42:53 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 923s Jan 19 21:42: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 923s Jan 19 21:42:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 923s Jan 19 21:42:53 And I drop table on postgres0 # features/steps/basic_replication.py:73 923s Jan 19 21:42:53 923s Jan 19 21:42:53 Scenario: check multi sync replication # features/basic_replication.feature:44 923s Jan 19 21:42: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 923s Jan 19 21:42:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 923s Jan 19 21:42:53 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 927s Jan 19 21:42:57 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 927s Jan 19 21:42:57 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 927s Jan 19 21:42: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 927s Jan 19 21:42:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 927s Jan 19 21:42:57 And I shut down postgres1 # features/steps/basic_replication.py:29 930s Jan 19 21:43:00 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 931s Jan 19 21:43:01 When I start postgres1 # features/steps/basic_replication.py:8 934s Jan 19 21:43:04 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 934s Jan 19 21:43:04 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 934s Jan 19 21:43:04 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 934s Jan 19 21:43:04 934s Jan 19 21:43:04 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 934s Jan 19 21:43:04 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 936s Jan 19 21:43:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 936s Jan 19 21:43:06 When I sleep for 2 seconds # features/steps/patroni_api.py:39 938s Jan 19 21:43:08 And I shut down postgres0 # features/steps/basic_replication.py:29 939s Jan 19 21:43:09 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 940s Jan 19 21:43:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 940s Jan 19 21:43:10 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 960s Jan 19 21:43:30 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 961s Jan 19 21:43:31 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 961s Jan 19 21:43:31 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 961s Jan 19 21:43:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 961s Jan 19 21:43:31 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 961s Jan 19 21:43:31 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 961s Jan 19 21:43:31 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 963s Jan 19 21:43:33 963s Jan 19 21:43:33 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 963s Jan 19 21:43:33 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 963s Jan 19 21:43:33 And I start postgres0 # features/steps/basic_replication.py:8 963s Jan 19 21:43:33 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 967s Jan 19 21:43:37 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 967s Jan 19 21:43:37 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 970s Jan 19 21:43:40 970s Jan 19 21:43:40 @reject-duplicate-name 970s Jan 19 21:43:40 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 970s Jan 19 21:43:40 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 972s Jan 19 21:43:42 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 977s Jan 19 21:43:47 977s Jan 19 21:43:47 Feature: cascading replication # features/cascading_replication.feature:1 977s Jan 19 21:43:47 We should check that patroni can do base backup and streaming from the replica 977s Jan 19 21:43:47 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 977s Jan 19 21:43:47 Given I start postgres0 # features/steps/basic_replication.py:8 980s Jan 19 21:43:50 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 980s Jan 19 21:43:50 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 983s Jan 19 21:43:53 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 984s Jan 19 21:43:54 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 984s Jan 19 21:43:54 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 984s Jan 19 21:43:54 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 984s Jan 19 21:43:54 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 987s Jan 19 21:43:57 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 988s Jan 19 21:43:58 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 993s Jan 19 21:44:03 993s SKIP FEATURE citus: Citus extension isn't available 993s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 993s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 993s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 993s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 993s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extension isn't available 993s Jan 19 21:44:03 Feature: citus # features/citus.feature:1 993s Jan 19 21:44:03 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 993s Jan 19 21:44:03 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 993s Jan 19 21:44:03 Given I start postgres0 in citus group 0 # None 993s Jan 19 21:44:03 And I start postgres2 in citus group 1 # None 993s Jan 19 21:44:03 Then postgres0 is a leader in a group 0 after 10 seconds # None 993s Jan 19 21:44:03 And postgres2 is a leader in a group 1 after 10 seconds # None 993s Jan 19 21:44:03 When I start postgres1 in citus group 0 # None 993s Jan 19 21:44:03 And I start postgres3 in citus group 1 # None 993s Jan 19 21:44:03 Then replication works from postgres0 to postgres1 after 15 seconds # None 993s Jan 19 21:44:03 Then replication works from postgres2 to postgres3 after 15 seconds # None 993s Jan 19 21:44:03 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 993s Jan 19 21:44:03 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 993s Jan 19 21:44:03 993s Jan 19 21:44:03 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 993s Jan 19 21:44:03 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 993s Jan 19 21:44:03 Then postgres1 role is the primary after 10 seconds # None 993s Jan 19 21:44:03 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 993s Jan 19 21:44:03 And replication works from postgres1 to postgres0 after 15 seconds # None 993s Jan 19 21:44:03 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 993s Jan 19 21:44:03 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 993s Jan 19 21:44:03 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 993s Jan 19 21:44:03 Then postgres0 role is the primary after 10 seconds # None 993s Jan 19 21:44:03 And replication works from postgres0 to postgres1 after 15 seconds # None 993s Jan 19 21:44:03 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 993s Jan 19 21:44:03 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 993s Jan 19 21:44:03 993s Jan 19 21:44:03 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 993s Jan 19 21:44:03 Given I create a distributed table on postgres0 # None 993s Jan 19 21:44:03 And I start a thread inserting data on postgres0 # None 993s Jan 19 21:44:03 When I run patronictl.py switchover batman --group 1 --force # None 993s Jan 19 21:44:03 Then I receive a response returncode 0 # None 993s Jan 19 21:44:03 And postgres3 role is the primary after 10 seconds # None 993s Jan 19 21:44:03 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 993s Jan 19 21:44:03 And replication works from postgres3 to postgres2 after 15 seconds # None 993s Jan 19 21:44:03 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 993s Jan 19 21:44:03 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 993s Jan 19 21:44:03 And a thread is still alive # None 993s Jan 19 21:44:03 When I run patronictl.py switchover batman --group 1 --force # None 993s Jan 19 21:44:03 Then I receive a response returncode 0 # None 993s Jan 19 21:44:03 And postgres2 role is the primary after 10 seconds # None 993s Jan 19 21:44:03 And replication works from postgres2 to postgres3 after 15 seconds # None 993s Jan 19 21:44:03 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 993s Jan 19 21:44:03 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 993s Jan 19 21:44:03 And a thread is still alive # None 993s Jan 19 21:44:03 When I stop a thread # None 993s Jan 19 21:44:03 Then a distributed table on postgres0 has expected rows # None 993s Jan 19 21:44:03 993s Jan 19 21:44:03 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 993s Jan 19 21:44:03 Given I cleanup a distributed table on postgres0 # None 993s Jan 19 21:44:03 And I start a thread inserting data on postgres0 # None 993s Jan 19 21:44:03 When I run patronictl.py restart batman postgres2 --group 1 --force # None 993s Jan 19 21:44:03 Then I receive a response returncode 0 # None 993s Jan 19 21:44:03 And postgres2 role is the primary after 10 seconds # None 993s Jan 19 21:44:03 And replication works from postgres2 to postgres3 after 15 seconds # None 993s Jan 19 21:44:03 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 993s Jan 19 21:44:03 And a thread is still alive # None 993s Jan 19 21:44:03 When I stop a thread # None 993s Jan 19 21:44:03 Then a distributed table on postgres0 has expected rows # None 993s Jan 19 21:44:03 993s Jan 19 21:44:03 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 993s Jan 19 21:44:03 Given I start postgres4 in citus group 2 # None 993s Jan 19 21:44:03 Then postgres4 is a leader in a group 2 after 10 seconds # None 993s Jan 19 21:44:03 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 993s Jan 19 21:44:03 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 993s Jan 19 21:44:03 Then I receive a response returncode 0 # None 993s Jan 19 21:44:03 And I receive a response output "+ttl: 20" # None 993s Jan 19 21:44:03 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 993s Jan 19 21:44:03 When I shut down postgres4 # None 993s Jan 19 21:44:03 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 993s Jan 19 21:44:03 When I run patronictl.py restart batman postgres2 --group 1 --force # None 993s Jan 19 21:44:03 Then a transaction finishes in 20 seconds # None 993s Jan 19 21:44:03 993s Jan 19 21:44:03 Feature: custom bootstrap # features/custom_bootstrap.feature:1 993s Jan 19 21:44:03 We should check that patroni can bootstrap a new cluster from a backup 993s Jan 19 21:44:03 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 993s Jan 19 21:44:03 Given I start postgres0 # features/steps/basic_replication.py:8 996s Jan 19 21:44:06 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 996s Jan 19 21:44:06 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 996s Jan 19 21:44:06 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1000s Jan 19 21:44:10 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1001s Jan 19 21:44:11 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1001s Jan 19 21:44:11 1001s Jan 19 21:44:11 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1001s Jan 19 21:44:11 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1001s Jan 19 21:44:11 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1002s Jan 19 21:44:11 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1007s Jan 19 21:44:17 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1007s Jan 19 21:44:17 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1013s Jan 19 21:44:23 1013s Jan 19 21:44:23 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1013s Jan 19 21:44:23 We should check the basic dcs failsafe mode functioning 1013s Jan 19 21:44:23 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1013s Jan 19 21:44:23 Given I start postgres0 # features/steps/basic_replication.py:8 1016s Jan 19 21:44:26 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1016s Jan 19 21:44:26 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1016s Jan 19 21:44:26 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 1016s Jan 19 21:44:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 1016s Jan 19 21:44:26 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1016s Jan 19 21:44:26 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1016s Jan 19 21:44:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 1016s Jan 19 21:44:26 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1016s Jan 19 21:44: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 1016s Jan 19 21:44:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 1016s Jan 19 21:44: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 1016s Jan 19 21:44:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 1016s Jan 19 21:44:26 1016s Jan 19 21:44:26 @dcs-failsafe 1016s Jan 19 21:44:26 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1016s Jan 19 21:44:26 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1016s Jan 19 21:44: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 1022s Jan 19 21:44:32 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1022s Jan 19 21:44:32 1022s Jan 19 21:44:32 @dcs-failsafe 1022s Jan 19 21:44:32 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1022s Jan 19 21:44:32 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1022s Jan 19 21:44:32 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1023s Jan 19 21:44:33 And I shut down postgres0 # features/steps/basic_replication.py:29 1025s Jan 19 21:44:35 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1028s Jan 19 21:44:38 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1028s Jan 19 21:44:38 1028s Jan 19 21:44:38 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1028s Jan 19 21:44:38 Given I start postgres0 # features/steps/basic_replication.py:8 1031s Jan 19 21:44:41 And I start postgres1 # features/steps/basic_replication.py:8 1031s Jan 19 21:44:41 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1031s Jan 19 21:44:41 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1031s Jan 19 21:44:41 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1033s Jan 19 21:44:43 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1033s Jan 19 21:44:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 1033s Jan 19 21:44:43 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1033s Jan 19 21:44:43 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1033s Jan 19 21:44:43 1033s Jan 19 21:44:43 @dcs-failsafe @slot-advance 1033s Jan 19 21:44:43 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1033s Jan 19 21:44:43 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1033s Jan 19 21:44:43 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1040s Jan 19 21:44:50 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1040s Jan 19 21:44:50 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1040s Jan 19 21:44:50 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 1046s Jan 19 21:44:56 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1046s Jan 19 21:44:56 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1046s Jan 19 21:44:56 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1047s Jan 19 21:44:57 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1047s Jan 19 21:44:57 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1047s Jan 19 21:44:57 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1051s Jan 19 21:45:01 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1051s Jan 19 21:45:01 1051s Jan 19 21:45:01 @dcs-failsafe 1051s Jan 19 21:45:01 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1051s Jan 19 21:45:01 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1051s Jan 19 21:45:01 And I kill postgres1 # features/steps/basic_replication.py:34 1052s Jan 19 21:45:02 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1052s Jan 19 21:45:02 waiting for server to shut down.... done 1052s Jan 19 21:45:02 server stopped 1052s Jan 19 21:45:02 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1054s Jan 19 21:45:04 1054s Jan 19 21:45:04 @dcs-failsafe 1054s Jan 19 21:45:04 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1054s Jan 19 21:45:04 Given I kill postgres0 # features/steps/basic_replication.py:34 1055s Jan 19 21:45:05 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1055s Jan 19 21:45:05 waiting for server to shut down.... done 1055s Jan 19 21:45:05 server stopped 1055s Jan 19 21:45:05 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1055s Jan 19 21:45:05 When I start postgres1 # features/steps/basic_replication.py:8 1058s Jan 19 21:45:08 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1058s Jan 19 21:45:08 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1060s Jan 19 21:45:10 1060s Jan 19 21:45:10 @dcs-failsafe 1060s Jan 19 21:45:10 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1060s Jan 19 21:45:10 Given I start postgres0 # features/steps/basic_replication.py:8 1065s Jan 19 21:45:15 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1068s Jan 19 21:45:18 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1069s Jan 19 21:45:19 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1069s Jan 19 21:45:19 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1069s Jan 19 21:45:19 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1070s Jan 19 21:45:20 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1071s Jan 19 21:45:21 1071s Jan 19 21:45:21 @dcs-failsafe @slot-advance 1071s Jan 19 21:45:21 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1071s Jan 19 21:45:21 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"postgres2":0,"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1071s Jan 19 21:45:21 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1077s Jan 19 21:45:27 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1078s Jan 19 21:45:28 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1078s Jan 19 21:45:28 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1079s Jan 19 21:45:29 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1079s Jan 19 21:45:29 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1079s Jan 19 21:45:29 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1079s Jan 19 21:45:29 1079s Jan 19 21:45:29 @dcs-failsafe 1079s Jan 19 21:45:29 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 1079s Jan 19 21:45:29 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1079s Jan 19 21:45:29 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 1087s Jan 19 21:45:37 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1087s Jan 19 21:45:37 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1087s Jan 19 21:45:37 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1087s Jan 19 21:45:37 1087s Jan 19 21:45:37 @dcs-failsafe @slot-advance 1087s Jan 19 21:45:37 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 1087s Jan 19 21:45:37 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1087s Jan 19 21:45:37 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1088s Jan 19 21:45:38 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1088s Jan 19 21:45:38 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1088s Jan 19 21:45:38 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1089s Jan 19 21:45:39 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1089s Jan 19 21:45:39 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1089s Jan 19 21:45:39 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1089s Jan 19 21:45:39 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1089s Jan 19 21:45:39 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1095s Jan 19 21:45:45 1095s Jan 19 21:45:45 Feature: ignored slots # features/ignored_slots.feature:1 1095s Jan 19 21:45:45 1095s Jan 19 21:45:45 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1095s Jan 19 21:45:45 Given I start postgres1 # features/steps/basic_replication.py:8 1098s Jan 19 21:45:48 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1098s Jan 19 21:45:48 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1098s Jan 19 21:45:48 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 1098s Jan 19 21:45:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1098s Jan 19 21:45:48 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1098s Jan 19 21:45:48 When I shut down postgres1 # features/steps/basic_replication.py:29 1100s Jan 19 21:45:50 And I start postgres1 # features/steps/basic_replication.py:8 1103s Jan 19 21:45:53 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1103s Jan 19 21:45:53 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1107s Jan 19 21:45:57 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1107s Jan 19 21:45:57 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1107s Jan 19 21:45:57 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1107s Jan 19 21:45:57 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1107s Jan 19 21:45:57 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1107s Jan 19 21:45:57 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1107s Jan 19 21:45:57 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1107s Jan 19 21:45: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 1107s Jan 19 21:45: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 1107s Jan 19 21:45: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 1107s Jan 19 21:45:57 When I start postgres0 # features/steps/basic_replication.py:8 1110s Jan 19 21:46:00 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1111s Jan 19 21:46:01 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1111s Jan 19 21:46:01 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1112s Jan 19 21:46:02 When I shut down postgres1 # features/steps/basic_replication.py:29 1114s Jan 19 21:46:04 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1115s Jan 19 21:46:05 When I start postgres1 # features/steps/basic_replication.py:8 1118s Jan 19 21:46:08 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1118s Jan 19 21:46:08 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1118s Jan 19 21:46:08 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1120s Jan 19 21:46:10 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1120s Jan 19 21:46:10 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1120s Jan 19 21:46:10 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1120s Jan 19 21:46:10 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1120s Jan 19 21:46:10 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1120s Jan 19 21:46:10 When I shut down postgres0 # features/steps/basic_replication.py:29 1122s Jan 19 21:46:12 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1123s Jan 19 21:46:13 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1123s Jan 19 21:46:13 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1123s Jan 19 21:46:13 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1123s Jan 19 21:46:13 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1126s Jan 19 21:46:16 1126s Jan 19 21:46:16 Feature: nostream node # features/nostream_node.feature:1 1126s Jan 19 21:46:16 1126s Jan 19 21:46:16 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1126s Jan 19 21:46:16 When I start postgres0 # features/steps/basic_replication.py:8 1129s Jan 19 21:46:19 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1132s Jan 19 21:46:22 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1133s Jan 19 21:46:23 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1138s Jan 19 21:46:28 1138s Jan 19 21:46:28 @slot-advance 1138s Jan 19 21:46:28 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1138s Jan 19 21:46:28 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 1138s Jan 19 21:46:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1138s Jan 19 21:46:28 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1140s Jan 19 21:46:30 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1141s Jan 19 21:46:31 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1144s Jan 19 21:46:34 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1145s Jan 19 21:46:35 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1145s Jan 19 21:46:35 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1151s Jan 19 21:46:41 1151s Jan 19 21:46:41 Feature: patroni api # features/patroni_api.feature:1 1151s Jan 19 21:46:41 We should check that patroni correctly responds to valid and not-valid API requests. 1151s Jan 19 21:46:41 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1151s Jan 19 21:46:41 Given I start postgres0 # features/steps/basic_replication.py:8 1154s Jan 19 21:46:44 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1154s Jan 19 21:46:44 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1154s Jan 19 21:46:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 1154s Jan 19 21:46:44 And I receive a response state running # features/steps/patroni_api.py:98 1154s Jan 19 21:46:44 And I receive a response role master # features/steps/patroni_api.py:98 1154s Jan 19 21:46:44 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1154s Jan 19 21:46:44 Then I receive a response code 503 # features/steps/patroni_api.py:98 1154s Jan 19 21:46:44 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1154s Jan 19 21:46:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 1154s Jan 19 21:46:44 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1154s Jan 19 21:46:44 Then I receive a response code 503 # features/steps/patroni_api.py:98 1154s Jan 19 21:46:44 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1154s Jan 19 21:46:44 Then I receive a response code 503 # features/steps/patroni_api.py:98 1154s Jan 19 21:46:44 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1154s Jan 19 21:46:44 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1156s Jan 19 21:46:46 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1156s Jan 19 21:46:46 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1156s Jan 19 21:46:46 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1156s Jan 19 21:46:46 Then I receive a response code 412 # features/steps/patroni_api.py:98 1156s Jan 19 21:46:46 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1156s Jan 19 21:46:46 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1156s Jan 19 21:46:46 Then I receive a response code 400 # features/steps/patroni_api.py:98 1156s Jan 19 21:46:46 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1156s Jan 19 21:46:46 Then I receive a response code 400 # features/steps/patroni_api.py:98 1156s Jan 19 21:46:46 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1156s Jan 19 21:46:46 1156s Jan 19 21:46:46 Scenario: check local configuration reload # features/patroni_api.feature:32 1156s Jan 19 21:46:46 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1156s Jan 19 21:46:46 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1156s Jan 19 21:46:46 Then I receive a response code 202 # features/steps/patroni_api.py:98 1156s Jan 19 21:46:46 1156s Jan 19 21:46:46 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1156s Jan 19 21:46:46 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 1156s Jan 19 21:46:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1156s Jan 19 21:46:46 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1158s Jan 19 21:46:48 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1158s Jan 19 21:46:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1158s Jan 19 21:46:48 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1158s Jan 19 21:46:48 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1158s Jan 19 21:46:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1158s Jan 19 21:46:48 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1158s Jan 19 21:46:48 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1162s Jan 19 21:46:52 1162s Jan 19 21:46:52 Scenario: check the scheduled restart # features/patroni_api.feature:49 1162s Jan 19 21:46:52 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1163s Jan 19 21:46:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1163s Jan 19 21:46:53 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1163s Jan 19 21:46:53 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1164s Jan 19 21:46:54 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 1164s Jan 19 21:46:54 Then I receive a response code 202 # features/steps/patroni_api.py:98 1164s Jan 19 21:46:54 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1172s Jan 19 21:47:02 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1172s Jan 19 21:47:02 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 1172s Jan 19 21:47:02 Then I receive a response code 202 # features/steps/patroni_api.py:98 1172s Jan 19 21:47:02 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 1178s Jan 19 21:47:08 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1179s Jan 19 21:47:09 1179s Jan 19 21:47:09 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1179s Jan 19 21:47:09 Given I start postgres1 # features/steps/basic_replication.py:8 1184s Jan 19 21:47:14 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1185s Jan 19 21:47:15 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1187s Jan 19 21:47:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1187s Jan 19 21:47:17 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1187s Jan 19 21:47:17 waiting for server to shut down.... done 1187s Jan 19 21:47:17 server stopped 1187s Jan 19 21:47:17 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1187s Jan 19 21:47:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 1187s Jan 19 21:47:17 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1188s Jan 19 21:47:18 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1192s Jan 19 21:47:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1192s Jan 19 21:47:22 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1193s Jan 19 21:47:23 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1195s Jan 19 21:47:25 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1195s Jan 19 21:47:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1195s Jan 19 21:47:25 And I receive a response state running # features/steps/patroni_api.py:98 1195s Jan 19 21:47:25 And I receive a response role replica # features/steps/patroni_api.py:98 1195s Jan 19 21:47:25 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1199s Jan 19 21:47:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1199s Jan 19 21:47:29 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1199s Jan 19 21:47:29 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1200s Jan 19 21:47:30 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1201s Jan 19 21:47:31 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1203s Jan 19 21:47:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1203s Jan 19 21:47:33 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1203s Jan 19 21:47:33 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1204s Jan 19 21:47:34 1204s Jan 19 21:47:34 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1204s Jan 19 21:47:34 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 1206s Jan 19 21:47:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1206s Jan 19 21:47:36 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1206s Jan 19 21:47:36 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1207s Jan 19 21:47:37 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1209s Jan 19 21:47:39 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1209s Jan 19 21:47:39 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1210s Jan 19 21:47:40 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1210s Jan 19 21:47:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 1210s Jan 19 21:47:40 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1210s Jan 19 21:47:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1210s Jan 19 21:47:40 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1210s Jan 19 21:47:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1210s Jan 19 21:47:40 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1210s Jan 19 21:47:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 1210s Jan 19 21:47:40 1210s Jan 19 21:47:40 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1210s Jan 19 21:47:40 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1212s Jan 19 21:47:42 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1212s Jan 19 21:47:42 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1212s Jan 19 21:47:42 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1213s Jan 19 21:47:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1213s Jan 19 21:47:43 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1214s Jan 19 21:47:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1214s Jan 19 21:47:44 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1225s Jan 19 21:47:55 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1226s Jan 19 21:47:56 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1228s Jan 19 21:47:58 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1229s Jan 19 21:47:58 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1229s Jan 19 21:47:58 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1229s Jan 19 21:47:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1229s Jan 19 21:47:59 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1229s Jan 19 21:47:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 1229s Jan 19 21:47:59 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1229s Jan 19 21:47:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 1229s Jan 19 21:47:59 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1229s Jan 19 21:47:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1233s Jan 19 21:48:03 1233s Jan 19 21:48:03 Feature: permanent slots # features/permanent_slots.feature:1 1233s Jan 19 21:48:03 1233s Jan 19 21:48:03 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1233s Jan 19 21:48:03 Given I start postgres0 # features/steps/basic_replication.py:8 1237s Jan 19 21:48:07 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1237s Jan 19 21:48:07 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1237s Jan 19 21:48:07 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 1237s Jan 19 21:48:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1237s Jan 19 21:48:07 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1237s Jan 19 21:48:07 When I start postgres1 # features/steps/basic_replication.py:8 1240s Jan 19 21:48:10 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 1243s Jan 19 21:48:13 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1246s Jan 19 21:48:16 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1246s Jan 19 21:48:16 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1246s Jan 19 21:48:16 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1246s Jan 19 21:48:16 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1246s Jan 19 21:48:16 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 1246s Jan 19 21:48:16 1246s Jan 19 21:48:16 @slot-advance 1246s Jan 19 21:48:16 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1246s Jan 19 21:48:16 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1249s Jan 19 21:48:19 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 1249s Jan 19 21:48:19 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1250s Jan 19 21:48:20 1250s Jan 19 21:48:20 @slot-advance 1250s Jan 19 21:48:20 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1250s Jan 19 21:48:20 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1255s Jan 19 21:48:25 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1255s Jan 19 21:48:25 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1256s Jan 19 21:48:26 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1256s Jan 19 21:48:26 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1256s Jan 19 21:48:26 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1256s Jan 19 21:48:26 1256s Jan 19 21:48:26 @slot-advance 1256s Jan 19 21:48:26 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1256s Jan 19 21:48:26 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1256s Jan 19 21:48:26 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1256s Jan 19 21:48:26 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1256s Jan 19 21:48:26 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 1256s Jan 19 21:48:26 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 1256s Jan 19 21:48:26 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1256s Jan 19 21:48:26 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1256s Jan 19 21:48:26 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1256s Jan 19 21:48:26 1256s Jan 19 21:48:26 @slot-advance 1256s Jan 19 21:48:26 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1256s Jan 19 21:48:26 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1256s Jan 19 21:48:26 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1256s Jan 19 21:48:26 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1256s Jan 19 21:48:26 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1257s Jan 19 21:48:27 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1257s Jan 19 21:48:27 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1257s Jan 19 21:48:27 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1257s Jan 19 21:48:27 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1259s Jan 19 21:48:29 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1259s Jan 19 21:48:29 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1259s Jan 19 21:48:29 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1259s Jan 19 21:48:29 1259s Jan 19 21:48:29 @slot-advance 1259s Jan 19 21:48:29 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 1259s Jan 19 21:48:29 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 1259s Jan 19 21:48:29 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 1259s Jan 19 21:48:29 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 1259s Jan 19 21:48:29 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 1259s Jan 19 21:48:29 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 1259s Jan 19 21:48:29 1259s Jan 19 21:48:29 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 1259s Jan 19 21:48:29 Given I shut down postgres3 # features/steps/basic_replication.py:29 1260s Jan 19 21:48:30 And I shut down postgres2 # features/steps/basic_replication.py:29 1261s Jan 19 21:48:31 And I shut down postgres0 # features/steps/basic_replication.py:29 1263s Jan 19 21:48:33 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1263s Jan 19 21:48:33 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1263s Jan 19 21:48:33 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1263s Jan 19 21:48:33 When I start postgres0 # features/steps/basic_replication.py:8 1266s Jan 19 21:48:36 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 1266s Jan 19 21:48:36 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1266s Jan 19 21:48:36 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1269s Jan 19 21:48:39 1269s Jan 19 21:48:39 Feature: priority replication # features/priority_failover.feature:1 1269s Jan 19 21:48:39 We should check that we can give nodes priority during failover 1269s Jan 19 21:48:39 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1269s Jan 19 21:48:39 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1272s Jan 19 21:48:42 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1275s Jan 19 21:48:45 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1276s Jan 19 21:48:46 When I shut down postgres0 # features/steps/basic_replication.py:29 1278s Jan 19 21:48:48 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 1280s Jan 19 21:48:50 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1280s Jan 19 21:48:50 When I start postgres0 # features/steps/basic_replication.py:8 1283s Jan 19 21:48:53 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1284s Jan 19 21:48:54 1284s Jan 19 21:48:54 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1284s Jan 19 21:48:54 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1287s Jan 19 21:48:57 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1290s Jan 19 21:49:00 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1292s Jan 19 21:49:02 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1293s Jan 19 21:49:03 When I shut down postgres0 # features/steps/basic_replication.py:29 1295s Jan 19 21:49:05 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1296s Jan 19 21:49:06 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 1296s Jan 19 21:49:06 1296s Jan 19 21:49:06 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1296s Jan 19 21:49:06 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1296s Jan 19 21:49:06 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1296s Jan 19 21:49:06 Then I receive a response code 202 # features/steps/patroni_api.py:98 1296s Jan 19 21:49:06 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 1297s Jan 19 21:49:07 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1298s Jan 19 21:49:08 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1298s Jan 19 21:49:08 Then I receive a response code 412 # features/steps/patroni_api.py:98 1298s Jan 19 21:49:08 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1298s Jan 19 21:49:08 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1298s Jan 19 21:49:08 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1298s Jan 19 21:49:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 1298s Jan 19 21:49:08 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 1300s Jan 19 21:49:10 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1301s Jan 19 21:49:11 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1303s Jan 19 21:49:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1303s Jan 19 21:49:13 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1308s Jan 19 21:49:18 1308s Jan 19 21:49:18 Feature: recovery # features/recovery.feature:1 1308s Jan 19 21:49:18 We want to check that crashed postgres is started back 1308s Jan 19 21:49:18 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1308s Jan 19 21:49:18 Given I start postgres0 # features/steps/basic_replication.py:8 1311s Jan 19 21:49:21 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1311s Jan 19 21:49:21 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1311s Jan 19 21:49:21 When I start postgres1 # features/steps/basic_replication.py:8 1314s Jan 19 21:49:24 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1314s Jan 19 21:49:24 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1315s Jan 19 21:49:25 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1315s Jan 19 21:49:25 waiting for server to shut down.... done 1315s Jan 19 21:49:25 server stopped 1315s Jan 19 21:49:25 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1319s Jan 19 21:49:28 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1319s Jan 19 21:49:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1319s Jan 19 21:49:29 And I receive a response role master # features/steps/patroni_api.py:98 1319s Jan 19 21:49:29 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1319s Jan 19 21:49:29 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1319s Jan 19 21:49:29 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1322s Jan 19 21:49:32 1322s Jan 19 21:49:32 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1322s Jan 19 21:49:32 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 1322s Jan 19 21:49:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 1322s Jan 19 21:49:32 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1322s Jan 19 21:49:32 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1322s Jan 19 21:49:32 waiting for server to shut down.... done 1322s Jan 19 21:49:32 server stopped 1322s Jan 19 21:49:32 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1324s Jan 19 21:49:34 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1325s Jan 19 21:49:35 1325s Jan 19 21:49:35 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 1325s Jan 19 21:49:35 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"master_start_timeout": null} # features/steps/patroni_api.py:71 1325s Jan 19 21:49:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1325s Jan 19 21:49:35 And postgres0 role is the replica after 10 seconds # features/steps/basic_replication.py:105 1327s Jan 19 21:49:37 When I ensure postgres1 fails to start after a failure # features/steps/recovery.py:6 1327s Jan 19 21:49:37 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1327s Jan 19 21:49:37 waiting for server to shut down.... done 1327s Jan 19 21:49:37 server stopped 1327s Jan 19 21:49:37 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1330s Jan 19 21:49:40 And there is a postgres1_cb.log with "on_role_change demoted batman" in postgres1 data directory # features/steps/cascading_replication.py:12 1333s Jan 19 21:49:43 1333s Jan 19 21:49:43 Feature: standby cluster # features/standby_cluster.feature:1 1333s Jan 19 21:49:43 1333s Jan 19 21:49:43 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1333s Jan 19 21:49:43 Given I start postgres1 # features/steps/basic_replication.py:8 1336s Jan 19 21:49:46 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1336s Jan 19 21:49:46 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1336s Jan 19 21:49:46 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 1336s Jan 19 21:49:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1336s Jan 19 21:49:46 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1336s Jan 19 21:49:46 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1339s Jan 19 21:49:49 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 1339s Jan 19 21:49:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 1339s Jan 19 21:49:49 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1340s Jan 19 21:49:50 When I start postgres0 # features/steps/basic_replication.py:8 1343s Jan 19 21:49:53 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1344s Jan 19 21:49:54 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1345s Jan 19 21:49:55 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1345s Jan 19 21:49:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1345s Jan 19 21:49:55 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1345s Jan 19 21:49:55 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1345s Jan 19 21:49:55 1345s Jan 19 21:49:55 @slot-advance 1345s Jan 19 21:49:55 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1345s Jan 19 21:49:55 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1347s Jan 19 21:49:57 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1352s Jan 19 21:50:02 1352s Jan 19 21:50:02 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1352s Jan 19 21:50:02 When I shut down postgres1 # features/steps/basic_replication.py:29 1354s Jan 19 21:50:04 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1354s Jan 19 21:50:04 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1355s Jan 19 21:50:05 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1355s Jan 19 21:50:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1355s Jan 19 21:50:05 1355s Jan 19 21:50:05 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1355s Jan 19 21:50:05 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1358s Jan 19 21:50:08 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1358s Jan 19 21:50:08 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1358s Jan 19 21:50:08 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1358s Jan 19 21:50:08 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1358s Jan 19 21:50:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 1358s Jan 19 21:50:08 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1358s Jan 19 21:50:08 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1361s Jan 19 21:50:11 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1361s Jan 19 21:50:11 Then I receive a response code 503 # features/steps/patroni_api.py:98 1361s Jan 19 21:50:11 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1361s Jan 19 21:50:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1361s Jan 19 21:50:11 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1361s Jan 19 21:50:11 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1361s Jan 19 21:50:11 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1364s Jan 19 21:50:14 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1364s Jan 19 21:50:14 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1365s Jan 19 21:50:15 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1365s Jan 19 21:50:15 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1365s Jan 19 21:50:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 1365s Jan 19 21:50:15 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1365s Jan 19 21:50:15 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1365s Jan 19 21:50:15 1365s Jan 19 21:50:15 Scenario: check switchover # features/standby_cluster.feature:57 1365s Jan 19 21:50:15 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1369s Jan 19 21:50:19 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1369s Jan 19 21:50:19 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1371s Jan 19 21:50:21 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 1371s Jan 19 21:50:21 1371s Jan 19 21:50:21 Scenario: check failover # features/standby_cluster.feature:63 1371s Jan 19 21:50:21 When I kill postgres2 # features/steps/basic_replication.py:34 1372s Jan 19 21:50:22 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1372s Jan 19 21:50:22 waiting for server to shut down.... done 1372s Jan 19 21:50:22 server stopped 1372s Jan 19 21:50:22 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1391s Jan 19 21:50:41 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1391s Jan 19 21:50:41 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1391s Jan 19 21:50:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 1391s Jan 19 21:50:41 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1391s Jan 19 21:50:41 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1392s Jan 19 21:50:42 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 1396s Jan 19 21:50:46 1396s Jan 19 21:50:46 Feature: watchdog # features/watchdog.feature:1 1396s Jan 19 21:50:46 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1396s Jan 19 21:50:46 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1396s Jan 19 21:50:46 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1399s Jan 19 21:50:49 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1399s Jan 19 21:50:49 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1399s Jan 19 21:50:49 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1400s Jan 19 21:50:50 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1400s Jan 19 21:50:50 1400s Jan 19 21:50:50 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1400s Jan 19 21:50:50 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1402s Jan 19 21:50:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1402s Jan 19 21:50:52 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1402s Jan 19 21:50:52 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1406s Jan 19 21:50:56 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1406s Jan 19 21:50:56 1406s Jan 19 21:50:56 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1406s Jan 19 21:50:56 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1407s Jan 19 21:50:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1407s Jan 19 21:50:57 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1409s Jan 19 21:50:59 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1409s Jan 19 21:50:59 1409s Jan 19 21:50:59 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1409s Jan 19 21:50:59 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1409s Jan 19 21:50:59 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1410s Jan 19 21:51:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1410s Jan 19 21:51:00 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1411s Jan 19 21:51:01 1411s Jan 19 21:51:01 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1411s Jan 19 21:51:01 Given I shut down postgres0 # features/steps/basic_replication.py:29 1413s Jan 19 21:51:03 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1413s Jan 19 21:51:03 1413s Jan 19 21:51:03 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1413s Jan 19 21:51:03 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1413s Jan 19 21:51:03 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1416s Jan 19 21:51:06 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1417s Jan 19 21:51:07 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1417s Jan 19 21:51:07 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1444s Jan 19 21:51:34 1445s 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'))") 1445s 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'))") 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.10040.XQEgNRKx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.10042.XlHbWPCx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.10045.XPBusoZx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.10056.XJhgLkEx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.5566.XYGgeNnx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.5611.XdNVTOpx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.5651.XuJjSJcx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.5705.XgSBHFOx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.5753.XUiKOnUx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.5827.XPNDvdDx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.5876.XPzgaDRx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.5879.XuiATBpx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.5963.XZZaKjrx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6063.XXZcVPhx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6077.XhOoDUmx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6120.XZkiyTcx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6167.XFyBoFZx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6276.XgjJNRBx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6321.XwOTXgWx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6376.XBugyaOx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6466.XUUhSIfx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6809.XKHSSdsx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6884.XhxeZhCx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.6970.XAgDAWmx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7191.XqGFAimx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7243.XloxEMbx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7306.XlAOBsqx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7395.XQiHZRtx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7492.XKOIlJpx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7535.XAieTSqx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7599.XFCvSewx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7632.XbLUJlKx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7780.XeuSwpyx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7830.XdCWcTnx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7845.XylFoLhx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7884.XmCCAAFx 1446s Jan 19 21:51:36 Skipping duplicate data .coverage.autopkgtest.7934.XwumNVKx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7939.XScsZufx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.7977.XwmfRVHx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8021.XmikMHox 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8145.XfLSYuBx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8147.XZvmLNLx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8154.XTXbLCVx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8275.XLNDvATx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8322.XfkhQdOx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8361.XKeeDMzx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8405.XXKPSSdx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8449.XTZaBRyx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8589.XHdqSWyx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8652.XzSoSczx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8695.XVGFhRtx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8766.XbzyjYcx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8842.XbcuyFdx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.8889.XlPrwRlx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.9259.XljERChx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.9302.XZXKcocx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.9523.XfTMCplx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.9586.XCLZAyjx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.9639.XarvMKzx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.9752.XexSMJDx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.9867.XHIUFwPx 1446s Jan 19 21:51:36 Combined data file .coverage.autopkgtest.9997.XWLCoCux 1448s Jan 19 21:51:38 Name Stmts Miss Cover 1448s Jan 19 21:51:38 ------------------------------------------------------------------------------------------------------------- 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/api.py 780 280 64% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 77 88% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/ha.py 1271 306 76% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 170 79% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 839 214 74% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 129 69% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 18 86% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/utils.py 370 119 68% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1448s Jan 19 21:51:38 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1448s Jan 19 21:51:38 patroni/__init__.py 13 2 85% 1448s Jan 19 21:51:38 patroni/__main__.py 199 199 0% 1448s Jan 19 21:51:38 patroni/api.py 780 780 0% 1448s Jan 19 21:51:38 patroni/async_executor.py 96 69 28% 1448s Jan 19 21:51:38 patroni/collections.py 56 15 73% 1448s Jan 19 21:51:38 patroni/config.py 371 196 47% 1448s Jan 19 21:51:38 patroni/config_generator.py 212 212 0% 1448s Jan 19 21:51:38 patroni/ctl.py 941 413 56% 1448s Jan 19 21:51:38 patroni/daemon.py 76 76 0% 1448s Jan 19 21:51:38 patroni/dcs/__init__.py 654 273 58% 1448s Jan 19 21:51:38 patroni/dcs/consul.py 484 484 0% 1448s Jan 19 21:51:38 patroni/dcs/etcd3.py 679 679 0% 1448s Jan 19 21:51:38 patroni/dcs/etcd.py 603 224 63% 1448s Jan 19 21:51:38 patroni/dcs/exhibitor.py 62 62 0% 1448s Jan 19 21:51:38 patroni/dcs/kubernetes.py 940 940 0% 1448s Jan 19 21:51:38 patroni/dcs/raft.py 319 319 0% 1448s Jan 19 21:51:38 patroni/dcs/zookeeper.py 289 289 0% 1448s Jan 19 21:51:38 patroni/dynamic_loader.py 35 7 80% 1448s Jan 19 21:51:38 patroni/exceptions.py 16 1 94% 1448s Jan 19 21:51:38 patroni/file_perm.py 43 15 65% 1448s Jan 19 21:51:38 patroni/global_config.py 81 18 78% 1448s Jan 19 21:51:38 patroni/ha.py 1271 1271 0% 1448s Jan 19 21:51:38 patroni/log.py 221 175 21% 1448s Jan 19 21:51:38 patroni/postgresql/__init__.py 822 652 21% 1448s Jan 19 21:51:38 patroni/postgresql/available_parameters/__init__.py 24 6 75% 1448s Jan 19 21:51:38 patroni/postgresql/bootstrap.py 255 225 12% 1448s Jan 19 21:51:38 patroni/postgresql/callback_executor.py 55 34 38% 1448s Jan 19 21:51:38 patroni/postgresql/cancellable.py 104 84 19% 1448s Jan 19 21:51:38 patroni/postgresql/config.py 839 719 14% 1448s Jan 19 21:51:38 patroni/postgresql/connection.py 75 50 33% 1448s Jan 19 21:51:38 patroni/postgresql/misc.py 43 30 30% 1448s Jan 19 21:51:38 patroni/postgresql/mpp/__init__.py 89 21 76% 1448s Jan 19 21:51:38 patroni/postgresql/mpp/citus.py 259 259 0% 1448s Jan 19 21:51:38 patroni/postgresql/postmaster.py 170 139 18% 1448s Jan 19 21:51:38 patroni/postgresql/rewind.py 416 416 0% 1448s Jan 19 21:51:38 patroni/postgresql/slots.py 349 300 14% 1448s Jan 19 21:51:38 patroni/postgresql/sync.py 130 96 26% 1448s Jan 19 21:51:38 patroni/postgresql/validator.py 157 52 67% 1448s Jan 19 21:51:38 patroni/psycopg.py 46 32 30% 1448s Jan 19 21:51:38 patroni/raft_controller.py 22 22 0% 1448s Jan 19 21:51:38 patroni/request.py 58 6 90% 1448s Jan 19 21:51:38 patroni/scripts/__init__.py 0 0 100% 1448s Jan 19 21:51:38 patroni/scripts/aws.py 59 59 0% 1448s Jan 19 21:51:38 patroni/scripts/barman/__init__.py 0 0 100% 1448s Jan 19 21:51:38 patroni/scripts/barman/cli.py 51 51 0% 1448s Jan 19 21:51:38 patroni/scripts/barman/config_switch.py 51 51 0% 1448s Jan 19 21:51:38 patroni/scripts/barman/recover.py 37 37 0% 1448s Jan 19 21:51:38 patroni/scripts/barman/utils.py 94 94 0% 1448s Jan 19 21:51:38 patroni/scripts/wale_restore.py 207 207 0% 1448s Jan 19 21:51:38 patroni/tags.py 38 11 71% 1448s Jan 19 21:51:38 patroni/utils.py 370 214 42% 1448s Jan 19 21:51:38 patroni/validator.py 307 221 28% 1448s Jan 19 21:51:38 patroni/version.py 1 0 100% 1448s Jan 19 21:51:38 patroni/watchdog/__init__.py 2 2 0% 1448s Jan 19 21:51:38 patroni/watchdog/base.py 203 203 0% 1448s Jan 19 21:51:38 patroni/watchdog/linux.py 135 135 0% 1448s Jan 19 21:51:38 ------------------------------------------------------------------------------------------------------------- 1448s Jan 19 21:51:38 TOTAL 52578 31746 40% 1448s Jan 19 21:51:38 12 features passed, 0 failed, 1 skipped 1448s Jan 19 21:51:38 56 scenarios passed, 0 failed, 5 skipped 1448s Jan 19 21:51:38 534 steps passed, 0 failed, 61 skipped, 0 undefined 1448s Jan 19 21:51:38 Took 8m19.755s 1448s ### End 17 acceptance-etcd ### 1448s + echo '### End 17 acceptance-etcd ###' 1448s + rm -f '/tmp/pgpass?' 1448s ++ id -u 1448s + '[' 0 -eq 0 ']' 1448s + '[' -x /etc/init.d/zookeeper ']' 1448s autopkgtest [21:51:38]: test acceptance-etcd: -----------------------] 1449s autopkgtest [21:51:39]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1449s acceptance-etcd PASS 1449s autopkgtest [21:51:39]: test acceptance-zookeeper: preparing testbed 1534s autopkgtest [21:53:04]: testbed dpkg architecture: arm64 1534s autopkgtest [21:53:04]: testbed apt version: 2.9.18 1534s autopkgtest [21:53:04]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1535s autopkgtest [21:53:05]: testbed release detected to be: plucky 1535s autopkgtest [21:53:05]: updating testbed package index (apt update) 1536s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1536s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1536s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1536s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1536s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB] 1536s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [145 kB] 1536s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [778 kB] 1536s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 1536s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [265 kB] 1536s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 1536s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [906 kB] 1536s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [10.5 kB] 1536s Fetched 2260 kB in 1s (2428 kB/s) 1537s Reading package lists... 1538s Reading package lists... 1538s Building dependency tree... 1538s Reading state information... 1539s Calculating upgrade... 1539s The following packages will be upgraded: 1539s dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpgconf 1539s gpgsm gpgv keyboxd liblz4-1 libzstd1 zstd 1539s 14 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1539s Need to get 3197 kB of archives. 1539s After this operation, 69.6 kB of additional disk space will be used. 1539s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libzstd1 arm64 1.5.6+dfsg-2 [279 kB] 1540s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-wks-client arm64 2.4.4-2ubuntu22 [70.2 kB] 1540s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 dirmngr arm64 2.4.4-2ubuntu22 [320 kB] 1540s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgsm arm64 2.4.4-2ubuntu22 [227 kB] 1540s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-utils arm64 2.4.4-2ubuntu22 [107 kB] 1540s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-agent arm64 2.4.4-2ubuntu22 [224 kB] 1540s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg arm64 2.4.4-2ubuntu22 [554 kB] 1540s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgconf arm64 2.4.4-2ubuntu22 [103 kB] 1540s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg all 2.4.4-2ubuntu22 [359 kB] 1540s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 keyboxd arm64 2.4.4-2ubuntu22 [75.7 kB] 1540s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgv arm64 2.4.4-2ubuntu22 [153 kB] 1540s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 liblz4-1 arm64 1.9.4-4 [63.7 kB] 1540s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-l10n all 2.4.4-2ubuntu22 [66.4 kB] 1540s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 zstd arm64 1.5.6+dfsg-2 [594 kB] 1540s Fetched 3197 kB in 1s (4466 kB/s) 1540s (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 ... 80201 files and directories currently installed.) 1540s Preparing to unpack .../libzstd1_1.5.6+dfsg-2_arm64.deb ... 1540s Unpacking libzstd1:arm64 (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 1540s Setting up libzstd1:arm64 (1.5.6+dfsg-2) ... 1541s (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 ... 80201 files and directories currently installed.) 1541s Preparing to unpack .../0-gpg-wks-client_2.4.4-2ubuntu22_arm64.deb ... 1541s Unpacking gpg-wks-client (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../1-dirmngr_2.4.4-2ubuntu22_arm64.deb ... 1541s Unpacking dirmngr (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../2-gpgsm_2.4.4-2ubuntu22_arm64.deb ... 1541s Unpacking gpgsm (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../3-gnupg-utils_2.4.4-2ubuntu22_arm64.deb ... 1541s Unpacking gnupg-utils (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../4-gpg-agent_2.4.4-2ubuntu22_arm64.deb ... 1541s Unpacking gpg-agent (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../5-gpg_2.4.4-2ubuntu22_arm64.deb ... 1541s Unpacking gpg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../6-gpgconf_2.4.4-2ubuntu22_arm64.deb ... 1541s Unpacking gpgconf (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../7-gnupg_2.4.4-2ubuntu22_all.deb ... 1541s Unpacking gnupg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../8-keyboxd_2.4.4-2ubuntu22_arm64.deb ... 1541s Unpacking keyboxd (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../9-gpgv_2.4.4-2ubuntu22_arm64.deb ... 1541s Unpacking gpgv (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Setting up gpgv (2.4.4-2ubuntu22) ... 1541s (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 ... 80201 files and directories currently installed.) 1541s Preparing to unpack .../liblz4-1_1.9.4-4_arm64.deb ... 1541s Unpacking liblz4-1:arm64 (1.9.4-4) over (1.9.4-3) ... 1541s Setting up liblz4-1:arm64 (1.9.4-4) ... 1541s (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 ... 80201 files and directories currently installed.) 1541s Preparing to unpack .../gnupg-l10n_2.4.4-2ubuntu22_all.deb ... 1541s Unpacking gnupg-l10n (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 1541s Preparing to unpack .../zstd_1.5.6+dfsg-2_arm64.deb ... 1541s Unpacking zstd (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 1541s Setting up gnupg-l10n (2.4.4-2ubuntu22) ... 1541s Setting up gpgconf (2.4.4-2ubuntu22) ... 1541s Setting up zstd (1.5.6+dfsg-2) ... 1541s Setting up gpg (2.4.4-2ubuntu22) ... 1541s Setting up gnupg-utils (2.4.4-2ubuntu22) ... 1541s Setting up gpg-agent (2.4.4-2ubuntu22) ... 1542s Setting up gpgsm (2.4.4-2ubuntu22) ... 1542s Setting up dirmngr (2.4.4-2ubuntu22) ... 1542s Setting up keyboxd (2.4.4-2ubuntu22) ... 1542s Setting up gnupg (2.4.4-2ubuntu22) ... 1542s Setting up gpg-wks-client (2.4.4-2ubuntu22) ... 1542s Processing triggers for man-db (2.13.0-1) ... 1543s Processing triggers for install-info (7.1.1-1) ... 1543s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1544s Reading package lists... 1544s Building dependency tree... 1544s Reading state information... 1545s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 1545s autopkgtest [21:53:15]: upgrading testbed (apt dist-upgrade and autopurge) 1545s Reading package lists... 1545s Building dependency tree... 1545s Reading state information... 1546s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1546s Starting 2 pkgProblemResolver with broken count: 0 1546s Done 1546s Entering ResolveByKeep 1547s 1547s The following packages were automatically installed and are no longer required: 1547s python3.12 python3.12-minimal 1547s Use 'sudo apt autoremove' to remove them. 1547s The following NEW packages will be installed: 1547s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 1547s The following packages will be upgraded: 1547s libpython3-stdlib python3 python3-minimal 1547s 3 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 1547s Need to get 5993 kB of archives. 1547s After this operation, 24.4 MB of additional disk space will be used. 1547s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-3 [879 kB] 1548s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-3 [2262 kB] 1548s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.13.1-1~exp2 [27.6 kB] 1548s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.13.1-1~exp2 [23.9 kB] 1548s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-3 [2061 kB] 1548s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-3 [729 kB] 1548s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.13.1-1~exp2 [10.2 kB] 1548s Fetched 5993 kB in 1s (7335 kB/s) 1548s Selecting previously unselected package libpython3.13-minimal:arm64. 1548s (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 ... 80201 files and directories currently installed.) 1548s Preparing to unpack .../libpython3.13-minimal_3.13.1-3_arm64.deb ... 1548s Unpacking libpython3.13-minimal:arm64 (3.13.1-3) ... 1548s Selecting previously unselected package python3.13-minimal. 1548s Preparing to unpack .../python3.13-minimal_3.13.1-3_arm64.deb ... 1548s Unpacking python3.13-minimal (3.13.1-3) ... 1548s Setting up libpython3.13-minimal:arm64 (3.13.1-3) ... 1548s Setting up python3.13-minimal (3.13.1-3) ... 1549s (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 ... 80522 files and directories currently installed.) 1549s Preparing to unpack .../python3-minimal_3.13.1-1~exp2_arm64.deb ... 1549s Unpacking python3-minimal (3.13.1-1~exp2) over (3.12.8-1) ... 1549s Setting up python3-minimal (3.13.1-1~exp2) ... 1550s (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 ... 80522 files and directories currently installed.) 1550s Preparing to unpack .../python3_3.13.1-1~exp2_arm64.deb ... 1550s Unpacking python3 (3.13.1-1~exp2) over (3.12.8-1) ... 1550s Selecting previously unselected package libpython3.13-stdlib:arm64. 1550s Preparing to unpack .../libpython3.13-stdlib_3.13.1-3_arm64.deb ... 1550s Unpacking libpython3.13-stdlib:arm64 (3.13.1-3) ... 1550s Selecting previously unselected package python3.13. 1550s Preparing to unpack .../python3.13_3.13.1-3_arm64.deb ... 1550s Unpacking python3.13 (3.13.1-3) ... 1550s Preparing to unpack .../libpython3-stdlib_3.13.1-1~exp2_arm64.deb ... 1550s Unpacking libpython3-stdlib:arm64 (3.13.1-1~exp2) over (3.12.8-1) ... 1550s Setting up libpython3.13-stdlib:arm64 (3.13.1-3) ... 1550s Setting up libpython3-stdlib:arm64 (3.13.1-1~exp2) ... 1550s Setting up python3.13 (3.13.1-3) ... 1551s Setting up python3 (3.13.1-1~exp2) ... 1551s /usr/bin/py3clean:101: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 1551s for fn in glob1(directory, "%s.*" % fname): 1551s Processing triggers for man-db (2.13.0-1) ... 1552s Processing triggers for systemd (257-2ubuntu1) ... 1552s Reading package lists... 1552s Building dependency tree... 1552s Reading state information... 1553s Starting pkgProblemResolver with broken count: 0 1553s Starting 2 pkgProblemResolver with broken count: 0 1553s Done 1553s The following packages will be REMOVED: 1553s python3.12* python3.12-minimal* 1554s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 1554s After this operation, 8710 kB disk space will be freed. 1554s (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 ... 80938 files and directories currently installed.) 1554s Removing python3.12 (3.12.8-3) ... 1554s Removing python3.12-minimal (3.12.8-3) ... 1554s /usr/bin/py3clean:125: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 1554s for fn in glob1(directory, "%s.%s.py[co]" % (fname, magic_tag)): 1554s Processing triggers for man-db (2.13.0-1) ... 1555s Processing triggers for systemd (257-2ubuntu1) ... 1555s (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 ... 80910 files and directories currently installed.) 1555s Purging configuration files for python3.12-minimal (3.12.8-3) ... 1558s Reading package lists... 1558s Building dependency tree... 1558s Reading state information... 1558s Starting pkgProblemResolver with broken count: 0 1558s Starting 2 pkgProblemResolver with broken count: 0 1558s Done 1559s The following NEW packages will be installed: 1559s adwaita-icon-theme at-spi2-common ca-certificates-java 1559s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1559s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1559s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1559s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1559s libapr1t64 libasm-java libasound2-data libasound2t64 1559s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1559s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1559s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1559s libcommons-io-java libcommons-logging-java libcommons-parent-java 1559s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-radeon1 1559s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1559s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1559s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1559s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1559s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1559s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1559s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1559s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1559s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1559s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1559s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1559s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1559s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 1559s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1559s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1559s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 1559s libsnappy1v5 libspring-beans-java libspring-core-java 1559s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 1559s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 1559s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 1559s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 1559s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 1559s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 1559s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 1559s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 1559s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 1559s patroni-doc postgresql postgresql-17 postgresql-client-17 1559s postgresql-client-common postgresql-common python3-behave python3-cdiff 1559s python3-click python3-coverage python3-dateutil python3-dnspython 1559s python3-eventlet python3-gevent python3-greenlet python3-kazoo 1559s python3-kerberos python3-parse python3-parse-type python3-prettytable 1559s python3-psutil python3-psycopg2 python3-pure-sasl python3-six 1559s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 1559s python3.12 python3.12-minimal sphinx-rtd-theme-common ssl-cert ubuntu-mono 1559s x11-common zookeeper zookeeperd 1559s 0 upgraded, 195 newly installed, 0 to remove and 0 not upgraded. 1559s Need to get 133 MB of archives. 1559s After this operation, 480 MB of additional disk space will be used. 1559s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.8-3 [2236 kB] 1560s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 1560s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1560s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 1560s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1560s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 267 [37.1 kB] 1560s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 1560s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 267 [162 kB] 1560s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 ca-certificates-java all 20240118 [11.6 kB] 1560s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 java-common all 0.76 [6852 B] 1560s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 liblcms2-2 arm64 2.16-2 [170 kB] 1560s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-3ubuntu2 [165 kB] 1560s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 1560s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcsclite1 arm64 2.3.1-1 [25.0 kB] 1560s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre-headless arm64 21.0.5+11-1 [45.7 MB] 1562s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre-headless arm64 2:1.21-76 [3176 B] 1562s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 1562s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.23-1 [46.2 kB] 1562s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 1562s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-5ubuntu1 [167 kB] 1562s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [16.9 kB] 1562s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.5.0-0.1 [194 kB] 1562s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 1562s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.12+dfsg-1 [145 kB] 1562s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 gtk-update-icon-cache arm64 4.17.1+ds-2 [52.2 kB] 1562s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 hicolor-icon-theme all 0.18-1 [13.5 kB] 1562s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 humanity-icon-theme all 0.6.16 [1282 kB] 1562s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 1562s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 adwaita-icon-theme all 47.0-2 [525 kB] 1562s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 at-spi2-common all 2.55.0.1-1 [8884 B] 1562s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk1.0-0t64 arm64 2.55.0.1-1 [55.4 kB] 1562s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libxi6 arm64 2:1.8.2-1 [32.4 kB] 1562s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 libatspi2.0-0t64 arm64 2.55.0.1-1 [80.5 kB] 1562s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk-bridge2.0-0t64 arm64 2.55.0.1-1 [66.7 kB] 1562s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 1562s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 1562s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-1.1ubuntu2 [37.4 kB] 1562s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-1.1ubuntu2 [142 kB] 1562s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 1562s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 1562s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 1562s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 1562s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.2-2 [560 kB] 1562s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo-gobject2 arm64 1.18.2-2 [127 kB] 1562s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 libcolord2 arm64 1.4.7-1build2 [149 kB] 1562s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common-data arm64 0.8-14ubuntu1 [30.5 kB] 1562s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common3 arm64 0.8-14ubuntu1 [23.1 kB] 1562s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-client3 arm64 0.8-14ubuntu1 [27.3 kB] 1562s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libcups2t64 arm64 2.4.11-0ubuntu2 [274 kB] 1562s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 libepoxy0 arm64 1.5.10-2 [236 kB] 1562s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 1562s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 10.2.0-1 [490 kB] 1562s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-1.1ubuntu2 [190 kB] 1562s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 1562s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 1562s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 1562s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.56.0-3 [237 kB] 1562s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.56.0-3 [49.6 kB] 1562s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.56.0-3 [27.6 kB] 1562s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-client0 arm64 1.23.0-1 [26.7 kB] 1562s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-cursor0 arm64 1.23.0-1 [10.6 kB] 1562s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-egl1 arm64 1.23.0-1 [5636 B] 1562s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcomposite1 arm64 1:0.4.6-1 [6626 B] 1562s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 1562s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcursor1 arm64 1:1.2.3-1 [22.2 kB] 1563s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 libxdamage1 arm64 1:1.1.6-1build1 [6236 B] 1563s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 libxinerama1 arm64 2:1.1.4-3build1 [6394 B] 1563s Get:68 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 1563s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 libdconf1 arm64 0.40.0-5 [40.0 kB] 1563s Get:70 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-service arm64 0.40.0-5 [27.1 kB] 1563s Get:71 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-gsettings-backend arm64 0.40.0-5 [22.3 kB] 1563s Get:72 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-common all 3.24.43-4ubuntu1 [1203 kB] 1563s Get:73 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-0t64 arm64 3.24.43-4ubuntu1 [2904 kB] 1563s Get:74 http://ftpmaster.internal/ubuntu plucky/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 1563s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 libglapi-mesa arm64 24.2.8-1ubuntu1 [60.0 kB] 1563s Get:76 http://ftpmaster.internal/ubuntu plucky/main arm64 libx11-xcb1 arm64 2:1.8.10-2 [8020 B] 1563s Get:77 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri2-0 arm64 1.17.0-2 [7418 B] 1563s Get:78 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 1563s Get:79 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 1563s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 1563s Get:81 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 1563s Get:82 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 1563s Get:83 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 1563s Get:84 http://ftpmaster.internal/ubuntu plucky/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 1563s Get:85 http://ftpmaster.internal/ubuntu plucky/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 1563s Get:86 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-radeon1 arm64 2.4.123-1 [20.8 kB] 1563s Get:87 http://ftpmaster.internal/ubuntu plucky/main arm64 mesa-libgallium arm64 24.2.8-1ubuntu1 [9039 kB] 1563s Get:88 http://ftpmaster.internal/ubuntu plucky/main arm64 libvulkan1 arm64 1.4.304.0-1 [158 kB] 1563s Get:89 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-server0 arm64 1.23.0-1 [35.7 kB] 1563s Get:90 http://ftpmaster.internal/ubuntu plucky/main arm64 libgbm1 arm64 24.2.8-1ubuntu1 [32.9 kB] 1563s Get:91 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1-mesa-dri arm64 24.2.8-1ubuntu1 [33.5 kB] 1563s Get:92 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx-mesa0 arm64 24.2.8-1ubuntu1 [164 kB] 1563s Get:93 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 1563s Get:94 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 1563s Get:95 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2-data all 1.2.12-1 [21.0 kB] 1563s Get:96 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2t64 arm64 1.2.12-1 [384 kB] 1563s Get:97 http://ftpmaster.internal/ubuntu plucky/main arm64 libgif7 arm64 5.2.2-1ubuntu1 [35.5 kB] 1563s Get:98 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1563s Get:99 http://ftpmaster.internal/ubuntu plucky/main arm64 libxtst6 arm64 2:1.2.3-1.1build1 [13.0 kB] 1563s Get:100 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre arm64 21.0.5+11-1 [221 kB] 1563s Get:101 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre arm64 2:1.21-76 [918 B] 1564s Get:102 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhamcrest-java all 2.2-2 [117 kB] 1564s Get:103 http://ftpmaster.internal/ubuntu plucky/universe arm64 junit4 all 4.13.2-5 [348 kB] 1564s Get:104 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 1564s Get:105 http://ftpmaster.internal/ubuntu plucky/universe arm64 libapache-pom-java all 33-2 [5874 B] 1564s Get:106 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-parent-java all 56-1 [10.7 kB] 1564s Get:107 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-io-java all 2.17.0-1 [457 kB] 1564s Get:108 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1564s Get:109 http://ftpmaster.internal/ubuntu plucky/universe arm64 libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1564s Get:110 http://ftpmaster.internal/ubuntu plucky/universe arm64 libatinject-jsr330-api-java all 1.0+ds1-6 [5076 B] 1564s Get:111 http://ftpmaster.internal/ubuntu plucky/universe arm64 liberror-prone-java all 2.18.0-1 [22.5 kB] 1564s Get:112 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 1564s Get:113 http://ftpmaster.internal/ubuntu plucky/universe arm64 libguava-java all 32.0.1-1 [2692 kB] 1564s Get:114 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1564s Get:115 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-core-java all 2.14.1-1 [432 kB] 1564s Get:116 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 1564s Get:117 http://ftpmaster.internal/ubuntu plucky/universe arm64 libasm-java all 9.7.1-1 [388 kB] 1564s Get:118 http://ftpmaster.internal/ubuntu plucky/universe arm64 libel-api-java all 3.0.0-3 [64.9 kB] 1564s Get:119 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsp-api-java all 2.3.4-3 [53.7 kB] 1564s Get:120 http://ftpmaster.internal/ubuntu plucky/universe arm64 libservlet-api-java all 4.0.1-2 [81.0 kB] 1564s Get:121 http://ftpmaster.internal/ubuntu plucky/universe arm64 libwebsocket-api-java all 1.1-2 [40.1 kB] 1564s Get:122 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-java all 9.4.56-1 [2790 kB] 1564s Get:123 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-constants-java all 0.10.4-2 [1397 kB] 1564s Get:124 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-jni arm64 1.3.13+ds-1 [29.8 kB] 1564s Get:125 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-java all 1.3.13+ds-1 [112 kB] 1564s Get:126 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 1564s Get:127 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-ffi-java all 2.2.15-2 [627 kB] 1564s Get:128 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1564s Get:129 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-posix-java all 3.1.18-1 [267 kB] 1564s Get:130 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1564s Get:131 http://ftpmaster.internal/ubuntu plucky/universe arm64 libactivation-java all 1.2.0-2 [84.7 kB] 1564s Get:132 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmail-java all 1.6.5-3 [681 kB] 1565s Get:133 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1565s Get:134 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjaxb-api-java all 2.3.1-1 [119 kB] 1565s Get:135 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-core-java all 4.3.30-2ubuntu1 [1015 kB] 1565s Get:136 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-beans-java all 4.3.30-2ubuntu1 [677 kB] 1565s Get:137 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1565s Get:138 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1565s Get:139 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1565s Get:140 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1565s Get:141 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1565s Get:142 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-extra-java all 9.4.56-1 [1199 kB] 1565s Get:143 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjctools-java all 2.0.2-1 [188 kB] 1565s Get:144 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-java all 1:4.1.48-10 [3628 kB] 1565s Get:145 http://ftpmaster.internal/ubuntu plucky/universe arm64 libslf4j-java all 1.7.32-1 [141 kB] 1565s Get:146 http://ftpmaster.internal/ubuntu plucky/main arm64 libsnappy1v5 arm64 1.2.1-1 [30.4 kB] 1565s Get:147 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-jni arm64 1.1.10.7-1 [6672 B] 1565s Get:148 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-java all 1.1.10.7-1 [83.6 kB] 1565s Get:149 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.5-1 [106 kB] 1565s Get:150 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-jni arm64 2.0.28-1build4 [36.8 kB] 1565s Get:151 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1565s Get:152 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblog4j1.2-java all 1.2.17-11 [439 kB] 1565s Get:153 http://ftpmaster.internal/ubuntu plucky/universe arm64 libzookeeper-java all 3.9.3-1 [1890 kB] 1565s Get:154 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeper all 3.9.3-1 [57.8 kB] 1566s Get:155 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeperd all 3.9.3-1 [6022 B] 1566s Get:156 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.8-3 [667 kB] 1566s Get:157 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1566s Get:158 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.4-2.1 [100 kB] 1566s Get:159 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 1566s Get:160 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1566s Get:161 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1566s Get:162 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-3 [30.9 kB] 1566s Get:163 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 1566s Get:164 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1566s Get:165 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1566s Get:166 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 1566s Get:167 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1566s Get:168 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.8-1 [79.8 kB] 1566s Get:169 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 1566s Get:170 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1566s Get:171 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 1566s Get:172 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 1566s Get:173 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 1566s Get:174 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.1.0-1 [173 kB] 1566s Get:175 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1566s Get:176 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-11ubuntu1 [275 kB] 1566s Get:177 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 1566s Get:178 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.2-1 [141 kB] 1566s Get:179 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.11.1-1 [1010 kB] 1566s Get:180 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build10 [21.3 kB] 1566s Get:181 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 1566s Get:182 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 1566s Get:183 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 1566s Get:184 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 1566s Get:185 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 1566s Get:186 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.5-1 [269 kB] 1566s Get:187 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 1566s Get:188 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.5-1 [510 kB] 1566s Get:189 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-17 arm64 17.2-1 [1318 kB] 1566s Get:190 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-17 arm64 17.2-1 [15.5 MB] 1567s Get:191 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 17+267 [12.2 kB] 1567s Get:192 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 1567s Get:193 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 1567s Get:194 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 1567s Get:195 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 1567s Preconfiguring packages ... 1567s Fetched 133 MB in 7s (17.9 MB/s) 1567s Selecting previously unselected package python3.12-minimal. 1567s (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 ... 80910 files and directories currently installed.) 1567s Preparing to unpack .../000-python3.12-minimal_3.12.8-3_arm64.deb ... 1567s Unpacking python3.12-minimal (3.12.8-3) ... 1567s Selecting previously unselected package fonts-lato. 1567s Preparing to unpack .../001-fonts-lato_2.015-1_all.deb ... 1567s Unpacking fonts-lato (2.015-1) ... 1568s Selecting previously unselected package libjson-perl. 1568s Preparing to unpack .../002-libjson-perl_4.10000-1_all.deb ... 1568s Unpacking libjson-perl (4.10000-1) ... 1568s Selecting previously unselected package libio-pty-perl. 1568s Preparing to unpack .../003-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 1568s Unpacking libio-pty-perl (1:1.20-1build3) ... 1568s Selecting previously unselected package libipc-run-perl. 1568s Preparing to unpack .../004-libipc-run-perl_20231003.0-2_all.deb ... 1568s Unpacking libipc-run-perl (20231003.0-2) ... 1568s Selecting previously unselected package postgresql-client-common. 1568s Preparing to unpack .../005-postgresql-client-common_267_all.deb ... 1568s Unpacking postgresql-client-common (267) ... 1568s Selecting previously unselected package ssl-cert. 1568s Preparing to unpack .../006-ssl-cert_1.1.3ubuntu1_all.deb ... 1568s Unpacking ssl-cert (1.1.3ubuntu1) ... 1568s Selecting previously unselected package postgresql-common. 1568s Preparing to unpack .../007-postgresql-common_267_all.deb ... 1568s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1568s Unpacking postgresql-common (267) ... 1568s Selecting previously unselected package ca-certificates-java. 1568s Preparing to unpack .../008-ca-certificates-java_20240118_all.deb ... 1568s Unpacking ca-certificates-java (20240118) ... 1568s Selecting previously unselected package java-common. 1568s Preparing to unpack .../009-java-common_0.76_all.deb ... 1568s Unpacking java-common (0.76) ... 1568s Selecting previously unselected package liblcms2-2:arm64. 1568s Preparing to unpack .../010-liblcms2-2_2.16-2_arm64.deb ... 1568s Unpacking liblcms2-2:arm64 (2.16-2) ... 1568s Selecting previously unselected package libjpeg-turbo8:arm64. 1568s Preparing to unpack .../011-libjpeg-turbo8_2.1.5-3ubuntu2_arm64.deb ... 1568s Unpacking libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 1568s Selecting previously unselected package libjpeg8:arm64. 1568s Preparing to unpack .../012-libjpeg8_8c-2ubuntu11_arm64.deb ... 1568s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 1568s Selecting previously unselected package libpcsclite1:arm64. 1568s Preparing to unpack .../013-libpcsclite1_2.3.1-1_arm64.deb ... 1568s Unpacking libpcsclite1:arm64 (2.3.1-1) ... 1568s Selecting previously unselected package openjdk-21-jre-headless:arm64. 1568s Preparing to unpack .../014-openjdk-21-jre-headless_21.0.5+11-1_arm64.deb ... 1568s Unpacking openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1569s Selecting previously unselected package default-jre-headless. 1569s Preparing to unpack .../015-default-jre-headless_2%3a1.21-76_arm64.deb ... 1569s Unpacking default-jre-headless (2:1.21-76) ... 1569s Selecting previously unselected package libgdk-pixbuf2.0-common. 1569s Preparing to unpack .../016-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 1569s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1569s Selecting previously unselected package libdeflate0:arm64. 1569s Preparing to unpack .../017-libdeflate0_1.23-1_arm64.deb ... 1569s Unpacking libdeflate0:arm64 (1.23-1) ... 1569s Selecting previously unselected package libjbig0:arm64. 1569s Preparing to unpack .../018-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 1569s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 1569s Selecting previously unselected package liblerc4:arm64. 1569s Preparing to unpack .../019-liblerc4_4.0.0+ds-5ubuntu1_arm64.deb ... 1569s Unpacking liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 1569s Selecting previously unselected package libsharpyuv0:arm64. 1569s Preparing to unpack .../020-libsharpyuv0_1.5.0-0.1_arm64.deb ... 1569s Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... 1569s Selecting previously unselected package libwebp7:arm64. 1569s Preparing to unpack .../021-libwebp7_1.5.0-0.1_arm64.deb ... 1569s Unpacking libwebp7:arm64 (1.5.0-0.1) ... 1569s Selecting previously unselected package libtiff6:arm64. 1569s Preparing to unpack .../022-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 1569s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1569s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 1569s Preparing to unpack .../023-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_arm64.deb ... 1569s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1569s Selecting previously unselected package gtk-update-icon-cache. 1569s Preparing to unpack .../024-gtk-update-icon-cache_4.17.1+ds-2_arm64.deb ... 1569s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1569s 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. 1569s Unpacking gtk-update-icon-cache (4.17.1+ds-2) ... 1569s Selecting previously unselected package hicolor-icon-theme. 1569s Preparing to unpack .../025-hicolor-icon-theme_0.18-1_all.deb ... 1569s Unpacking hicolor-icon-theme (0.18-1) ... 1569s Selecting previously unselected package humanity-icon-theme. 1570s Preparing to unpack .../026-humanity-icon-theme_0.6.16_all.deb ... 1570s Unpacking humanity-icon-theme (0.6.16) ... 1570s Selecting previously unselected package ubuntu-mono. 1570s Preparing to unpack .../027-ubuntu-mono_24.04-0ubuntu1_all.deb ... 1570s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 1571s Selecting previously unselected package adwaita-icon-theme. 1571s Preparing to unpack .../028-adwaita-icon-theme_47.0-2_all.deb ... 1571s Unpacking adwaita-icon-theme (47.0-2) ... 1571s Selecting previously unselected package at-spi2-common. 1571s Preparing to unpack .../029-at-spi2-common_2.55.0.1-1_all.deb ... 1571s Unpacking at-spi2-common (2.55.0.1-1) ... 1571s Selecting previously unselected package libatk1.0-0t64:arm64. 1571s Preparing to unpack .../030-libatk1.0-0t64_2.55.0.1-1_arm64.deb ... 1571s Unpacking libatk1.0-0t64:arm64 (2.55.0.1-1) ... 1571s Selecting previously unselected package libxi6:arm64. 1571s Preparing to unpack .../031-libxi6_2%3a1.8.2-1_arm64.deb ... 1571s Unpacking libxi6:arm64 (2:1.8.2-1) ... 1571s Selecting previously unselected package libatspi2.0-0t64:arm64. 1571s Preparing to unpack .../032-libatspi2.0-0t64_2.55.0.1-1_arm64.deb ... 1571s Unpacking libatspi2.0-0t64:arm64 (2.55.0.1-1) ... 1571s Selecting previously unselected package libatk-bridge2.0-0t64:arm64. 1571s Preparing to unpack .../033-libatk-bridge2.0-0t64_2.55.0.1-1_arm64.deb ... 1571s Unpacking libatk-bridge2.0-0t64:arm64 (2.55.0.1-1) ... 1571s Selecting previously unselected package fonts-dejavu-mono. 1571s Preparing to unpack .../034-fonts-dejavu-mono_2.37-8_all.deb ... 1571s Unpacking fonts-dejavu-mono (2.37-8) ... 1571s Selecting previously unselected package fonts-dejavu-core. 1571s Preparing to unpack .../035-fonts-dejavu-core_2.37-8_all.deb ... 1571s Unpacking fonts-dejavu-core (2.37-8) ... 1571s Selecting previously unselected package fontconfig-config. 1571s Preparing to unpack .../036-fontconfig-config_2.15.0-1.1ubuntu2_arm64.deb ... 1571s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 1571s Selecting previously unselected package libfontconfig1:arm64. 1571s Preparing to unpack .../037-libfontconfig1_2.15.0-1.1ubuntu2_arm64.deb ... 1571s Unpacking libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1571s Selecting previously unselected package libpixman-1-0:arm64. 1571s Preparing to unpack .../038-libpixman-1-0_0.44.0-3_arm64.deb ... 1571s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 1571s Selecting previously unselected package libxcb-render0:arm64. 1571s Preparing to unpack .../039-libxcb-render0_1.17.0-2_arm64.deb ... 1571s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 1571s Selecting previously unselected package libxcb-shm0:arm64. 1571s Preparing to unpack .../040-libxcb-shm0_1.17.0-2_arm64.deb ... 1571s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 1571s Selecting previously unselected package libxrender1:arm64. 1571s Preparing to unpack .../041-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 1571s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 1571s Selecting previously unselected package libcairo2:arm64. 1571s Preparing to unpack .../042-libcairo2_1.18.2-2_arm64.deb ... 1571s Unpacking libcairo2:arm64 (1.18.2-2) ... 1571s Selecting previously unselected package libcairo-gobject2:arm64. 1571s Preparing to unpack .../043-libcairo-gobject2_1.18.2-2_arm64.deb ... 1571s Unpacking libcairo-gobject2:arm64 (1.18.2-2) ... 1571s Selecting previously unselected package libcolord2:arm64. 1571s Preparing to unpack .../044-libcolord2_1.4.7-1build2_arm64.deb ... 1571s Unpacking libcolord2:arm64 (1.4.7-1build2) ... 1571s Selecting previously unselected package libavahi-common-data:arm64. 1571s Preparing to unpack .../045-libavahi-common-data_0.8-14ubuntu1_arm64.deb ... 1571s Unpacking libavahi-common-data:arm64 (0.8-14ubuntu1) ... 1571s Selecting previously unselected package libavahi-common3:arm64. 1571s Preparing to unpack .../046-libavahi-common3_0.8-14ubuntu1_arm64.deb ... 1571s Unpacking libavahi-common3:arm64 (0.8-14ubuntu1) ... 1571s Selecting previously unselected package libavahi-client3:arm64. 1571s Preparing to unpack .../047-libavahi-client3_0.8-14ubuntu1_arm64.deb ... 1571s Unpacking libavahi-client3:arm64 (0.8-14ubuntu1) ... 1571s Selecting previously unselected package libcups2t64:arm64. 1571s Preparing to unpack .../048-libcups2t64_2.4.11-0ubuntu2_arm64.deb ... 1571s Unpacking libcups2t64:arm64 (2.4.11-0ubuntu2) ... 1571s Selecting previously unselected package libepoxy0:arm64. 1572s Preparing to unpack .../049-libepoxy0_1.5.10-2_arm64.deb ... 1572s Unpacking libepoxy0:arm64 (1.5.10-2) ... 1572s Selecting previously unselected package libgraphite2-3:arm64. 1572s Preparing to unpack .../050-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 1572s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1572s Selecting previously unselected package libharfbuzz0b:arm64. 1572s Preparing to unpack .../051-libharfbuzz0b_10.2.0-1_arm64.deb ... 1572s Unpacking libharfbuzz0b:arm64 (10.2.0-1) ... 1572s Selecting previously unselected package fontconfig. 1572s Preparing to unpack .../052-fontconfig_2.15.0-1.1ubuntu2_arm64.deb ... 1572s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 1572s Selecting previously unselected package libthai-data. 1572s Preparing to unpack .../053-libthai-data_0.1.29-2build1_all.deb ... 1572s Unpacking libthai-data (0.1.29-2build1) ... 1572s Selecting previously unselected package libdatrie1:arm64. 1572s Preparing to unpack .../054-libdatrie1_0.2.13-3build1_arm64.deb ... 1572s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 1572s Selecting previously unselected package libthai0:arm64. 1572s Preparing to unpack .../055-libthai0_0.1.29-2build1_arm64.deb ... 1572s Unpacking libthai0:arm64 (0.1.29-2build1) ... 1572s Selecting previously unselected package libpango-1.0-0:arm64. 1572s Preparing to unpack .../056-libpango-1.0-0_1.56.0-3_arm64.deb ... 1572s Unpacking libpango-1.0-0:arm64 (1.56.0-3) ... 1572s Selecting previously unselected package libpangoft2-1.0-0:arm64. 1572s Preparing to unpack .../057-libpangoft2-1.0-0_1.56.0-3_arm64.deb ... 1572s Unpacking libpangoft2-1.0-0:arm64 (1.56.0-3) ... 1572s Selecting previously unselected package libpangocairo-1.0-0:arm64. 1572s Preparing to unpack .../058-libpangocairo-1.0-0_1.56.0-3_arm64.deb ... 1572s Unpacking libpangocairo-1.0-0:arm64 (1.56.0-3) ... 1572s Selecting previously unselected package libwayland-client0:arm64. 1572s Preparing to unpack .../059-libwayland-client0_1.23.0-1_arm64.deb ... 1572s Unpacking libwayland-client0:arm64 (1.23.0-1) ... 1572s Selecting previously unselected package libwayland-cursor0:arm64. 1572s Preparing to unpack .../060-libwayland-cursor0_1.23.0-1_arm64.deb ... 1572s Unpacking libwayland-cursor0:arm64 (1.23.0-1) ... 1572s Selecting previously unselected package libwayland-egl1:arm64. 1572s Preparing to unpack .../061-libwayland-egl1_1.23.0-1_arm64.deb ... 1572s Unpacking libwayland-egl1:arm64 (1.23.0-1) ... 1572s Selecting previously unselected package libxcomposite1:arm64. 1572s Preparing to unpack .../062-libxcomposite1_1%3a0.4.6-1_arm64.deb ... 1572s Unpacking libxcomposite1:arm64 (1:0.4.6-1) ... 1572s Selecting previously unselected package libxfixes3:arm64. 1572s Preparing to unpack .../063-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 1572s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 1572s Selecting previously unselected package libxcursor1:arm64. 1572s Preparing to unpack .../064-libxcursor1_1%3a1.2.3-1_arm64.deb ... 1572s Unpacking libxcursor1:arm64 (1:1.2.3-1) ... 1572s Selecting previously unselected package libxdamage1:arm64. 1572s Preparing to unpack .../065-libxdamage1_1%3a1.1.6-1build1_arm64.deb ... 1572s Unpacking libxdamage1:arm64 (1:1.1.6-1build1) ... 1572s Selecting previously unselected package libxinerama1:arm64. 1572s Preparing to unpack .../066-libxinerama1_2%3a1.1.4-3build1_arm64.deb ... 1572s Unpacking libxinerama1:arm64 (2:1.1.4-3build1) ... 1572s Selecting previously unselected package libxrandr2:arm64. 1572s Preparing to unpack .../067-libxrandr2_2%3a1.5.4-1_arm64.deb ... 1572s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 1572s Selecting previously unselected package libdconf1:arm64. 1572s Preparing to unpack .../068-libdconf1_0.40.0-5_arm64.deb ... 1572s Unpacking libdconf1:arm64 (0.40.0-5) ... 1572s Selecting previously unselected package dconf-service. 1572s Preparing to unpack .../069-dconf-service_0.40.0-5_arm64.deb ... 1572s Unpacking dconf-service (0.40.0-5) ... 1572s Selecting previously unselected package dconf-gsettings-backend:arm64. 1572s Preparing to unpack .../070-dconf-gsettings-backend_0.40.0-5_arm64.deb ... 1572s Unpacking dconf-gsettings-backend:arm64 (0.40.0-5) ... 1572s Selecting previously unselected package libgtk-3-common. 1572s Preparing to unpack .../071-libgtk-3-common_3.24.43-4ubuntu1_all.deb ... 1572s Unpacking libgtk-3-common (3.24.43-4ubuntu1) ... 1572s Selecting previously unselected package libgtk-3-0t64:arm64. 1572s Preparing to unpack .../072-libgtk-3-0t64_3.24.43-4ubuntu1_arm64.deb ... 1572s Unpacking libgtk-3-0t64:arm64 (3.24.43-4ubuntu1) ... 1572s Selecting previously unselected package libglvnd0:arm64. 1572s Preparing to unpack .../073-libglvnd0_1.7.0-1build1_arm64.deb ... 1572s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 1573s Selecting previously unselected package libglapi-mesa:arm64. 1573s Preparing to unpack .../074-libglapi-mesa_24.2.8-1ubuntu1_arm64.deb ... 1573s Unpacking libglapi-mesa:arm64 (24.2.8-1ubuntu1) ... 1573s Selecting previously unselected package libx11-xcb1:arm64. 1573s Preparing to unpack .../075-libx11-xcb1_2%3a1.8.10-2_arm64.deb ... 1573s Unpacking libx11-xcb1:arm64 (2:1.8.10-2) ... 1573s Selecting previously unselected package libxcb-dri2-0:arm64. 1573s Preparing to unpack .../076-libxcb-dri2-0_1.17.0-2_arm64.deb ... 1573s Unpacking libxcb-dri2-0:arm64 (1.17.0-2) ... 1573s Selecting previously unselected package libxcb-dri3-0:arm64. 1573s Preparing to unpack .../077-libxcb-dri3-0_1.17.0-2_arm64.deb ... 1573s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 1573s Selecting previously unselected package libxcb-glx0:arm64. 1573s Preparing to unpack .../078-libxcb-glx0_1.17.0-2_arm64.deb ... 1573s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 1573s Selecting previously unselected package libxcb-present0:arm64. 1573s Preparing to unpack .../079-libxcb-present0_1.17.0-2_arm64.deb ... 1573s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 1573s Selecting previously unselected package libxcb-randr0:arm64. 1573s Preparing to unpack .../080-libxcb-randr0_1.17.0-2_arm64.deb ... 1573s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 1573s Selecting previously unselected package libxcb-sync1:arm64. 1573s Preparing to unpack .../081-libxcb-sync1_1.17.0-2_arm64.deb ... 1573s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 1573s Selecting previously unselected package libxcb-xfixes0:arm64. 1573s Preparing to unpack .../082-libxcb-xfixes0_1.17.0-2_arm64.deb ... 1573s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 1573s Selecting previously unselected package libxshmfence1:arm64. 1573s Preparing to unpack .../083-libxshmfence1_1.3-1build5_arm64.deb ... 1573s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 1573s Selecting previously unselected package libxxf86vm1:arm64. 1573s Preparing to unpack .../084-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 1573s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1573s Selecting previously unselected package libdrm-radeon1:arm64. 1573s Preparing to unpack .../085-libdrm-radeon1_2.4.123-1_arm64.deb ... 1573s Unpacking libdrm-radeon1:arm64 (2.4.123-1) ... 1573s Selecting previously unselected package mesa-libgallium:arm64. 1573s Preparing to unpack .../086-mesa-libgallium_24.2.8-1ubuntu1_arm64.deb ... 1573s Unpacking mesa-libgallium:arm64 (24.2.8-1ubuntu1) ... 1573s Selecting previously unselected package libvulkan1:arm64. 1573s Preparing to unpack .../087-libvulkan1_1.4.304.0-1_arm64.deb ... 1573s Unpacking libvulkan1:arm64 (1.4.304.0-1) ... 1573s Selecting previously unselected package libwayland-server0:arm64. 1573s Preparing to unpack .../088-libwayland-server0_1.23.0-1_arm64.deb ... 1573s Unpacking libwayland-server0:arm64 (1.23.0-1) ... 1573s Selecting previously unselected package libgbm1:arm64. 1573s Preparing to unpack .../089-libgbm1_24.2.8-1ubuntu1_arm64.deb ... 1573s Unpacking libgbm1:arm64 (24.2.8-1ubuntu1) ... 1573s Selecting previously unselected package libgl1-mesa-dri:arm64. 1573s Preparing to unpack .../090-libgl1-mesa-dri_24.2.8-1ubuntu1_arm64.deb ... 1573s Unpacking libgl1-mesa-dri:arm64 (24.2.8-1ubuntu1) ... 1573s Selecting previously unselected package libglx-mesa0:arm64. 1573s Preparing to unpack .../091-libglx-mesa0_24.2.8-1ubuntu1_arm64.deb ... 1573s Unpacking libglx-mesa0:arm64 (24.2.8-1ubuntu1) ... 1573s Selecting previously unselected package libglx0:arm64. 1573s Preparing to unpack .../092-libglx0_1.7.0-1build1_arm64.deb ... 1573s Unpacking libglx0:arm64 (1.7.0-1build1) ... 1573s Selecting previously unselected package libgl1:arm64. 1573s Preparing to unpack .../093-libgl1_1.7.0-1build1_arm64.deb ... 1573s Unpacking libgl1:arm64 (1.7.0-1build1) ... 1574s Selecting previously unselected package libasound2-data. 1574s Preparing to unpack .../094-libasound2-data_1.2.12-1_all.deb ... 1574s Unpacking libasound2-data (1.2.12-1) ... 1574s Selecting previously unselected package libasound2t64:arm64. 1574s Preparing to unpack .../095-libasound2t64_1.2.12-1_arm64.deb ... 1574s Unpacking libasound2t64:arm64 (1.2.12-1) ... 1574s Selecting previously unselected package libgif7:arm64. 1574s Preparing to unpack .../096-libgif7_5.2.2-1ubuntu1_arm64.deb ... 1574s Unpacking libgif7:arm64 (5.2.2-1ubuntu1) ... 1574s Selecting previously unselected package x11-common. 1574s Preparing to unpack .../097-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1574s Unpacking x11-common (1:7.7+23ubuntu3) ... 1574s Selecting previously unselected package libxtst6:arm64. 1574s Preparing to unpack .../098-libxtst6_2%3a1.2.3-1.1build1_arm64.deb ... 1574s Unpacking libxtst6:arm64 (2:1.2.3-1.1build1) ... 1574s Selecting previously unselected package openjdk-21-jre:arm64. 1574s Preparing to unpack .../099-openjdk-21-jre_21.0.5+11-1_arm64.deb ... 1574s Unpacking openjdk-21-jre:arm64 (21.0.5+11-1) ... 1574s Selecting previously unselected package default-jre. 1574s Preparing to unpack .../100-default-jre_2%3a1.21-76_arm64.deb ... 1574s Unpacking default-jre (2:1.21-76) ... 1574s Selecting previously unselected package libhamcrest-java. 1574s Preparing to unpack .../101-libhamcrest-java_2.2-2_all.deb ... 1574s Unpacking libhamcrest-java (2.2-2) ... 1574s Selecting previously unselected package junit4. 1574s Preparing to unpack .../102-junit4_4.13.2-5_all.deb ... 1574s Unpacking junit4 (4.13.2-5) ... 1574s Selecting previously unselected package libcommons-cli-java. 1574s Preparing to unpack .../103-libcommons-cli-java_1.6.0-1_all.deb ... 1574s Unpacking libcommons-cli-java (1.6.0-1) ... 1574s Selecting previously unselected package libapache-pom-java. 1574s Preparing to unpack .../104-libapache-pom-java_33-2_all.deb ... 1574s Unpacking libapache-pom-java (33-2) ... 1574s Selecting previously unselected package libcommons-parent-java. 1574s Preparing to unpack .../105-libcommons-parent-java_56-1_all.deb ... 1574s Unpacking libcommons-parent-java (56-1) ... 1574s Selecting previously unselected package libcommons-io-java. 1574s Preparing to unpack .../106-libcommons-io-java_2.17.0-1_all.deb ... 1574s Unpacking libcommons-io-java (2.17.0-1) ... 1574s Selecting previously unselected package libdropwizard-metrics-java. 1574s Preparing to unpack .../107-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1574s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1574s Selecting previously unselected package libfindbugs-annotations-java. 1574s Preparing to unpack .../108-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1574s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1574s Selecting previously unselected package libatinject-jsr330-api-java. 1574s Preparing to unpack .../109-libatinject-jsr330-api-java_1.0+ds1-6_all.deb ... 1574s Unpacking libatinject-jsr330-api-java (1.0+ds1-6) ... 1574s Selecting previously unselected package liberror-prone-java. 1574s Preparing to unpack .../110-liberror-prone-java_2.18.0-1_all.deb ... 1574s Unpacking liberror-prone-java (2.18.0-1) ... 1574s Selecting previously unselected package libjsr305-java. 1574s Preparing to unpack .../111-libjsr305-java_0.1~+svn49-11_all.deb ... 1574s Unpacking libjsr305-java (0.1~+svn49-11) ... 1574s Selecting previously unselected package libguava-java. 1574s Preparing to unpack .../112-libguava-java_32.0.1-1_all.deb ... 1574s Unpacking libguava-java (32.0.1-1) ... 1574s Selecting previously unselected package libjackson2-annotations-java. 1574s Preparing to unpack .../113-libjackson2-annotations-java_2.14.0-1_all.deb ... 1574s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1574s Selecting previously unselected package libjackson2-core-java. 1574s Preparing to unpack .../114-libjackson2-core-java_2.14.1-1_all.deb ... 1574s Unpacking libjackson2-core-java (2.14.1-1) ... 1574s Selecting previously unselected package libjackson2-databind-java. 1574s Preparing to unpack .../115-libjackson2-databind-java_2.14.0-1_all.deb ... 1574s Unpacking libjackson2-databind-java (2.14.0-1) ... 1574s Selecting previously unselected package libasm-java. 1574s Preparing to unpack .../116-libasm-java_9.7.1-1_all.deb ... 1574s Unpacking libasm-java (9.7.1-1) ... 1574s Selecting previously unselected package libel-api-java. 1574s Preparing to unpack .../117-libel-api-java_3.0.0-3_all.deb ... 1574s Unpacking libel-api-java (3.0.0-3) ... 1574s Selecting previously unselected package libjsp-api-java. 1574s Preparing to unpack .../118-libjsp-api-java_2.3.4-3_all.deb ... 1574s Unpacking libjsp-api-java (2.3.4-3) ... 1575s Selecting previously unselected package libservlet-api-java. 1575s Preparing to unpack .../119-libservlet-api-java_4.0.1-2_all.deb ... 1575s Unpacking libservlet-api-java (4.0.1-2) ... 1575s Selecting previously unselected package libwebsocket-api-java. 1575s Preparing to unpack .../120-libwebsocket-api-java_1.1-2_all.deb ... 1575s Unpacking libwebsocket-api-java (1.1-2) ... 1575s Selecting previously unselected package libjetty9-java. 1575s Preparing to unpack .../121-libjetty9-java_9.4.56-1_all.deb ... 1575s Unpacking libjetty9-java (9.4.56-1) ... 1575s Selecting previously unselected package libjnr-constants-java. 1575s Preparing to unpack .../122-libjnr-constants-java_0.10.4-2_all.deb ... 1575s Unpacking libjnr-constants-java (0.10.4-2) ... 1575s Selecting previously unselected package libjffi-jni:arm64. 1575s Preparing to unpack .../123-libjffi-jni_1.3.13+ds-1_arm64.deb ... 1575s Unpacking libjffi-jni:arm64 (1.3.13+ds-1) ... 1575s Selecting previously unselected package libjffi-java. 1575s Preparing to unpack .../124-libjffi-java_1.3.13+ds-1_all.deb ... 1575s Unpacking libjffi-java (1.3.13+ds-1) ... 1575s Selecting previously unselected package libjnr-x86asm-java. 1575s Preparing to unpack .../125-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 1575s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 1575s Selecting previously unselected package libjnr-ffi-java. 1575s Preparing to unpack .../126-libjnr-ffi-java_2.2.15-2_all.deb ... 1575s Unpacking libjnr-ffi-java (2.2.15-2) ... 1575s Selecting previously unselected package libjnr-enxio-java. 1575s Preparing to unpack .../127-libjnr-enxio-java_0.32.16-1_all.deb ... 1575s Unpacking libjnr-enxio-java (0.32.16-1) ... 1575s Selecting previously unselected package libjnr-posix-java. 1575s Preparing to unpack .../128-libjnr-posix-java_3.1.18-1_all.deb ... 1575s Unpacking libjnr-posix-java (3.1.18-1) ... 1575s Selecting previously unselected package libjnr-unixsocket-java. 1575s Preparing to unpack .../129-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1575s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1575s Selecting previously unselected package libactivation-java. 1575s Preparing to unpack .../130-libactivation-java_1.2.0-2_all.deb ... 1575s Unpacking libactivation-java (1.2.0-2) ... 1575s Selecting previously unselected package libmail-java. 1575s Preparing to unpack .../131-libmail-java_1.6.5-3_all.deb ... 1575s Unpacking libmail-java (1.6.5-3) ... 1575s Selecting previously unselected package libcommons-logging-java. 1575s Preparing to unpack .../132-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1575s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1575s Selecting previously unselected package libjaxb-api-java. 1575s Preparing to unpack .../133-libjaxb-api-java_2.3.1-1_all.deb ... 1575s Unpacking libjaxb-api-java (2.3.1-1) ... 1575s Selecting previously unselected package libspring-core-java. 1575s Preparing to unpack .../134-libspring-core-java_4.3.30-2ubuntu1_all.deb ... 1575s Unpacking libspring-core-java (4.3.30-2ubuntu1) ... 1575s Selecting previously unselected package libspring-beans-java. 1575s Preparing to unpack .../135-libspring-beans-java_4.3.30-2ubuntu1_all.deb ... 1575s Unpacking libspring-beans-java (4.3.30-2ubuntu1) ... 1575s Selecting previously unselected package libtaglibs-standard-spec-java. 1575s Preparing to unpack .../136-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1575s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1575s Selecting previously unselected package libtaglibs-standard-impl-java. 1575s Preparing to unpack .../137-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1575s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1575s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1575s Preparing to unpack .../138-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1575s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1575s Selecting previously unselected package libeclipse-jdt-core-java. 1575s Preparing to unpack .../139-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1575s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1575s Selecting previously unselected package libtomcat9-java. 1575s Preparing to unpack .../140-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1575s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1576s Selecting previously unselected package libjetty9-extra-java. 1576s Preparing to unpack .../141-libjetty9-extra-java_9.4.56-1_all.deb ... 1576s Unpacking libjetty9-extra-java (9.4.56-1) ... 1576s Selecting previously unselected package libjctools-java. 1576s Preparing to unpack .../142-libjctools-java_2.0.2-1_all.deb ... 1576s Unpacking libjctools-java (2.0.2-1) ... 1576s Selecting previously unselected package libnetty-java. 1576s Preparing to unpack .../143-libnetty-java_1%3a4.1.48-10_all.deb ... 1576s Unpacking libnetty-java (1:4.1.48-10) ... 1576s Selecting previously unselected package libslf4j-java. 1576s Preparing to unpack .../144-libslf4j-java_1.7.32-1_all.deb ... 1576s Unpacking libslf4j-java (1.7.32-1) ... 1576s Selecting previously unselected package libsnappy1v5:arm64. 1576s Preparing to unpack .../145-libsnappy1v5_1.2.1-1_arm64.deb ... 1576s Unpacking libsnappy1v5:arm64 (1.2.1-1) ... 1576s Selecting previously unselected package libsnappy-jni. 1576s Preparing to unpack .../146-libsnappy-jni_1.1.10.7-1_arm64.deb ... 1576s Unpacking libsnappy-jni (1.1.10.7-1) ... 1576s Selecting previously unselected package libsnappy-java. 1576s Preparing to unpack .../147-libsnappy-java_1.1.10.7-1_all.deb ... 1576s Unpacking libsnappy-java (1.1.10.7-1) ... 1576s Selecting previously unselected package libapr1t64:arm64. 1576s Preparing to unpack .../148-libapr1t64_1.7.5-1_arm64.deb ... 1576s Unpacking libapr1t64:arm64 (1.7.5-1) ... 1576s Selecting previously unselected package libnetty-tcnative-jni. 1576s Preparing to unpack .../149-libnetty-tcnative-jni_2.0.28-1build4_arm64.deb ... 1576s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1576s Selecting previously unselected package libnetty-tcnative-java. 1576s Preparing to unpack .../150-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1576s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1576s Selecting previously unselected package liblog4j1.2-java. 1576s Preparing to unpack .../151-liblog4j1.2-java_1.2.17-11_all.deb ... 1576s Unpacking liblog4j1.2-java (1.2.17-11) ... 1576s Selecting previously unselected package libzookeeper-java. 1576s Preparing to unpack .../152-libzookeeper-java_3.9.3-1_all.deb ... 1576s Unpacking libzookeeper-java (3.9.3-1) ... 1576s Selecting previously unselected package zookeeper. 1576s Preparing to unpack .../153-zookeeper_3.9.3-1_all.deb ... 1576s Unpacking zookeeper (3.9.3-1) ... 1576s Selecting previously unselected package zookeeperd. 1576s Preparing to unpack .../154-zookeeperd_3.9.3-1_all.deb ... 1576s Unpacking zookeeperd (3.9.3-1) ... 1576s Selecting previously unselected package python3.12. 1576s Preparing to unpack .../155-python3.12_3.12.8-3_arm64.deb ... 1576s Unpacking python3.12 (3.12.8-3) ... 1576s Selecting previously unselected package fonts-font-awesome. 1576s Preparing to unpack .../156-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1576s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1576s Selecting previously unselected package libcares2:arm64. 1576s Preparing to unpack .../157-libcares2_1.34.4-2.1_arm64.deb ... 1576s Unpacking libcares2:arm64 (1.34.4-2.1) ... 1576s Selecting previously unselected package libev4t64:arm64. 1576s Preparing to unpack .../158-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 1576s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 1576s Selecting previously unselected package libjs-jquery. 1576s Preparing to unpack .../159-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1576s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1576s Selecting previously unselected package libjs-underscore. 1576s Preparing to unpack .../160-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1576s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1576s Selecting previously unselected package libjs-sphinxdoc. 1576s Preparing to unpack .../161-libjs-sphinxdoc_8.1.3-3_all.deb ... 1576s Unpacking libjs-sphinxdoc (8.1.3-3) ... 1576s Selecting previously unselected package libpq5:arm64. 1576s Preparing to unpack .../162-libpq5_17.2-1_arm64.deb ... 1576s Unpacking libpq5:arm64 (17.2-1) ... 1577s Selecting previously unselected package libtime-duration-perl. 1577s Preparing to unpack .../163-libtime-duration-perl_1.21-2_all.deb ... 1577s Unpacking libtime-duration-perl (1.21-2) ... 1577s Selecting previously unselected package libtimedate-perl. 1577s Preparing to unpack .../164-libtimedate-perl_2.3300-2_all.deb ... 1577s Unpacking libtimedate-perl (2.3300-2) ... 1577s Selecting previously unselected package libxslt1.1:arm64. 1577s Preparing to unpack .../165-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 1577s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 1577s Selecting previously unselected package moreutils. 1577s Preparing to unpack .../166-moreutils_0.69-1_arm64.deb ... 1577s Unpacking moreutils (0.69-1) ... 1577s Selecting previously unselected package python3-click. 1577s Preparing to unpack .../167-python3-click_8.1.8-1_all.deb ... 1577s Unpacking python3-click (8.1.8-1) ... 1577s Selecting previously unselected package python3-dateutil. 1577s Preparing to unpack .../168-python3-dateutil_2.9.0-3_all.deb ... 1577s Unpacking python3-dateutil (2.9.0-3) ... 1577s Selecting previously unselected package python3-wcwidth. 1577s Preparing to unpack .../169-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1577s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1577s Selecting previously unselected package python3-prettytable. 1577s Preparing to unpack .../170-python3-prettytable_3.12.0-1_all.deb ... 1577s Unpacking python3-prettytable (3.12.0-1) ... 1577s Selecting previously unselected package python3-psutil. 1577s Preparing to unpack .../171-python3-psutil_5.9.8-2build3_arm64.deb ... 1577s Unpacking python3-psutil (5.9.8-2build3) ... 1577s Selecting previously unselected package python3-psycopg2. 1577s Preparing to unpack .../172-python3-psycopg2_2.9.10-1_arm64.deb ... 1577s Unpacking python3-psycopg2 (2.9.10-1) ... 1577s Selecting previously unselected package python3-greenlet. 1577s Preparing to unpack .../173-python3-greenlet_3.1.0-1_arm64.deb ... 1577s Unpacking python3-greenlet (3.1.0-1) ... 1577s Selecting previously unselected package python3-dnspython. 1577s Preparing to unpack .../174-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1577s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1577s Selecting previously unselected package python3-eventlet. 1577s Preparing to unpack .../175-python3-eventlet_0.36.1-11ubuntu1_all.deb ... 1577s Unpacking python3-eventlet (0.36.1-11ubuntu1) ... 1577s Selecting previously unselected package python3-zope.event. 1577s Preparing to unpack .../176-python3-zope.event_5.0-0.1_all.deb ... 1577s Unpacking python3-zope.event (5.0-0.1) ... 1577s Selecting previously unselected package python3-zope.interface. 1577s Preparing to unpack .../177-python3-zope.interface_7.2-1_arm64.deb ... 1577s Unpacking python3-zope.interface (7.2-1) ... 1577s Selecting previously unselected package python3-gevent. 1577s Preparing to unpack .../178-python3-gevent_24.11.1-1_arm64.deb ... 1577s Unpacking python3-gevent (24.11.1-1) ... 1577s Selecting previously unselected package python3-kerberos. 1577s Preparing to unpack .../179-python3-kerberos_1.1.14-3.1build10_arm64.deb ... 1577s Unpacking python3-kerberos (1.1.14-3.1build10) ... 1577s Selecting previously unselected package python3-pure-sasl. 1577s Preparing to unpack .../180-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 1577s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 1577s Selecting previously unselected package python3-six. 1577s Preparing to unpack .../181-python3-six_1.17.0-1_all.deb ... 1577s Unpacking python3-six (1.17.0-1) ... 1577s Selecting previously unselected package python3-kazoo. 1577s Preparing to unpack .../182-python3-kazoo_2.9.0-2_all.deb ... 1577s Unpacking python3-kazoo (2.9.0-2) ... 1577s Selecting previously unselected package python3-ydiff. 1577s Preparing to unpack .../183-python3-ydiff_1.4.2-1_all.deb ... 1577s Unpacking python3-ydiff (1.4.2-1) ... 1577s Selecting previously unselected package python3-cdiff. 1577s Preparing to unpack .../184-python3-cdiff_1.4.2-1_all.deb ... 1577s Unpacking python3-cdiff (1.4.2-1) ... 1577s Selecting previously unselected package patroni. 1577s Preparing to unpack .../185-patroni_3.3.5-1_all.deb ... 1577s Unpacking patroni (3.3.5-1) ... 1578s Selecting previously unselected package sphinx-rtd-theme-common. 1578s Preparing to unpack .../186-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 1578s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 1578s Selecting previously unselected package patroni-doc. 1578s Preparing to unpack .../187-patroni-doc_3.3.5-1_all.deb ... 1578s Unpacking patroni-doc (3.3.5-1) ... 1578s Selecting previously unselected package postgresql-client-17. 1578s Preparing to unpack .../188-postgresql-client-17_17.2-1_arm64.deb ... 1578s Unpacking postgresql-client-17 (17.2-1) ... 1578s Selecting previously unselected package postgresql-17. 1578s Preparing to unpack .../189-postgresql-17_17.2-1_arm64.deb ... 1578s Unpacking postgresql-17 (17.2-1) ... 1578s Selecting previously unselected package postgresql. 1578s Preparing to unpack .../190-postgresql_17+267_all.deb ... 1578s Unpacking postgresql (17+267) ... 1578s Selecting previously unselected package python3-parse. 1578s Preparing to unpack .../191-python3-parse_1.20.2-1_all.deb ... 1578s Unpacking python3-parse (1.20.2-1) ... 1578s Selecting previously unselected package python3-parse-type. 1578s Preparing to unpack .../192-python3-parse-type_0.6.4-1_all.deb ... 1578s Unpacking python3-parse-type (0.6.4-1) ... 1578s Selecting previously unselected package python3-behave. 1578s Preparing to unpack .../193-python3-behave_1.2.6-6_all.deb ... 1578s Unpacking python3-behave (1.2.6-6) ... 1578s Selecting previously unselected package python3-coverage. 1578s Preparing to unpack .../194-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 1578s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 1578s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1578s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 1578s Setting up liblcms2-2:arm64 (2.16-2) ... 1578s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1578s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 1578s Setting up python3.12-minimal (3.12.8-3) ... 1579s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 1579s Setting up libjackson2-annotations-java (2.14.0-1) ... 1579s Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... 1579s Setting up libwayland-server0:arm64 (1.23.0-1) ... 1579s Setting up libx11-xcb1:arm64 (2:1.8.10-2) ... 1579s Setting up libslf4j-java (1.7.32-1) ... 1579s Setting up fonts-lato (2.015-1) ... 1579s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1579s Setting up libxdamage1:arm64 (1:1.1.6-1build1) ... 1579s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 1579s Setting up liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 1579s Setting up libjsr305-java (0.1~+svn49-11) ... 1579s Setting up hicolor-icon-theme (0.18-1) ... 1579s Setting up libxi6:arm64 (2:1.8.2-1) ... 1579s Setting up java-common (0.76) ... 1579s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 1579s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 1579s Setting up libcommons-cli-java (1.6.0-1) ... 1579s Setting up libio-pty-perl (1:1.20-1build3) ... 1579s Setting up libxcb-render0:arm64 (1.17.0-2) ... 1579s Setting up python3-zope.event (5.0-0.1) ... 1580s Setting up python3-zope.interface (7.2-1) ... 1580s Setting up libdrm-radeon1:arm64 (2.4.123-1) ... 1580s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 1580s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 1580s Setting up python3.12 (3.12.8-3) ... 1581s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1581s Setting up python3-ydiff (1.4.2-1) ... 1582s Setting up libasm-java (9.7.1-1) ... 1582s Setting up x11-common (1:7.7+23ubuntu3) ... 1582s Setting up libpq5:arm64 (17.2-1) ... 1582s Setting up libdeflate0:arm64 (1.23-1) ... 1582s Setting up python3-kerberos (1.1.14-3.1build10) ... 1582s Setting up liblog4j1.2-java (1.2.17-11) ... 1582s Setting up libel-api-java (3.0.0-3) ... 1582s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 1582s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 1582s Setting up python3-click (8.1.8-1) ... 1583s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 1583s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 1583s Setting up libcolord2:arm64 (1.4.7-1build2) ... 1583s Setting up python3-psutil (5.9.8-2build3) ... 1583s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1583s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1583s Setting up libsnappy1v5:arm64 (1.2.1-1) ... 1583s Setting up libxcb-present0:arm64 (1.17.0-2) ... 1583s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1583s Setting up libdconf1:arm64 (0.40.0-5) ... 1583s Setting up libjctools-java (2.0.2-1) ... 1583s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1583s Setting up python3-six (1.17.0-1) ... 1583s Setting up libasound2-data (1.2.12-1) ... 1583s Setting up libasound2t64:arm64 (1.2.12-1) ... 1583s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1584s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1584s Setting up libepoxy0:arm64 (1.5.10-2) ... 1584s Setting up ssl-cert (1.1.3ubuntu1) ... 1584s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1585s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 1585s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 1585s Setting up libapache-pom-java (33-2) ... 1585s Setting up libavahi-common-data:arm64 (0.8-14ubuntu1) ... 1585s Setting up libatinject-jsr330-api-java (1.0+ds1-6) ... 1585s Setting up libatspi2.0-0t64:arm64 (2.55.0.1-1) ... 1585s Setting up libwebsocket-api-java (1.1-2) ... 1585s Setting up python3-greenlet (3.1.0-1) ... 1585s Setting up libxinerama1:arm64 (2:1.1.4-3build1) ... 1585s Setting up fonts-dejavu-mono (2.37-8) ... 1585s Setting up libcares2:arm64 (1.34.4-2.1) ... 1585s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 1585s Setting up python3-psycopg2 (2.9.10-1) ... 1585s Setting up fonts-dejavu-core (2.37-8) ... 1585s Setting up libipc-run-perl (20231003.0-2) ... 1585s Setting up libpcsclite1:arm64 (2.3.1-1) ... 1585s Setting up libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 1585s Setting up libactivation-java (1.2.0-2) ... 1585s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1585s Setting up libhamcrest-java (2.2-2) ... 1585s Setting up libglapi-mesa:arm64 (24.2.8-1ubuntu1) ... 1585s Setting up libjsp-api-java (2.3.4-3) ... 1585s Setting up libvulkan1:arm64 (1.4.304.0-1) ... 1585s Setting up libtime-duration-perl (1.21-2) ... 1585s Setting up libwebp7:arm64 (1.5.0-0.1) ... 1585s Setting up libtimedate-perl (2.3300-2) ... 1585s Setting up libxcb-dri2-0:arm64 (1.17.0-2) ... 1585s Setting up libgif7:arm64 (5.2.2-1ubuntu1) ... 1585s Setting up libxshmfence1:arm64 (1.3-1build5) ... 1585s Setting up libmail-java (1.6.5-3) ... 1585s Setting up at-spi2-common (2.55.0.1-1) ... 1585s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1586s Setting up libnetty-java (1:4.1.48-10) ... 1586s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 1586s Setting up python3-parse (1.20.2-1) ... 1586s Setting up libapr1t64:arm64 (1.7.5-1) ... 1586s Setting up libjson-perl (4.10000-1) ... 1586s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 1586s Setting up libservlet-api-java (4.0.1-2) ... 1586s Setting up libjackson2-core-java (2.14.1-1) ... 1586s Setting up libharfbuzz0b:arm64 (10.2.0-1) ... 1586s Setting up libthai-data (0.1.29-2build1) ... 1586s Setting up python3-dateutil (2.9.0-3) ... 1586s Setting up libjffi-jni:arm64 (1.3.13+ds-1) ... 1586s Setting up libwayland-egl1:arm64 (1.23.0-1) ... 1586s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1586s Setting up ca-certificates-java (20240118) ... 1586s No JRE found. Skipping Java certificates setup. 1586s Setting up python3-prettytable (3.12.0-1) ... 1587s Setting up libsnappy-jni (1.1.10.7-1) ... 1587s Setting up libxcomposite1:arm64 (1:0.4.6-1) ... 1587s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1587s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 1587s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1587s Setting up libjnr-constants-java (0.10.4-2) ... 1587s Setting up libwayland-client0:arm64 (1.23.0-1) ... 1587s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 1587s Setting up libjaxb-api-java (2.3.1-1) ... 1587s Setting up postgresql-client-common (267) ... 1587s Setting up libjffi-java (1.3.13+ds-1) ... 1587s Setting up mesa-libgallium:arm64 (24.2.8-1ubuntu1) ... 1587s Setting up libjetty9-java (9.4.56-1) ... 1587s Setting up moreutils (0.69-1) ... 1587s Setting up libatk1.0-0t64:arm64 (2.55.0.1-1) ... 1587s Setting up openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1587s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 1587s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1587s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1587s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1587s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1587s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 1587s Setting up libgbm1:arm64 (24.2.8-1ubuntu1) ... 1587s Setting up postgresql-client-17 (17.2-1) ... 1587s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 1587s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 1588s Setting up libxtst6:arm64 (2:1.2.3-1.1build1) ... 1588s Setting up libxcursor1:arm64 (1:1.2.3-1) ... 1588s Setting up python3-cdiff (1.4.2-1) ... 1588s Setting up libgl1-mesa-dri:arm64 (24.2.8-1ubuntu1) ... 1588s Setting up libcommons-parent-java (56-1) ... 1588s Setting up libavahi-common3:arm64 (0.8-14ubuntu1) ... 1588s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1588s Setting up dconf-service (0.40.0-5) ... 1588s Setting up python3-gevent (24.11.1-1) ... 1588s Setting up libjackson2-databind-java (2.14.0-1) ... 1588s Setting up libthai0:arm64 (0.1.29-2build1) ... 1588s Setting up python3-parse-type (0.6.4-1) ... 1588s Setting up python3-eventlet (0.36.1-11ubuntu1) ... 1589s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1589s Setting up python3-kazoo (2.9.0-2) ... 1589s Setting up postgresql-common (267) ... 1590s Creating config file /etc/postgresql-common/createcluster.conf with new version 1590s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1590s Removing obsolete dictionary files: 1590s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1591s Setting up libjs-sphinxdoc (8.1.3-3) ... 1591s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1591s Setting up libwayland-cursor0:arm64 (1.23.0-1) ... 1591s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1591s Setting up python3-behave (1.2.6-6) ... 1591s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1591s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1591s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1591s """Registers a custom type that will be available to "parse" 1591s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1591s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1591s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1591s """Registers a custom type that will be available to "parse" 1591s Setting up libsnappy-java (1.1.10.7-1) ... 1591s Setting up libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1591s Setting up patroni (3.3.5-1) ... 1591s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1592s Setting up libavahi-client3:arm64 (0.8-14ubuntu1) ... 1592s Setting up libjnr-ffi-java (2.2.15-2) ... 1592s Setting up libatk-bridge2.0-0t64:arm64 (2.55.0.1-1) ... 1592s Setting up gtk-update-icon-cache (4.17.1+ds-2) ... 1592s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 1594s Regenerating fonts cache... done. 1594s Setting up postgresql-17 (17.2-1) ... 1594s Creating new PostgreSQL cluster 17/main ... 1594s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1594s The files belonging to this database system will be owned by user "postgres". 1594s This user must also own the server process. 1594s 1594s The database cluster will be initialized with locale "C.UTF-8". 1594s The default database encoding has accordingly been set to "UTF8". 1594s The default text search configuration will be set to "english". 1594s 1594s Data page checksums are disabled. 1594s 1594s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 1594s creating subdirectories ... ok 1594s selecting dynamic shared memory implementation ... posix 1594s selecting default "max_connections" ... 100 1594s selecting default "shared_buffers" ... 128MB 1594s selecting default time zone ... Etc/UTC 1594s creating configuration files ... ok 1595s running bootstrap script ... ok 1595s performing post-bootstrap initialization ... ok 1595s syncing data to disk ... ok 1599s Setting up libglx-mesa0:arm64 (24.2.8-1ubuntu1) ... 1599s Setting up libglx0:arm64 (1.7.0-1build1) ... 1599s Setting up libspring-core-java (4.3.30-2ubuntu1) ... 1599s Setting up dconf-gsettings-backend:arm64 (0.40.0-5) ... 1599s Setting up libcommons-io-java (2.17.0-1) ... 1599s Setting up patroni-doc (3.3.5-1) ... 1599s Setting up libpango-1.0-0:arm64 (1.56.0-3) ... 1599s Setting up libcairo2:arm64 (1.18.2-2) ... 1599s Setting up libjnr-enxio-java (0.32.16-1) ... 1599s Setting up libgl1:arm64 (1.7.0-1build1) ... 1599s Setting up libcairo-gobject2:arm64 (1.18.2-2) ... 1599s Setting up postgresql (17+267) ... 1599s Setting up libpangoft2-1.0-0:arm64 (1.56.0-3) ... 1599s Setting up libcups2t64:arm64 (2.4.11-0ubuntu2) ... 1599s Setting up libgtk-3-common (3.24.43-4ubuntu1) ... 1599s Setting up libjnr-posix-java (3.1.18-1) ... 1599s Setting up libpangocairo-1.0-0:arm64 (1.56.0-3) ... 1599s Setting up libspring-beans-java (4.3.30-2ubuntu1) ... 1599s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1599s Setting up libjetty9-extra-java (9.4.56-1) ... 1599s Setting up libguava-java (32.0.1-1) ... 1599s Setting up adwaita-icon-theme (47.0-2) ... 1599s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1599s Setting up liberror-prone-java (2.18.0-1) ... 1599s Setting up humanity-icon-theme (0.6.16) ... 1599s Setting up ubuntu-mono (24.04-0ubuntu1) ... 1599s Processing triggers for systemd (257-2ubuntu1) ... 1599s Processing triggers for man-db (2.13.0-1) ... 1600s Processing triggers for libglib2.0-0t64:arm64 (2.82.4-2) ... 1600s Setting up libgtk-3-0t64:arm64 (3.24.43-4ubuntu1) ... 1600s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1600s Processing triggers for ca-certificates-java (20240118) ... 1600s Adding debian:ACCVRAIZ1.pem 1600s Adding debian:AC_RAIZ_FNMT-RCM.pem 1601s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1601s Adding debian:ANF_Secure_Server_Root_CA.pem 1601s Adding debian:Actalis_Authentication_Root_CA.pem 1601s Adding debian:AffirmTrust_Commercial.pem 1601s Adding debian:AffirmTrust_Networking.pem 1601s Adding debian:AffirmTrust_Premium.pem 1601s Adding debian:AffirmTrust_Premium_ECC.pem 1601s Adding debian:Amazon_Root_CA_1.pem 1601s Adding debian:Amazon_Root_CA_2.pem 1601s Adding debian:Amazon_Root_CA_3.pem 1601s Adding debian:Amazon_Root_CA_4.pem 1601s Adding debian:Atos_TrustedRoot_2011.pem 1601s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1601s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1601s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1601s Adding debian:BJCA_Global_Root_CA1.pem 1601s Adding debian:BJCA_Global_Root_CA2.pem 1601s Adding debian:Baltimore_CyberTrust_Root.pem 1601s Adding debian:Buypass_Class_2_Root_CA.pem 1601s Adding debian:Buypass_Class_3_Root_CA.pem 1601s Adding debian:CA_Disig_Root_R2.pem 1601s Adding debian:CFCA_EV_ROOT.pem 1601s Adding debian:COMODO_Certification_Authority.pem 1601s Adding debian:COMODO_ECC_Certification_Authority.pem 1601s Adding debian:COMODO_RSA_Certification_Authority.pem 1601s Adding debian:Certainly_Root_E1.pem 1601s Adding debian:Certainly_Root_R1.pem 1601s Adding debian:Certigna.pem 1601s Adding debian:Certigna_Root_CA.pem 1601s Adding debian:Certum_EC-384_CA.pem 1601s Adding debian:Certum_Trusted_Network_CA.pem 1601s Adding debian:Certum_Trusted_Network_CA_2.pem 1601s Adding debian:Certum_Trusted_Root_CA.pem 1601s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1601s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1601s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1601s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1601s Adding debian:Comodo_AAA_Services_root.pem 1601s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1601s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1601s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1601s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1601s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1601s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1601s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1601s Adding debian:DigiCert_Global_Root_CA.pem 1601s Adding debian:DigiCert_Global_Root_G2.pem 1601s Adding debian:DigiCert_Global_Root_G3.pem 1601s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1601s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1601s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1601s Adding debian:DigiCert_Trusted_Root_G4.pem 1601s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1601s Adding debian:Entrust_Root_Certification_Authority.pem 1601s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1601s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1601s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1601s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1601s Adding debian:GLOBALTRUST_2020.pem 1601s Adding debian:GTS_Root_R1.pem 1601s Adding debian:GTS_Root_R2.pem 1601s Adding debian:GTS_Root_R3.pem 1601s Adding debian:GTS_Root_R4.pem 1601s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1601s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1601s Adding debian:GlobalSign_Root_CA.pem 1601s Adding debian:GlobalSign_Root_CA_-_R3.pem 1601s Adding debian:GlobalSign_Root_CA_-_R6.pem 1601s Adding debian:GlobalSign_Root_E46.pem 1601s Adding debian:GlobalSign_Root_R46.pem 1601s Adding debian:Go_Daddy_Class_2_CA.pem 1601s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1601s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1601s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1601s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1601s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1601s Adding debian:HiPKI_Root_CA_-_G1.pem 1601s Adding debian:Hongkong_Post_Root_CA_3.pem 1601s Adding debian:ISRG_Root_X1.pem 1601s Adding debian:ISRG_Root_X2.pem 1601s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1601s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1601s Adding debian:Izenpe.com.pem 1601s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1601s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1601s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1601s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1601s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1601s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1601s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1601s Adding debian:QuoVadis_Root_CA_1_G3.pem 1601s Adding debian:QuoVadis_Root_CA_2.pem 1601s Adding debian:QuoVadis_Root_CA_2_G3.pem 1601s Adding debian:QuoVadis_Root_CA_3.pem 1601s Adding debian:QuoVadis_Root_CA_3_G3.pem 1601s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1601s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1601s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1601s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1601s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1601s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1601s Adding debian:SZAFIR_ROOT_CA2.pem 1601s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1601s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1601s Adding debian:SecureSign_RootCA11.pem 1601s Adding debian:SecureTrust_CA.pem 1601s Adding debian:Secure_Global_CA.pem 1601s Adding debian:Security_Communication_ECC_RootCA1.pem 1601s Adding debian:Security_Communication_RootCA2.pem 1601s Adding debian:Security_Communication_RootCA3.pem 1601s Adding debian:Security_Communication_Root_CA.pem 1601s Adding debian:Starfield_Class_2_CA.pem 1601s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1601s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1601s Adding debian:SwissSign_Gold_CA_-_G2.pem 1601s Adding debian:SwissSign_Silver_CA_-_G2.pem 1601s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1601s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1601s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1601s Adding debian:TWCA_Global_Root_CA.pem 1601s Adding debian:TWCA_Root_Certification_Authority.pem 1601s Adding debian:TeliaSonera_Root_CA_v1.pem 1601s Adding debian:Telia_Root_CA_v2.pem 1601s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1601s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1601s Adding debian:Trustwave_Global_Certification_Authority.pem 1601s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1601s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1601s Adding debian:TunTrust_Root_CA.pem 1601s Adding debian:UCA_Extended_Validation_Root.pem 1601s Adding debian:UCA_Global_G2_Root.pem 1601s Adding debian:USERTrust_ECC_Certification_Authority.pem 1601s Adding debian:USERTrust_RSA_Certification_Authority.pem 1601s Adding debian:XRamp_Global_CA_Root.pem 1601s Adding debian:certSIGN_ROOT_CA.pem 1601s Adding debian:certSIGN_Root_CA_G2.pem 1601s Adding debian:e-Szigno_Root_CA_2017.pem 1601s Adding debian:ePKI_Root_Certification_Authority.pem 1601s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1601s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1601s Adding debian:emSign_Root_CA_-_C1.pem 1601s Adding debian:emSign_Root_CA_-_G1.pem 1601s Adding debian:vTrus_ECC_Root_CA.pem 1601s Adding debian:vTrus_Root_CA.pem 1601s done. 1601s Setting up openjdk-21-jre:arm64 (21.0.5+11-1) ... 1601s Setting up junit4 (4.13.2-5) ... 1601s Setting up default-jre-headless (2:1.21-76) ... 1601s Setting up default-jre (2:1.21-76) ... 1601s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1601s Setting up libzookeeper-java (3.9.3-1) ... 1601s Setting up zookeeper (3.9.3-1) ... 1601s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1601s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1601s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1601s Setting up zookeeperd (3.9.3-1) ... 1604s autopkgtest [21:54:14]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1604s autopkgtest [21:54:14]: test acceptance-zookeeper: [----------------------- 1609s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1609s ++ ls -1r /usr/lib/postgresql/ 1609s ### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ### 1609s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1609s + '[' 17 == 10 -o 17 == 11 ']' 1609s + echo '### PostgreSQL 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 1609s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=zookeeper PATH=/usr/lib/postgresql/17/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' 1610s Jan 19 21:54:20 Feature: basic replication # features/basic_replication.feature:1 1610s Jan 19 21:54:20 We should check that the basic bootstrapping, replication and failover works. 1610s Jan 19 21:54:20 Scenario: check replication of a single table # features/basic_replication.feature:4 1610s Jan 19 21:54:20 Given I start postgres0 # features/steps/basic_replication.py:8 1613s Jan 19 21:54:23 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1613s Jan 19 21:54:23 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1613s Jan 19 21:54:23 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 1613s Jan 19 21:54:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 1613s Jan 19 21:54:23 When I start postgres1 # features/steps/basic_replication.py:8 1616s Jan 19 21:54:26 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1619s Jan 19 21:54:29 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1619s Jan 19 21:54:29 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1619s Jan 19 21:54:29 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1620s Jan 19 21:54:30 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1620s Jan 19 21:54:30 1620s Jan 19 21:54:30 Scenario: check restart of sync replica # features/basic_replication.feature:17 1620s Jan 19 21:54:30 Given I shut down postgres2 # features/steps/basic_replication.py:29 1621s Jan 19 21:54:31 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1621s Jan 19 21:54:31 When I start postgres2 # features/steps/basic_replication.py:8 1624s Jan 19 21:54:34 And I shut down postgres1 # features/steps/basic_replication.py:29 1627s Jan 19 21:54:37 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1628s Jan 19 21:54:38 When I start postgres1 # features/steps/basic_replication.py:8 1631s Jan 19 21:54:41 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1631s Jan 19 21:54:41 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1631s Jan 19 21:54:41 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1631s Jan 19 21:54:41 1631s Jan 19 21:54:41 Scenario: check stuck sync replica # features/basic_replication.feature:28 1631s Jan 19 21:54:41 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 1631s Jan 19 21:54:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1631s Jan 19 21:54:41 And I create table on postgres0 # features/steps/basic_replication.py:73 1631s Jan 19 21:54:41 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1632s Jan 19 21:54:42 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1632s Jan 19 21:54:42 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1632s Jan 19 21:54:42 And I load data on postgres0 # features/steps/basic_replication.py:84 1633s Jan 19 21:54:43 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1636s Jan 19 21:54:46 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1636s Jan 19 21:54:46 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1637s Jan 19 21:54:47 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1637s Jan 19 21:54:47 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 1637s Jan 19 21:54:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1637s Jan 19 21:54:47 And I drop table on postgres0 # features/steps/basic_replication.py:73 1637s Jan 19 21:54:47 1637s Jan 19 21:54:47 Scenario: check multi sync replication # features/basic_replication.feature:44 1637s Jan 19 21:54:47 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 1637s Jan 19 21:54:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1637s Jan 19 21:54:47 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1641s Jan 19 21:54:51 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1641s Jan 19 21:54:51 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1641s Jan 19 21:54:51 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 1641s Jan 19 21:54:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1641s Jan 19 21:54:51 And I shut down postgres1 # features/steps/basic_replication.py:29 1644s Jan 19 21:54:54 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1645s Jan 19 21:54:55 When I start postgres1 # features/steps/basic_replication.py:8 1648s Jan 19 21:54:58 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1648s Jan 19 21:54:58 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1648s Jan 19 21:54:58 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1648s Jan 19 21:54:58 1648s Jan 19 21:54:58 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1648s Jan 19 21:54:58 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1649s Jan 19 21:54:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1649s Jan 19 21:54:59 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1651s Jan 19 21:55:01 And I shut down postgres0 # features/steps/basic_replication.py:29 1652s Jan 19 21:55:02 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1654s Jan 19 21:55:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1654s Jan 19 21:55:04 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1674s Jan 19 21:55:24 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1675s Jan 19 21:55:25 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1675s Jan 19 21:55:25 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 1675s Jan 19 21:55:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1675s Jan 19 21:55:25 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1675s Jan 19 21:55:25 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1675s Jan 19 21:55:25 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1675s Jan 19 21:55:25 1675s Jan 19 21:55:25 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1675s Jan 19 21:55:25 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1675s Jan 19 21:55:25 And I start postgres0 # features/steps/basic_replication.py:8 1675s Jan 19 21:55:25 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1682s Jan 19 21:55:32 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1682s Jan 19 21:55:32 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1682s Jan 19 21:55:32 1682s Jan 19 21:55:32 @reject-duplicate-name 1682s Jan 19 21:55:32 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1682s Jan 19 21:55:32 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1684s Jan 19 21:55: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 1688s Jan 19 21:55:38 1688s Jan 19 21:55:38 Feature: cascading replication # features/cascading_replication.feature:1 1688s Jan 19 21:55:38 We should check that patroni can do base backup and streaming from the replica 1688s Jan 19 21:55:38 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1688s Jan 19 21:55:38 Given I start postgres0 # features/steps/basic_replication.py:8 1691s Jan 19 21:55:41 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1691s Jan 19 21:55:41 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1694s Jan 19 21:55:44 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1695s Jan 19 21:55:45 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1695s Jan 19 21:55:45 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1695s Jan 19 21:55:45 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1695s Jan 19 21:55:45 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1698s Jan 19 21:55:48 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1699s Jan 19 21:55:49 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1706s Jan 19 21:55:56 1706s SKIP FEATURE citus: Citus extension isn't available 1706s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 1706s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 1706s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 1706s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 1706s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extension isn't available 1706s Jan 19 21:55:56 Feature: citus # features/citus.feature:1 1706s Jan 19 21:55:56 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1706s Jan 19 21:55:56 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1706s Jan 19 21:55:56 Given I start postgres0 in citus group 0 # None 1706s Jan 19 21:55:56 And I start postgres2 in citus group 1 # None 1706s Jan 19 21:55:56 Then postgres0 is a leader in a group 0 after 10 seconds # None 1706s Jan 19 21:55:56 And postgres2 is a leader in a group 1 after 10 seconds # None 1706s Jan 19 21:55:56 When I start postgres1 in citus group 0 # None 1706s Jan 19 21:55:56 And I start postgres3 in citus group 1 # None 1706s Jan 19 21:55:56 Then replication works from postgres0 to postgres1 after 15 seconds # None 1706s Jan 19 21:55:56 Then replication works from postgres2 to postgres3 after 15 seconds # None 1706s Jan 19 21:55:56 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1706s Jan 19 21:55:56 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1706s Jan 19 21:55:56 1706s Jan 19 21:55:56 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1706s Jan 19 21:55:56 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1706s Jan 19 21:55:56 Then postgres1 role is the primary after 10 seconds # None 1706s Jan 19 21:55:56 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1706s Jan 19 21:55:56 And replication works from postgres1 to postgres0 after 15 seconds # None 1706s Jan 19 21:55:56 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1706s Jan 19 21:55:56 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1706s Jan 19 21:55:56 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1706s Jan 19 21:55:56 Then postgres0 role is the primary after 10 seconds # None 1706s Jan 19 21:55:56 And replication works from postgres0 to postgres1 after 15 seconds # None 1706s Jan 19 21:55:56 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1706s Jan 19 21:55:56 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1706s Jan 19 21:55:56 1706s Jan 19 21:55:56 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1706s Jan 19 21:55:56 Given I create a distributed table on postgres0 # None 1706s Jan 19 21:55:56 And I start a thread inserting data on postgres0 # None 1706s Jan 19 21:55:56 When I run patronictl.py switchover batman --group 1 --force # None 1706s Jan 19 21:55:56 Then I receive a response returncode 0 # None 1706s Jan 19 21:55:56 And postgres3 role is the primary after 10 seconds # None 1706s Jan 19 21:55:56 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1706s Jan 19 21:55:56 And replication works from postgres3 to postgres2 after 15 seconds # None 1706s Jan 19 21:55:56 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1706s Jan 19 21:55:56 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1706s Jan 19 21:55:56 And a thread is still alive # None 1706s Jan 19 21:55:56 When I run patronictl.py switchover batman --group 1 --force # None 1706s Jan 19 21:55:56 Then I receive a response returncode 0 # None 1706s Jan 19 21:55:56 And postgres2 role is the primary after 10 seconds # None 1706s Jan 19 21:55:56 And replication works from postgres2 to postgres3 after 15 seconds # None 1706s Jan 19 21:55:56 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1706s Jan 19 21:55:56 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1706s Jan 19 21:55:56 And a thread is still alive # None 1706s Jan 19 21:55:56 When I stop a thread # None 1706s Jan 19 21:55:56 Then a distributed table on postgres0 has expected rows # None 1706s Jan 19 21:55:56 1706s Jan 19 21:55:56 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1706s Jan 19 21:55:56 Given I cleanup a distributed table on postgres0 # None 1706s Jan 19 21:55:56 And I start a thread inserting data on postgres0 # None 1706s Jan 19 21:55:56 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1706s Jan 19 21:55:56 Then I receive a response returncode 0 # None 1706s Jan 19 21:55:56 And postgres2 role is the primary after 10 seconds # None 1706s Jan 19 21:55:56 And replication works from postgres2 to postgres3 after 15 seconds # None 1706s Jan 19 21:55:56 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1706s Jan 19 21:55:56 And a thread is still alive # None 1706s Jan 19 21:55:56 When I stop a thread # None 1706s Jan 19 21:55:56 Then a distributed table on postgres0 has expected rows # None 1706s Jan 19 21:55:56 1706s Jan 19 21:55:56 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1706s Jan 19 21:55:56 Given I start postgres4 in citus group 2 # None 1706s Jan 19 21:55:56 Then postgres4 is a leader in a group 2 after 10 seconds # None 1706s Jan 19 21:55:56 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1706s Jan 19 21:55:56 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1706s Jan 19 21:55:56 Then I receive a response returncode 0 # None 1706s Jan 19 21:55:56 And I receive a response output "+ttl: 20" # None 1706s Jan 19 21:55:56 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1706s Jan 19 21:55:56 When I shut down postgres4 # None 1706s Jan 19 21:55:56 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1706s Jan 19 21:55:56 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1706s Jan 19 21:55:56 Then a transaction finishes in 20 seconds # None 1706s Jan 19 21:55:56 1706s Jan 19 21:55:56 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1706s Jan 19 21:55:56 We should check that patroni can bootstrap a new cluster from a backup 1706s Jan 19 21:55:56 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1706s Jan 19 21:55:56 Given I start postgres0 # features/steps/basic_replication.py:8 1709s Jan 19 21:55:59 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1709s Jan 19 21:55:59 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1709s Jan 19 21:55:59 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1712s Jan 19 21:56:02 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1713s Jan 19 21:56:03 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1713s Jan 19 21:56:03 1713s Jan 19 21:56:03 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1713s Jan 19 21:56:03 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1713s Jan 19 21:56:03 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1713s Jan 19 21:56:03 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1718s Jan 19 21:56:08 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1718s Jan 19 21:56:08 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1724s Jan 19 21:56:14 1724s Jan 19 21:56:14 Feature: ignored slots # features/ignored_slots.feature:1 1724s Jan 19 21:56:14 1724s Jan 19 21:56:14 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1724s Jan 19 21:56:14 Given I start postgres1 # features/steps/basic_replication.py:8 1727s Jan 19 21:56:17 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1727s Jan 19 21:56:17 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1727s Jan 19 21:56:17 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 1727s Jan 19 21:56:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1727s Jan 19 21:56:17 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1728s Jan 19 21:56:17 When I shut down postgres1 # features/steps/basic_replication.py:29 1730s Jan 19 21:56:19 And I start postgres1 # features/steps/basic_replication.py:8 1732s Jan 19 21:56:22 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1733s Jan 19 21:56:23 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1737s Jan 19 21:56:27 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1737s Jan 19 21:56:27 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1737s Jan 19 21:56:27 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1737s Jan 19 21:56:27 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1737s Jan 19 21:56:27 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1737s Jan 19 21:56:27 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1737s Jan 19 21:56:27 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1737s Jan 19 21:56:27 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1737s Jan 19 21:56:27 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1737s Jan 19 21:56:27 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1737s Jan 19 21:56:27 When I start postgres0 # features/steps/basic_replication.py:8 1740s Jan 19 21:56:30 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1740s Jan 19 21:56:30 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1740s Jan 19 21:56:30 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1741s Jan 19 21:56:31 When I shut down postgres1 # features/steps/basic_replication.py:29 1743s Jan 19 21:56:33 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1744s Jan 19 21:56:34 When I start postgres1 # features/steps/basic_replication.py:8 1747s Jan 19 21:56:37 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1747s Jan 19 21:56:37 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1747s Jan 19 21:56:37 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1749s Jan 19 21:56:39 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1749s Jan 19 21:56:39 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1749s Jan 19 21:56:39 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1749s Jan 19 21:56:39 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1749s Jan 19 21:56:39 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1749s Jan 19 21:56:39 When I shut down postgres0 # features/steps/basic_replication.py:29 1751s Jan 19 21:56:41 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1752s Jan 19 21:56:42 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1752s Jan 19 21:56:42 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1752s Jan 19 21:56:42 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1752s Jan 19 21:56:42 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1754s Jan 19 21:56:44 1754s Jan 19 21:56:44 Feature: nostream node # features/nostream_node.feature:1 1754s Jan 19 21:56:44 1754s Jan 19 21:56:44 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1754s Jan 19 21:56:44 When I start postgres0 # features/steps/basic_replication.py:8 1757s Jan 19 21:56:47 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1760s Jan 19 21:56:50 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1760s Jan 19 21:56:50 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1766s Jan 19 21:56:56 1766s Jan 19 21:56:56 @slot-advance 1766s Jan 19 21:56:56 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1766s Jan 19 21:56:56 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 1766s Jan 19 21:56:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1766s Jan 19 21:56:56 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1768s Jan 19 21:56:58 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1769s Jan 19 21:56:59 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1772s Jan 19 21:57:02 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1773s Jan 19 21:57:03 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1773s Jan 19 21:57:03 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1778s Jan 19 21:57:08 1778s Jan 19 21:57:08 Feature: patroni api # features/patroni_api.feature:1 1778s Jan 19 21:57:08 We should check that patroni correctly responds to valid and not-valid API requests. 1778s Jan 19 21:57:08 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1778s Jan 19 21:57:08 Given I start postgres0 # features/steps/basic_replication.py:8 1781s Jan 19 21:57:11 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1782s Jan 19 21:57:12 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1782s Jan 19 21:57:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1782s Jan 19 21:57:12 And I receive a response state running # features/steps/patroni_api.py:98 1782s Jan 19 21:57:12 And I receive a response role master # features/steps/patroni_api.py:98 1782s Jan 19 21:57:12 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1782s Jan 19 21:57:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 1782s Jan 19 21:57:12 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1782s Jan 19 21:57:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1782s Jan 19 21:57:12 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1782s Jan 19 21:57:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 1782s Jan 19 21:57:12 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1782s Jan 19 21:57:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 1782s Jan 19 21:57:12 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1782s Jan 19 21:57:12 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1784s Jan 19 21:57:14 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1784s Jan 19 21:57:14 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1784s Jan 19 21:57:14 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1784s Jan 19 21:57:14 Then I receive a response code 412 # features/steps/patroni_api.py:98 1784s Jan 19 21:57:14 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1784s Jan 19 21:57:14 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1784s Jan 19 21:57:14 Then I receive a response code 400 # features/steps/patroni_api.py:98 1784s Jan 19 21:57:14 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1784s Jan 19 21:57:14 Then I receive a response code 400 # features/steps/patroni_api.py:98 1784s Jan 19 21:57:14 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1784s Jan 19 21:57:14 1784s Jan 19 21:57:14 Scenario: check local configuration reload # features/patroni_api.feature:32 1784s Jan 19 21:57:14 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1784s Jan 19 21:57:14 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1784s Jan 19 21:57:14 Then I receive a response code 202 # features/steps/patroni_api.py:98 1784s Jan 19 21:57:14 1784s Jan 19 21:57:14 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1784s Jan 19 21:57:14 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 1784s Jan 19 21:57:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1784s Jan 19 21:57:14 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1786s Jan 19 21:57:16 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1786s Jan 19 21:57:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 1786s Jan 19 21:57:16 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1786s Jan 19 21:57:16 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1786s Jan 19 21:57:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 1786s Jan 19 21:57:16 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1786s Jan 19 21:57:16 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1790s Jan 19 21:57:20 1790s Jan 19 21:57:20 Scenario: check the scheduled restart # features/patroni_api.feature:49 1790s Jan 19 21:57:20 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1792s Jan 19 21:57:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1792s Jan 19 21:57:21 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1792s Jan 19 21:57:21 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1792s Jan 19 21:57:22 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 1792s Jan 19 21:57:22 Then I receive a response code 202 # features/steps/patroni_api.py:98 1792s Jan 19 21:57:22 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1800s Jan 19 21:57:30 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1800s Jan 19 21:57:30 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 1800s Jan 19 21:57:30 Then I receive a response code 202 # features/steps/patroni_api.py:98 1800s Jan 19 21:57:30 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 1807s Jan 19 21:57:37 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1808s Jan 19 21:57:38 1808s Jan 19 21:57:38 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1808s Jan 19 21:57:38 Given I start postgres1 # features/steps/basic_replication.py:8 1811s Jan 19 21:57:41 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1812s Jan 19 21:57:42 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1813s Jan 19 21:57:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1813s Jan 19 21:57:43 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1813s Jan 19 21:57:43 waiting for server to shut down.... done 1813s Jan 19 21:57:43 server stopped 1813s Jan 19 21:57:43 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1813s Jan 19 21:57:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 1813s Jan 19 21:57:43 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1814s Jan 19 21:57:44 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1817s Jan 19 21:57:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1817s Jan 19 21:57:47 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1818s Jan 19 21:57:48 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1820s Jan 19 21:57:50 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1820s Jan 19 21:57:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1820s Jan 19 21:57:50 And I receive a response state running # features/steps/patroni_api.py:98 1820s Jan 19 21:57:50 And I receive a response role replica # features/steps/patroni_api.py:98 1820s Jan 19 21:57:50 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1823s Jan 19 21:57:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1823s Jan 19 21:57:53 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1823s Jan 19 21:57:53 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1824s Jan 19 21:57:54 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1825s Jan 19 21:57:55 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1827s Jan 19 21:57:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1827s Jan 19 21:57:57 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1827s Jan 19 21:57:57 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1828s Jan 19 21:57:58 1828s Jan 19 21:57:58 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1828s Jan 19 21:57: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 1830s Jan 19 21:58:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1830s Jan 19 21:58:00 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1830s Jan 19 21:58:00 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1831s Jan 19 21:58:01 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1833s Jan 19 21:58:03 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1833s Jan 19 21:58:03 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1834s Jan 19 21:58:04 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1834s Jan 19 21:58:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 1834s Jan 19 21:58:04 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1834s Jan 19 21:58:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 1834s Jan 19 21:58:04 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1834s Jan 19 21:58:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 1834s Jan 19 21:58:04 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1834s Jan 19 21:58:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 1834s Jan 19 21:58:04 1834s Jan 19 21:58:04 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1834s Jan 19 21:58:04 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1836s Jan 19 21:58:06 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1836s Jan 19 21:58:06 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1836s Jan 19 21:58:06 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1837s Jan 19 21:58:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1837s Jan 19 21:58:07 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1838s Jan 19 21:58:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1838s Jan 19 21:58:08 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1848s Jan 19 21:58:18 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1849s Jan 19 21:58:19 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1852s Jan 19 21:58:22 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1852s Jan 19 21:58:22 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1852s Jan 19 21:58:22 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1852s Jan 19 21:58:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 1852s Jan 19 21:58:22 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1852s Jan 19 21:58:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 1852s Jan 19 21:58:22 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1852s Jan 19 21:58:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 1852s Jan 19 21:58:22 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1852s Jan 19 21:58:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 1856s Jan 19 21:58:26 1856s Jan 19 21:58:26 Feature: permanent slots # features/permanent_slots.feature:1 1856s Jan 19 21:58:26 1856s Jan 19 21:58:26 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1856s Jan 19 21:58:26 Given I start postgres0 # features/steps/basic_replication.py:8 1860s Jan 19 21:58:29 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1860s Jan 19 21:58:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1860s Jan 19 21:58:29 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 1860s Jan 19 21:58:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1860s Jan 19 21:58:30 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1860s Jan 19 21:58:30 When I start postgres1 # features/steps/basic_replication.py:8 1863s Jan 19 21:58:33 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 1866s Jan 19 21:58:36 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1869s Jan 19 21:58:39 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1869s Jan 19 21:58:39 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1869s Jan 19 21:58:39 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1869s Jan 19 21:58:39 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1869s Jan 19 21:58:39 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 1869s Jan 19 21:58:39 1869s Jan 19 21:58:39 @slot-advance 1869s Jan 19 21:58:39 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1869s Jan 19 21:58:39 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1871s Jan 19 21:58:41 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 1871s Jan 19 21:58:41 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1872s Jan 19 21:58:42 1872s Jan 19 21:58:42 @slot-advance 1872s Jan 19 21:58:42 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1872s Jan 19 21:58:42 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1877s Jan 19 21:58:47 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1877s Jan 19 21:58:47 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1878s Jan 19 21:58:48 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1878s Jan 19 21:58:48 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1878s Jan 19 21:58:48 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1878s Jan 19 21:58:48 1878s Jan 19 21:58:48 @slot-advance 1878s Jan 19 21:58:48 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1878s Jan 19 21:58:48 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1878s Jan 19 21:58:48 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1878s Jan 19 21:58:48 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1878s Jan 19 21:58:48 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 1878s Jan 19 21:58:48 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 1879s Jan 19 21:58:48 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1879s Jan 19 21:58:48 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1879s Jan 19 21:58:48 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1879s Jan 19 21:58:48 1879s Jan 19 21:58:48 @slot-advance 1879s Jan 19 21:58:48 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1879s Jan 19 21:58:48 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1879s Jan 19 21:58:48 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1879s Jan 19 21:58:48 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1879s Jan 19 21:58:48 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1882s Jan 19 21:58:51 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1882s Jan 19 21:58:51 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1882s Jan 19 21:58:51 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1882s Jan 19 21:58:51 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1882s Jan 19 21:58:51 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1882s Jan 19 21:58:51 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1882s Jan 19 21:58:51 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1882s Jan 19 21:58:51 1882s Jan 19 21:58:51 @slot-advance 1882s Jan 19 21:58:51 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 1882s Jan 19 21:58:51 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 1882s Jan 19 21:58:51 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 1882s Jan 19 21:58:51 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 1882s Jan 19 21:58:51 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 1882s Jan 19 21:58:51 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 1882s Jan 19 21:58:51 1882s Jan 19 21:58:51 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 1882s Jan 19 21:58:51 Given I shut down postgres3 # features/steps/basic_replication.py:29 1883s Jan 19 21:58:52 And I shut down postgres2 # features/steps/basic_replication.py:29 1884s Jan 19 21:58:53 And I shut down postgres0 # features/steps/basic_replication.py:29 1886s Jan 19 21:58:55 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1886s Jan 19 21:58:55 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1886s Jan 19 21:58:55 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1886s Jan 19 21:58:55 When I start postgres0 # features/steps/basic_replication.py:8 1889s Jan 19 21:58:59 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 1889s Jan 19 21:58:59 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1889s Jan 19 21:58:59 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1892s Jan 19 21:59:02 1892s Jan 19 21:59:02 Feature: priority replication # features/priority_failover.feature:1 1892s Jan 19 21:59:02 We should check that we can give nodes priority during failover 1892s Jan 19 21:59:02 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1892s Jan 19 21:59:02 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1895s Jan 19 21:59:05 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1898s Jan 19 21:59:08 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1899s Jan 19 21:59:09 When I shut down postgres0 # features/steps/basic_replication.py:29 1901s Jan 19 21:59:11 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 1903s Jan 19 21:59:13 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1903s Jan 19 21:59:13 When I start postgres0 # features/steps/basic_replication.py:8 1905s Jan 19 21:59:15 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1907s Jan 19 21:59:17 1907s Jan 19 21:59:17 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1907s Jan 19 21:59:17 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1910s Jan 19 21:59:20 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1913s Jan 19 21:59:23 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1914s Jan 19 21:59:24 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1915s Jan 19 21:59:25 When I shut down postgres0 # features/steps/basic_replication.py:29 1917s Jan 19 21:59:27 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1918s Jan 19 21:59:28 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 1918s Jan 19 21:59:28 1918s Jan 19 21:59:28 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1918s Jan 19 21:59:28 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1918s Jan 19 21:59:28 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1918s Jan 19 21:59:28 Then I receive a response code 202 # features/steps/patroni_api.py:98 1918s Jan 19 21:59:28 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 1919s Jan 19 21:59:29 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1920s Jan 19 21:59:30 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1920s Jan 19 21:59:30 Then I receive a response code 412 # features/steps/patroni_api.py:98 1920s Jan 19 21:59:30 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1920s Jan 19 21:59:30 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1920s Jan 19 21:59:30 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1920s Jan 19 21:59:30 Then I receive a response code 202 # features/steps/patroni_api.py:98 1920s Jan 19 21:59:30 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 1921s Jan 19 21:59:31 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1922s Jan 19 21:59:32 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1927s Jan 19 21:59:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1927s Jan 19 21:59:37 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1931s Jan 19 21:59:41 1931s Jan 19 21:59:41 Feature: recovery # features/recovery.feature:1 1931s Jan 19 21:59:41 We want to check that crashed postgres is started back 1931s Jan 19 21:59:41 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1931s Jan 19 21:59:41 Given I start postgres0 # features/steps/basic_replication.py:8 1934s Jan 19 21:59:44 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1934s Jan 19 21:59:44 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1934s Jan 19 21:59:44 When I start postgres1 # features/steps/basic_replication.py:8 1937s Jan 19 21:59:47 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1937s Jan 19 21:59:47 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1938s Jan 19 21:59:48 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1938s Jan 19 21:59:48 waiting for server to shut down.... done 1938s Jan 19 21:59:48 server stopped 1938s Jan 19 21:59:48 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1940s Jan 19 21:59:50 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1940s Jan 19 21:59:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1940s Jan 19 21:59:50 And I receive a response role master # features/steps/patroni_api.py:98 1940s Jan 19 21:59:50 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1940s Jan 19 21:59:50 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1941s Jan 19 21:59:51 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1944s Jan 19 21:59:54 1944s Jan 19 21:59:54 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1944s Jan 19 21:59:54 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 1944s Jan 19 21:59:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1944s Jan 19 21:59:54 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1944s Jan 19 21:59:54 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1944s Jan 19 21:59:54 waiting for server to shut down.... done 1944s Jan 19 21:59:54 server stopped 1944s Jan 19 21:59:54 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1946s Jan 19 21:59:56 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1947s Jan 19 21:59:57 1947s Jan 19 21:59:57 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 1947s Jan 19 21:59:57 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"master_start_timeout": null} # features/steps/patroni_api.py:71 1947s Jan 19 21:59:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1947s Jan 19 21:59:57 And postgres0 role is the replica after 10 seconds # features/steps/basic_replication.py:105 1949s Jan 19 21:59:59 When I ensure postgres1 fails to start after a failure # features/steps/recovery.py:6 1949s Jan 19 21:59:59 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1950s Jan 19 22:00:00 waiting for server to shut down.... done 1950s Jan 19 22:00:00 server stopped 1950s Jan 19 22:00:00 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1953s Jan 19 22:00:03 And there is a postgres1_cb.log with "on_role_change demoted batman" in postgres1 data directory # features/steps/cascading_replication.py:12 1956s Jan 19 22:00:06 1956s Jan 19 22:00:06 Feature: standby cluster # features/standby_cluster.feature:1 1956s Jan 19 22:00:06 1956s Jan 19 22:00:06 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1956s Jan 19 22:00:06 Given I start postgres1 # features/steps/basic_replication.py:8 1959s Jan 19 22:00:09 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1959s Jan 19 22:00:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1959s Jan 19 22:00:09 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 1959s Jan 19 22:00:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1959s Jan 19 22:00:09 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1959s Jan 19 22:00:09 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1962s Jan 19 22:00:12 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 1962s Jan 19 22:00:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1962s Jan 19 22:00:12 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1962s Jan 19 22:00:12 When I start postgres0 # features/steps/basic_replication.py:8 1965s Jan 19 22:00:15 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1966s Jan 19 22:00:16 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1968s Jan 19 22:00:18 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1968s Jan 19 22:00:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 1968s Jan 19 22:00:18 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1968s Jan 19 22:00:18 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1968s Jan 19 22:00:18 1968s Jan 19 22:00:18 @slot-advance 1968s Jan 19 22:00:18 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1968s Jan 19 22:00:18 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1970s Jan 19 22:00:20 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1976s Jan 19 22:00:26 1976s Jan 19 22:00:26 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1976s Jan 19 22:00:26 When I shut down postgres1 # features/steps/basic_replication.py:29 1978s Jan 19 22:00:28 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1978s Jan 19 22:00:28 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1982s Jan 19 22:00:32 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1982s Jan 19 22:00:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 1982s Jan 19 22:00:32 1982s Jan 19 22:00:32 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1982s Jan 19 22:00:32 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1985s Jan 19 22:00:35 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1985s Jan 19 22:00:35 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1985s Jan 19 22:00:35 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1985s Jan 19 22:00:35 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1985s Jan 19 22:00:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1985s Jan 19 22:00:35 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1985s Jan 19 22:00:35 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1988s Jan 19 22:00:38 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1988s Jan 19 22:00:38 Then I receive a response code 503 # features/steps/patroni_api.py:98 1988s Jan 19 22:00:38 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1988s Jan 19 22:00:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1988s Jan 19 22:00:38 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1988s Jan 19 22:00:38 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1988s Jan 19 22:00:38 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1991s Jan 19 22:00:41 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1991s Jan 19 22:00:41 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1992s Jan 19 22:00:42 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1992s Jan 19 22:00:42 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1992s Jan 19 22:00:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 1992s Jan 19 22:00:42 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1992s Jan 19 22:00:42 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1992s Jan 19 22:00:42 1992s Jan 19 22:00:42 Scenario: check switchover # features/standby_cluster.feature:57 1992s Jan 19 22:00:42 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1995s Jan 19 22:00:45 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1995s Jan 19 22:00:45 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1998s Jan 19 22:00:48 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 1998s Jan 19 22:00:48 1998s Jan 19 22:00:48 Scenario: check failover # features/standby_cluster.feature:63 1998s Jan 19 22:00:48 When I kill postgres2 # features/steps/basic_replication.py:34 1999s Jan 19 22:00:49 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1999s Jan 19 22:00:49 waiting for server to shut down.... done 1999s Jan 19 22:00:49 server stopped 1999s Jan 19 22:00:49 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2022s Jan 19 22:01:11 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2022s Jan 19 22:01:12 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2022s Jan 19 22:01:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 2022s Jan 19 22:01:12 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2022s Jan 19 22:01:12 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2023s Jan 19 22:01:13 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 2027s Jan 19 22:01:17 2027s Jan 19 22:01:17 Feature: watchdog # features/watchdog.feature:1 2027s Jan 19 22:01:17 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2027s Jan 19 22:01:17 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2027s Jan 19 22:01:17 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2030s Jan 19 22:01:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2030s Jan 19 22:01:20 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2030s Jan 19 22:01:20 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2031s Jan 19 22:01:21 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2031s Jan 19 22:01:21 2031s Jan 19 22:01:21 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2031s Jan 19 22:01:21 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2032s Jan 19 22:01:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2032s Jan 19 22:01:22 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2032s Jan 19 22:01:22 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2036s Jan 19 22:01:26 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2036s Jan 19 22:01:26 2036s Jan 19 22:01:26 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2036s Jan 19 22:01:26 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2037s Jan 19 22:01:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2037s Jan 19 22:01:27 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2039s Jan 19 22:01:29 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2039s Jan 19 22:01:29 2039s Jan 19 22:01:29 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2039s Jan 19 22:01:29 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2039s Jan 19 22:01:29 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2040s Jan 19 22:01:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2040s Jan 19 22:01:30 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2041s Jan 19 22:01:31 2041s Jan 19 22:01:31 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2041s Jan 19 22:01:31 Given I shut down postgres0 # features/steps/basic_replication.py:29 2043s Jan 19 22:01:33 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2043s Jan 19 22:01:33 2043s Jan 19 22:01:33 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2043s Jan 19 22:01:33 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2043s Jan 19 22:01:33 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2047s Jan 19 22:01:36 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2048s Jan 19 22:01:37 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2048s Jan 19 22:01:37 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2075s Jan 19 22:02:05 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10083.XHFwhvIx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10128.XHyLXiBx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10375.XsjbbORx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10440.XhbQBXnx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10496.XfpbUKTx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10603.XOATOMkx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10728.XeZQIcTx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10875.XfUzcGKx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10923.XnzGADRx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10930.XnMFWjhx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10935.XQUqKiDx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.10951.XYwAJwvx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.6973.XkrnlbSx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7019.XUlpRxqx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7074.XgznHzXx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7129.XKrqxGPx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7178.XlwQmzyx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7253.XaDJVLmx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7304.XsMApIjx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7312.XCBaUkox 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7393.XjmIQwxx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7492.XbjaHVvx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7508.XWyWeEix 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7553.XrRlCEzx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7604.XUdUwlix 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7731.XMaATHnx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7778.XNqncwux 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7835.XeGHNrlx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7936.XHQAfbfx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.7993.XxNJbaVx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8057.XSbVDYtx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8152.XBJlceyx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8257.XxQVSvNx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8302.XOwhCoox 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8371.XYwuoAix 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8405.XwEENChx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8520.XhibdNvx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8571.XyGVxkqx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8591.XqiIuFMx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8632.XjurbgBx 2075s Jan 19 22:02:05 Skipping duplicate data .coverage.autopkgtest.8688.XrRBgAex 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8695.XdWEHsIx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8734.XZvREXXx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8780.XNePFKSx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8909.XHCwuGxx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8913.XrXGgLux 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.8922.XYTMGyVx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9066.XywBBtOx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9114.XfrYWPjx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9157.XQWTXKHx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9210.XithVPux 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9257.XtdtAAkx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9405.XfSdChRx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9473.XlXkxqPx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9518.XtXFzrOx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9596.XmrkPYmx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9673.XKajrZwx 2075s Jan 19 22:02:05 Combined data file .coverage.autopkgtest.9727.XajjrFCx 2077s Jan 19 22:02:07 Name Stmts Miss Cover 2077s Jan 19 22:02:07 -------------------------------------------------------------------------------------------------------- 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/api.py 780 292 63% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 92 86% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 289 70 76% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/ha.py 1271 377 70% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 170 79% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 839 217 74% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 129 69% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 41 88% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/utils.py 370 122 67% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/six.py 506 259 49% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2077s Jan 19 22:02:07 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2077s Jan 19 22:02:07 patroni/__init__.py 13 2 85% 2077s Jan 19 22:02:07 patroni/__main__.py 199 199 0% 2077s Jan 19 22:02:07 patroni/api.py 780 780 0% 2077s Jan 19 22:02:07 patroni/async_executor.py 96 69 28% 2077s Jan 19 22:02:07 patroni/collections.py 56 15 73% 2077s Jan 19 22:02:07 patroni/config.py 371 194 48% 2077s Jan 19 22:02:07 patroni/config_generator.py 212 212 0% 2077s Jan 19 22:02:07 patroni/ctl.py 941 413 56% 2077s Jan 19 22:02:07 patroni/daemon.py 76 76 0% 2077s Jan 19 22:02:07 patroni/dcs/__init__.py 654 276 58% 2077s Jan 19 22:02:07 patroni/dcs/consul.py 484 484 0% 2077s Jan 19 22:02:07 patroni/dcs/etcd3.py 679 679 0% 2077s Jan 19 22:02:07 patroni/dcs/etcd.py 603 603 0% 2077s Jan 19 22:02:07 patroni/dcs/exhibitor.py 62 62 0% 2077s Jan 19 22:02:07 patroni/dcs/kubernetes.py 940 940 0% 2077s Jan 19 22:02:07 patroni/dcs/raft.py 319 319 0% 2077s Jan 19 22:02:07 patroni/dcs/zookeeper.py 289 153 47% 2077s Jan 19 22:02:07 patroni/dynamic_loader.py 35 7 80% 2077s Jan 19 22:02:07 patroni/exceptions.py 16 1 94% 2077s Jan 19 22:02:07 patroni/file_perm.py 43 15 65% 2077s Jan 19 22:02:07 patroni/global_config.py 81 18 78% 2077s Jan 19 22:02:07 patroni/ha.py 1271 1271 0% 2077s Jan 19 22:02:07 patroni/log.py 221 175 21% 2077s Jan 19 22:02:07 patroni/postgresql/__init__.py 822 652 21% 2077s Jan 19 22:02:07 patroni/postgresql/available_parameters/__init__.py 24 6 75% 2077s Jan 19 22:02:07 patroni/postgresql/bootstrap.py 255 225 12% 2077s Jan 19 22:02:07 patroni/postgresql/callback_executor.py 55 34 38% 2077s Jan 19 22:02:07 patroni/postgresql/cancellable.py 104 84 19% 2077s Jan 19 22:02:07 patroni/postgresql/config.py 839 719 14% 2077s Jan 19 22:02:07 patroni/postgresql/connection.py 75 50 33% 2077s Jan 19 22:02:07 patroni/postgresql/misc.py 43 30 30% 2077s Jan 19 22:02:07 patroni/postgresql/mpp/__init__.py 89 21 76% 2077s Jan 19 22:02:07 patroni/postgresql/mpp/citus.py 259 259 0% 2077s Jan 19 22:02:07 patroni/postgresql/postmaster.py 170 139 18% 2077s Jan 19 22:02:07 patroni/postgresql/rewind.py 416 416 0% 2077s Jan 19 22:02:07 patroni/postgresql/slots.py 349 300 14% 2077s Jan 19 22:02:07 patroni/postgresql/sync.py 130 96 26% 2077s Jan 19 22:02:07 patroni/postgresql/validator.py 157 52 67% 2077s Jan 19 22:02:07 patroni/psycopg.py 46 32 30% 2077s Jan 19 22:02:07 patroni/raft_controller.py 22 22 0% 2077s Jan 19 22:02:07 patroni/request.py 58 6 90% 2077s Jan 19 22:02:07 patroni/scripts/__init__.py 0 0 100% 2077s Jan 19 22:02:07 patroni/scripts/aws.py 59 59 0% 2077s Jan 19 22:02:07 patroni/scripts/barman/__init__.py 0 0 100% 2077s Jan 19 22:02:07 patroni/scripts/barman/cli.py 51 51 0% 2077s Jan 19 22:02:07 patroni/scripts/barman/config_switch.py 51 51 0% 2077s Jan 19 22:02:07 patroni/scripts/barman/recover.py 37 37 0% 2077s Jan 19 22:02:07 patroni/scripts/barman/utils.py 94 94 0% 2077s Jan 19 22:02:07 patroni/scripts/wale_restore.py 207 207 0% 2077s Jan 19 22:02:07 patroni/tags.py 38 11 71% 2077s Jan 19 22:02:07 patroni/utils.py 370 246 34% 2077s Jan 19 22:02:07 patroni/validator.py 307 221 28% 2077s Jan 19 22:02:07 patroni/version.py 1 0 100% 2077s Jan 19 22:02:07 patroni/watchdog/__init__.py 2 2 0% 2077s Jan 19 22:02:07 patroni/watchdog/base.py 203 203 0% 2077s Jan 19 22:02:07 patroni/watchdog/linux.py 135 135 0% 2077s Jan 19 22:02:07 -------------------------------------------------------------------------------------------------------- 2077s Jan 19 22:02:07 TOTAL 40062 23988 40% 2077s Jan 19 22:02:07 11 features passed, 0 failed, 1 skipped 2077s Jan 19 22:02:07 45 scenarios passed, 0 failed, 5 skipped 2077s Jan 19 22:02:07 452 steps passed, 0 failed, 61 skipped, 0 undefined 2077s Jan 19 22:02:07 Took 7m0.033s 2077s + echo '### End 17 acceptance-zookeeper -e dcs_failsafe_mode ###' 2077s + rm -f '/tmp/pgpass?' 2077s ### End 17 acceptance-zookeeper -e dcs_failsafe_mode ### 2077s ++ id -u 2077s + '[' 0 -eq 0 ']' 2077s + '[' -x /etc/init.d/zookeeper ']' 2077s + /etc/init.d/zookeeper stop 2077s Stopping zookeeper (via systemctl): zookeeper.service. 2077s autopkgtest [22:02:07]: test acceptance-zookeeper: -----------------------] 2078s autopkgtest [22:02:08]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2078s acceptance-zookeeper PASS 2078s autopkgtest [22:02:08]: test acceptance-raft: preparing testbed 2194s autopkgtest [22:04:04]: testbed dpkg architecture: arm64 2195s autopkgtest [22:04:05]: testbed apt version: 2.9.18 2195s autopkgtest [22:04:05]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2195s autopkgtest [22:04:05]: testbed release detected to be: plucky 2196s autopkgtest [22:04:06]: updating testbed package index (apt update) 2196s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2196s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2196s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2197s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2197s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [146 kB] 2197s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 2197s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [773 kB] 2197s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB] 2197s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [268 kB] 2197s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 2197s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [901 kB] 2197s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [10.5 kB] 2197s Fetched 2254 kB in 1s (2382 kB/s) 2198s Reading package lists... 2199s Reading package lists... 2200s Building dependency tree... 2200s Reading state information... 2201s Calculating upgrade... 2202s The following packages will be upgraded: 2202s dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpgconf 2202s gpgsm gpgv keyboxd liblz4-1 libzstd1 zstd 2202s 14 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2202s Need to get 3197 kB of archives. 2202s After this operation, 69.6 kB of additional disk space will be used. 2202s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libzstd1 arm64 1.5.6+dfsg-2 [279 kB] 2203s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-wks-client arm64 2.4.4-2ubuntu22 [70.2 kB] 2203s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 dirmngr arm64 2.4.4-2ubuntu22 [320 kB] 2203s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgsm arm64 2.4.4-2ubuntu22 [227 kB] 2203s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-utils arm64 2.4.4-2ubuntu22 [107 kB] 2203s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-agent arm64 2.4.4-2ubuntu22 [224 kB] 2203s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg arm64 2.4.4-2ubuntu22 [554 kB] 2203s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgconf arm64 2.4.4-2ubuntu22 [103 kB] 2203s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg all 2.4.4-2ubuntu22 [359 kB] 2203s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 keyboxd arm64 2.4.4-2ubuntu22 [75.7 kB] 2203s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgv arm64 2.4.4-2ubuntu22 [153 kB] 2203s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 liblz4-1 arm64 1.9.4-4 [63.7 kB] 2203s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-l10n all 2.4.4-2ubuntu22 [66.4 kB] 2203s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 zstd arm64 1.5.6+dfsg-2 [594 kB] 2203s Fetched 3197 kB in 1s (4268 kB/s) 2204s (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 ... 80201 files and directories currently installed.) 2204s Preparing to unpack .../libzstd1_1.5.6+dfsg-2_arm64.deb ... 2204s Unpacking libzstd1:arm64 (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 2204s Setting up libzstd1:arm64 (1.5.6+dfsg-2) ... 2204s (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 ... 80201 files and directories currently installed.) 2204s Preparing to unpack .../0-gpg-wks-client_2.4.4-2ubuntu22_arm64.deb ... 2204s Unpacking gpg-wks-client (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Preparing to unpack .../1-dirmngr_2.4.4-2ubuntu22_arm64.deb ... 2204s Unpacking dirmngr (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Preparing to unpack .../2-gpgsm_2.4.4-2ubuntu22_arm64.deb ... 2204s Unpacking gpgsm (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Preparing to unpack .../3-gnupg-utils_2.4.4-2ubuntu22_arm64.deb ... 2204s Unpacking gnupg-utils (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Preparing to unpack .../4-gpg-agent_2.4.4-2ubuntu22_arm64.deb ... 2204s Unpacking gpg-agent (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Preparing to unpack .../5-gpg_2.4.4-2ubuntu22_arm64.deb ... 2204s Unpacking gpg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Preparing to unpack .../6-gpgconf_2.4.4-2ubuntu22_arm64.deb ... 2204s Unpacking gpgconf (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Preparing to unpack .../7-gnupg_2.4.4-2ubuntu22_all.deb ... 2204s Unpacking gnupg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Preparing to unpack .../8-keyboxd_2.4.4-2ubuntu22_arm64.deb ... 2204s Unpacking keyboxd (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Preparing to unpack .../9-gpgv_2.4.4-2ubuntu22_arm64.deb ... 2204s Unpacking gpgv (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2204s Setting up gpgv (2.4.4-2ubuntu22) ... 2204s (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 ... 80201 files and directories currently installed.) 2204s Preparing to unpack .../liblz4-1_1.9.4-4_arm64.deb ... 2204s Unpacking liblz4-1:arm64 (1.9.4-4) over (1.9.4-3) ... 2204s Setting up liblz4-1:arm64 (1.9.4-4) ... 2205s (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 ... 80201 files and directories currently installed.) 2205s Preparing to unpack .../gnupg-l10n_2.4.4-2ubuntu22_all.deb ... 2205s Unpacking gnupg-l10n (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 2205s Preparing to unpack .../zstd_1.5.6+dfsg-2_arm64.deb ... 2205s Unpacking zstd (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 2205s Setting up gnupg-l10n (2.4.4-2ubuntu22) ... 2205s Setting up gpgconf (2.4.4-2ubuntu22) ... 2205s Setting up zstd (1.5.6+dfsg-2) ... 2205s Setting up gpg (2.4.4-2ubuntu22) ... 2205s Setting up gnupg-utils (2.4.4-2ubuntu22) ... 2205s Setting up gpg-agent (2.4.4-2ubuntu22) ... 2205s Setting up gpgsm (2.4.4-2ubuntu22) ... 2205s Setting up dirmngr (2.4.4-2ubuntu22) ... 2205s Setting up keyboxd (2.4.4-2ubuntu22) ... 2206s Setting up gnupg (2.4.4-2ubuntu22) ... 2206s Setting up gpg-wks-client (2.4.4-2ubuntu22) ... 2206s Processing triggers for man-db (2.13.0-1) ... 2207s Processing triggers for install-info (7.1.1-1) ... 2207s Processing triggers for libc-bin (2.40-4ubuntu1) ... 2207s Reading package lists... 2208s Building dependency tree... 2208s Reading state information... 2208s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 2208s autopkgtest [22:04:18]: upgrading testbed (apt dist-upgrade and autopurge) 2209s Reading package lists... 2209s Building dependency tree... 2209s Reading state information... 2210s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 2210s Starting 2 pkgProblemResolver with broken count: 0 2210s Done 2211s Entering ResolveByKeep 2211s 2211s The following packages were automatically installed and are no longer required: 2211s python3.12 python3.12-minimal 2211s Use 'sudo apt autoremove' to remove them. 2211s The following NEW packages will be installed: 2211s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 2211s The following packages will be upgraded: 2211s libpython3-stdlib python3 python3-minimal 2212s 3 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 2212s Need to get 5993 kB of archives. 2212s After this operation, 24.4 MB of additional disk space will be used. 2212s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-3 [879 kB] 2212s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-3 [2262 kB] 2212s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.13.1-1~exp2 [27.6 kB] 2212s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.13.1-1~exp2 [23.9 kB] 2212s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-3 [2061 kB] 2212s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-3 [729 kB] 2212s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.13.1-1~exp2 [10.2 kB] 2213s Fetched 5993 kB in 1s (7131 kB/s) 2213s Selecting previously unselected package libpython3.13-minimal:arm64. 2213s (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 ... 80201 files and directories currently installed.) 2213s Preparing to unpack .../libpython3.13-minimal_3.13.1-3_arm64.deb ... 2213s Unpacking libpython3.13-minimal:arm64 (3.13.1-3) ... 2213s Selecting previously unselected package python3.13-minimal. 2213s Preparing to unpack .../python3.13-minimal_3.13.1-3_arm64.deb ... 2213s Unpacking python3.13-minimal (3.13.1-3) ... 2213s Setting up libpython3.13-minimal:arm64 (3.13.1-3) ... 2213s Setting up python3.13-minimal (3.13.1-3) ... 2214s (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 ... 80522 files and directories currently installed.) 2214s Preparing to unpack .../python3-minimal_3.13.1-1~exp2_arm64.deb ... 2214s Unpacking python3-minimal (3.13.1-1~exp2) over (3.12.8-1) ... 2214s Setting up python3-minimal (3.13.1-1~exp2) ... 2214s (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 ... 80522 files and directories currently installed.) 2214s Preparing to unpack .../python3_3.13.1-1~exp2_arm64.deb ... 2214s Unpacking python3 (3.13.1-1~exp2) over (3.12.8-1) ... 2214s Selecting previously unselected package libpython3.13-stdlib:arm64. 2215s Preparing to unpack .../libpython3.13-stdlib_3.13.1-3_arm64.deb ... 2215s Unpacking libpython3.13-stdlib:arm64 (3.13.1-3) ... 2215s Selecting previously unselected package python3.13. 2215s Preparing to unpack .../python3.13_3.13.1-3_arm64.deb ... 2215s Unpacking python3.13 (3.13.1-3) ... 2215s Preparing to unpack .../libpython3-stdlib_3.13.1-1~exp2_arm64.deb ... 2215s Unpacking libpython3-stdlib:arm64 (3.13.1-1~exp2) over (3.12.8-1) ... 2215s Setting up libpython3.13-stdlib:arm64 (3.13.1-3) ... 2215s Setting up libpython3-stdlib:arm64 (3.13.1-1~exp2) ... 2215s Setting up python3.13 (3.13.1-3) ... 2216s Setting up python3 (3.13.1-1~exp2) ... 2216s /usr/bin/py3clean:101: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 2216s for fn in glob1(directory, "%s.*" % fname): 2217s Processing triggers for man-db (2.13.0-1) ... 2217s Processing triggers for systemd (257-2ubuntu1) ... 2217s Reading package lists... 2218s Building dependency tree... 2218s Reading state information... 2219s Starting pkgProblemResolver with broken count: 0 2219s Starting 2 pkgProblemResolver with broken count: 0 2219s Done 2220s The following packages will be REMOVED: 2220s python3.12* python3.12-minimal* 2221s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 2221s After this operation, 8710 kB disk space will be freed. 2221s (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 ... 80938 files and directories currently installed.) 2221s Removing python3.12 (3.12.8-3) ... 2221s Removing python3.12-minimal (3.12.8-3) ... 2221s /usr/bin/py3clean:125: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 2221s for fn in glob1(directory, "%s.%s.py[co]" % (fname, magic_tag)): 2222s Processing triggers for man-db (2.13.0-1) ... 2222s Processing triggers for systemd (257-2ubuntu1) ... 2223s (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 ... 80910 files and directories currently installed.) 2223s Purging configuration files for python3.12-minimal (3.12.8-3) ... 2226s Reading package lists... 2226s Building dependency tree... 2226s Reading state information... 2227s Starting pkgProblemResolver with broken count: 0 2227s Starting 2 pkgProblemResolver with broken count: 0 2227s Done 2228s The following NEW packages will be installed: 2228s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2228s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libtime-duration-perl 2228s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 2228s postgresql-17 postgresql-client-17 postgresql-client-common 2228s postgresql-common python3-behave python3-cdiff python3-click 2228s python3-coverage python3-dateutil python3-parse python3-parse-type 2228s python3-prettytable python3-psutil python3-psycopg2 python3-pysyncobj 2228s python3-six python3-wcwidth python3-ydiff python3.12 python3.12-minimal 2228s sphinx-rtd-theme-common ssl-cert 2228s 0 upgraded, 38 newly installed, 0 to remove and 0 not upgraded. 2228s Need to get 27.1 MB of archives. 2228s After this operation, 96.8 MB of additional disk space will be used. 2228s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.8-3 [2236 kB] 2229s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 2229s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 2229s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 2229s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 2229s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 267 [37.1 kB] 2229s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 2229s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 267 [162 kB] 2229s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.8-3 [667 kB] 2229s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2229s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2229s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2229s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-3 [30.9 kB] 2229s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 2229s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 2229s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 2229s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 2229s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 2229s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.8-1 [79.8 kB] 2229s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 2229s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2229s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 2229s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 2229s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 2229s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 2229s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 2229s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 2229s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.5-1 [269 kB] 2229s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 2229s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.5-1 [510 kB] 2229s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-17 arm64 17.2-1 [1318 kB] 2229s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-17 arm64 17.2-1 [15.5 MB] 2230s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 17+267 [12.2 kB] 2230s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 2230s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 2230s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 2230s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 2230s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 2230s Preconfiguring packages ... 2230s Fetched 27.1 MB in 2s (16.0 MB/s) 2231s Selecting previously unselected package python3.12-minimal. 2231s (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 ... 80910 files and directories currently installed.) 2231s Preparing to unpack .../00-python3.12-minimal_3.12.8-3_arm64.deb ... 2231s Unpacking python3.12-minimal (3.12.8-3) ... 2231s Selecting previously unselected package fonts-lato. 2231s Preparing to unpack .../01-fonts-lato_2.015-1_all.deb ... 2231s Unpacking fonts-lato (2.015-1) ... 2231s Selecting previously unselected package libjson-perl. 2231s Preparing to unpack .../02-libjson-perl_4.10000-1_all.deb ... 2231s Unpacking libjson-perl (4.10000-1) ... 2231s Selecting previously unselected package libio-pty-perl. 2231s Preparing to unpack .../03-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 2231s Unpacking libio-pty-perl (1:1.20-1build3) ... 2231s Selecting previously unselected package libipc-run-perl. 2231s Preparing to unpack .../04-libipc-run-perl_20231003.0-2_all.deb ... 2231s Unpacking libipc-run-perl (20231003.0-2) ... 2231s Selecting previously unselected package postgresql-client-common. 2231s Preparing to unpack .../05-postgresql-client-common_267_all.deb ... 2231s Unpacking postgresql-client-common (267) ... 2231s Selecting previously unselected package ssl-cert. 2231s Preparing to unpack .../06-ssl-cert_1.1.3ubuntu1_all.deb ... 2231s Unpacking ssl-cert (1.1.3ubuntu1) ... 2231s Selecting previously unselected package postgresql-common. 2231s Preparing to unpack .../07-postgresql-common_267_all.deb ... 2231s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2231s Unpacking postgresql-common (267) ... 2231s Selecting previously unselected package python3.12. 2231s Preparing to unpack .../08-python3.12_3.12.8-3_arm64.deb ... 2231s Unpacking python3.12 (3.12.8-3) ... 2231s Selecting previously unselected package fonts-font-awesome. 2231s Preparing to unpack .../09-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2231s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2232s Selecting previously unselected package libjs-jquery. 2232s Preparing to unpack .../10-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2232s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2232s Selecting previously unselected package libjs-underscore. 2232s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2232s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2232s Selecting previously unselected package libjs-sphinxdoc. 2232s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-3_all.deb ... 2232s Unpacking libjs-sphinxdoc (8.1.3-3) ... 2232s Selecting previously unselected package libpq5:arm64. 2232s Preparing to unpack .../13-libpq5_17.2-1_arm64.deb ... 2232s Unpacking libpq5:arm64 (17.2-1) ... 2232s Selecting previously unselected package libtime-duration-perl. 2232s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 2232s Unpacking libtime-duration-perl (1.21-2) ... 2232s Selecting previously unselected package libtimedate-perl. 2232s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 2232s Unpacking libtimedate-perl (2.3300-2) ... 2232s Selecting previously unselected package libxslt1.1:arm64. 2232s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 2232s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 2232s Selecting previously unselected package moreutils. 2232s Preparing to unpack .../17-moreutils_0.69-1_arm64.deb ... 2232s Unpacking moreutils (0.69-1) ... 2232s Selecting previously unselected package python3-click. 2232s Preparing to unpack .../18-python3-click_8.1.8-1_all.deb ... 2232s Unpacking python3-click (8.1.8-1) ... 2232s Selecting previously unselected package python3-dateutil. 2232s Preparing to unpack .../19-python3-dateutil_2.9.0-3_all.deb ... 2232s Unpacking python3-dateutil (2.9.0-3) ... 2232s Selecting previously unselected package python3-wcwidth. 2232s Preparing to unpack .../20-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2232s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2232s Selecting previously unselected package python3-prettytable. 2232s Preparing to unpack .../21-python3-prettytable_3.12.0-1_all.deb ... 2232s Unpacking python3-prettytable (3.12.0-1) ... 2232s Selecting previously unselected package python3-psutil. 2232s Preparing to unpack .../22-python3-psutil_5.9.8-2build3_arm64.deb ... 2232s Unpacking python3-psutil (5.9.8-2build3) ... 2232s Selecting previously unselected package python3-psycopg2. 2232s Preparing to unpack .../23-python3-psycopg2_2.9.10-1_arm64.deb ... 2232s Unpacking python3-psycopg2 (2.9.10-1) ... 2232s Selecting previously unselected package python3-pysyncobj. 2232s Preparing to unpack .../24-python3-pysyncobj_0.3.12-1_all.deb ... 2232s Unpacking python3-pysyncobj (0.3.12-1) ... 2232s Selecting previously unselected package python3-ydiff. 2232s Preparing to unpack .../25-python3-ydiff_1.4.2-1_all.deb ... 2232s Unpacking python3-ydiff (1.4.2-1) ... 2233s Selecting previously unselected package python3-cdiff. 2233s Preparing to unpack .../26-python3-cdiff_1.4.2-1_all.deb ... 2233s Unpacking python3-cdiff (1.4.2-1) ... 2233s Selecting previously unselected package patroni. 2233s Preparing to unpack .../27-patroni_3.3.5-1_all.deb ... 2233s Unpacking patroni (3.3.5-1) ... 2233s Selecting previously unselected package sphinx-rtd-theme-common. 2233s Preparing to unpack .../28-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 2233s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2233s Selecting previously unselected package patroni-doc. 2233s Preparing to unpack .../29-patroni-doc_3.3.5-1_all.deb ... 2233s Unpacking patroni-doc (3.3.5-1) ... 2233s Selecting previously unselected package postgresql-client-17. 2233s Preparing to unpack .../30-postgresql-client-17_17.2-1_arm64.deb ... 2233s Unpacking postgresql-client-17 (17.2-1) ... 2233s Selecting previously unselected package postgresql-17. 2233s Preparing to unpack .../31-postgresql-17_17.2-1_arm64.deb ... 2233s Unpacking postgresql-17 (17.2-1) ... 2234s Selecting previously unselected package postgresql. 2234s Preparing to unpack .../32-postgresql_17+267_all.deb ... 2234s Unpacking postgresql (17+267) ... 2234s Selecting previously unselected package python3-parse. 2234s Preparing to unpack .../33-python3-parse_1.20.2-1_all.deb ... 2234s Unpacking python3-parse (1.20.2-1) ... 2234s Selecting previously unselected package python3-six. 2234s Preparing to unpack .../34-python3-six_1.17.0-1_all.deb ... 2234s Unpacking python3-six (1.17.0-1) ... 2234s Selecting previously unselected package python3-parse-type. 2234s Preparing to unpack .../35-python3-parse-type_0.6.4-1_all.deb ... 2234s Unpacking python3-parse-type (0.6.4-1) ... 2234s Selecting previously unselected package python3-behave. 2234s Preparing to unpack .../36-python3-behave_1.2.6-6_all.deb ... 2234s Unpacking python3-behave (1.2.6-6) ... 2234s Selecting previously unselected package python3-coverage. 2234s Preparing to unpack .../37-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 2234s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2234s Setting up python3.12-minimal (3.12.8-3) ... 2236s Setting up fonts-lato (2.015-1) ... 2236s Setting up libio-pty-perl (1:1.20-1build3) ... 2236s Setting up python3-pysyncobj (0.3.12-1) ... 2236s Setting up python3.12 (3.12.8-3) ... 2238s Setting up python3-ydiff (1.4.2-1) ... 2238s Setting up libpq5:arm64 (17.2-1) ... 2238s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2239s Setting up python3-click (8.1.8-1) ... 2239s Setting up python3-psutil (5.9.8-2build3) ... 2240s Setting up python3-six (1.17.0-1) ... 2240s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2240s Setting up ssl-cert (1.1.3ubuntu1) ... 2241s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2241s Setting up python3-psycopg2 (2.9.10-1) ... 2242s Setting up libipc-run-perl (20231003.0-2) ... 2242s Setting up libtime-duration-perl (1.21-2) ... 2242s Setting up libtimedate-perl (2.3300-2) ... 2242s Setting up python3-parse (1.20.2-1) ... 2242s Setting up libjson-perl (4.10000-1) ... 2242s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 2242s Setting up python3-dateutil (2.9.0-3) ... 2243s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2243s Setting up python3-prettytable (3.12.0-1) ... 2243s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2243s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2243s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2243s Setting up postgresql-client-common (267) ... 2243s Setting up moreutils (0.69-1) ... 2243s Setting up postgresql-client-17 (17.2-1) ... 2244s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 2244s Setting up python3-cdiff (1.4.2-1) ... 2244s Setting up python3-parse-type (0.6.4-1) ... 2244s Setting up postgresql-common (267) ... 2245s Creating config file /etc/postgresql-common/createcluster.conf with new version 2245s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2245s Removing obsolete dictionary files: 2246s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2247s Setting up libjs-sphinxdoc (8.1.3-3) ... 2247s Setting up python3-behave (1.2.6-6) ... 2247s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2247s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2247s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2247s """Registers a custom type that will be available to "parse" 2247s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2247s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2247s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2247s """Registers a custom type that will be available to "parse" 2247s Setting up patroni (3.3.5-1) ... 2247s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2249s Setting up postgresql-17 (17.2-1) ... 2249s Creating new PostgreSQL cluster 17/main ... 2249s /usr/lib/postgresql/17/bin/initdb -D /var/lib/postgresql/17/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2249s The files belonging to this database system will be owned by user "postgres". 2249s This user must also own the server process. 2249s 2249s The database cluster will be initialized with locale "C.UTF-8". 2249s The default database encoding has accordingly been set to "UTF8". 2249s The default text search configuration will be set to "english". 2249s 2249s Data page checksums are disabled. 2249s 2249s fixing permissions on existing directory /var/lib/postgresql/17/main ... ok 2249s creating subdirectories ... ok 2249s selecting dynamic shared memory implementation ... posix 2249s selecting default "max_connections" ... 100 2249s selecting default "shared_buffers" ... 128MB 2249s selecting default time zone ... Etc/UTC 2249s creating configuration files ... ok 2250s running bootstrap script ... ok 2250s performing post-bootstrap initialization ... ok 2250s syncing data to disk ... ok 2255s Setting up patroni-doc (3.3.5-1) ... 2255s Setting up postgresql (17+267) ... 2255s Processing triggers for systemd (257-2ubuntu1) ... 2255s Processing triggers for man-db (2.13.0-1) ... 2255s Processing triggers for libc-bin (2.40-4ubuntu1) ... 2259s autopkgtest [22:05:09]: test acceptance-raft: debian/tests/acceptance raft 2259s autopkgtest [22:05:09]: test acceptance-raft: [----------------------- 2259s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2259s ++ ls -1r /usr/lib/postgresql/ 2259s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2259s + '[' 17 == 10 -o 17 == 11 ']' 2259s + echo '### PostgreSQL 17 acceptance-raft ###' 2259s ### PostgreSQL 17 acceptance-raft ### 2259s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=raft PATH=/usr/lib/postgresql/17/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 2266s Jan 19 22:05:16 Feature: basic replication # features/basic_replication.feature:1 2266s Jan 19 22:05:16 We should check that the basic bootstrapping, replication and failover works. 2266s Jan 19 22:05:16 Scenario: check replication of a single table # features/basic_replication.feature:4 2266s Jan 19 22:05:16 Given I start postgres0 # features/steps/basic_replication.py:8 2275s Jan 19 22:05:25 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2275s Jan 19 22:05:25 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2275s Jan 19 22:05:25 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 2275s Jan 19 22:05:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2275s Jan 19 22:05:25 When I start postgres1 # features/steps/basic_replication.py:8 2278s Jan 19 22:05:28 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2281s Jan 19 22:05:31 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2281s Jan 19 22:05:31 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2281s Jan 19 22:05:31 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2282s Jan 19 22:05:32 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2282s Jan 19 22:05:32 2282s Jan 19 22:05:32 Scenario: check restart of sync replica # features/basic_replication.feature:17 2282s Jan 19 22:05:32 Given I shut down postgres2 # features/steps/basic_replication.py:29 2283s Jan 19 22:05:33 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2283s Jan 19 22:05:33 When I start postgres2 # features/steps/basic_replication.py:8 2286s Jan 19 22:05:36 And I shut down postgres1 # features/steps/basic_replication.py:29 2289s Jan 19 22:05:39 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2289s Jan 19 22:05:39 When I start postgres1 # features/steps/basic_replication.py:8 2292s Jan 19 22:05:42 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2292s Jan 19 22:05:42 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2292s Jan 19 22:05:42 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2292s Jan 19 22:05:42 2292s Jan 19 22:05:42 Scenario: check stuck sync replica # features/basic_replication.feature:28 2292s Jan 19 22:05:42 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 2292s Jan 19 22:05:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 2292s Jan 19 22:05:42 And I create table on postgres0 # features/steps/basic_replication.py:73 2292s Jan 19 22:05:42 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2293s Jan 19 22:05:43 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2293s Jan 19 22:05:43 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2293s Jan 19 22:05:43 And I load data on postgres0 # features/steps/basic_replication.py:84 2294s Jan 19 22:05:44 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2297s Jan 19 22:05:47 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2297s Jan 19 22:05:47 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2297s Jan 19 22:05:47 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2297s Jan 19 22:05:47 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 2297s Jan 19 22:05:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 2297s Jan 19 22:05:47 And I drop table on postgres0 # features/steps/basic_replication.py:73 2297s Jan 19 22:05:47 2297s Jan 19 22:05:47 Scenario: check multi sync replication # features/basic_replication.feature:44 2297s Jan 19 22:05:47 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 2297s Jan 19 22:05:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 2297s Jan 19 22:05:47 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2301s Jan 19 22:05:51 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2301s Jan 19 22:05:51 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2301s Jan 19 22:05:51 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 2301s Jan 19 22:05:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 2301s Jan 19 22:05:51 And I shut down postgres1 # features/steps/basic_replication.py:29 2304s Jan 19 22:05:54 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2305s Jan 19 22:05:55 When I start postgres1 # features/steps/basic_replication.py:8 2308s Jan 19 22:05:58 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2308s Jan 19 22:05:58 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2308s Jan 19 22:05:58 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2309s Jan 19 22:05:58 2309s Jan 19 22:05:58 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2309s Jan 19 22:05:58 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2310s Jan 19 22:06:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2310s Jan 19 22:06:00 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2312s Jan 19 22:06:02 And I shut down postgres0 # features/steps/basic_replication.py:29 2313s Jan 19 22:06:03 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2314s Jan 19 22:06:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2314s Jan 19 22:06:04 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2334s Jan 19 22:06:24 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2337s Jan 19 22:06:27 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2337s Jan 19 22:06:27 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 2337s Jan 19 22:06:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2337s Jan 19 22:06:27 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2337s Jan 19 22:06:27 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2341s Jan 19 22:06:31 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2341s Jan 19 22:06:31 2341s Jan 19 22:06:31 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2341s Jan 19 22:06:31 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2341s Jan 19 22:06:31 And I start postgres0 # features/steps/basic_replication.py:8 2341s Jan 19 22:06:31 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2346s Jan 19 22:06:36 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2346s Jan 19 22:06:36 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2351s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2366s Jan 19 22:06:56 2366s Jan 19 22:06:56 @reject-duplicate-name 2366s Jan 19 22:06:56 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2366s Jan 19 22:06:56 Given I start duplicate postgres0 on port 8011 # None 2366s Jan 19 22:06:56 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 2366s Jan 19 22:06:56 2366s Jan 19 22:06:56 Feature: cascading replication # features/cascading_replication.feature:1 2366s Jan 19 22:06:56 We should check that patroni can do base backup and streaming from the replica 2366s Jan 19 22:06:56 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2366s Jan 19 22:06:56 Given I start postgres0 # features/steps/basic_replication.py:8 2370s Jan 19 22:06:59 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2370s Jan 19 22:06:59 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2374s Jan 19 22:07:04 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2375s Jan 19 22:07:05 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2375s Jan 19 22:07:05 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2375s Jan 19 22:07:05 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2375s Jan 19 22:07:05 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2378s Jan 19 22:07:08 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2379s Jan 19 22:07:09 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2394s Jan 19 22:07:24 2394s SKIP FEATURE citus: Citus extension isn't available 2394s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extension isn't available 2394s SKIP Scenario coordinator failover updates pg_dist_node: Citus extension isn't available 2394s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extension isn't available 2394s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extension isn't available 2394s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extension isn't available 2394s Jan 19 22:07:24 Feature: citus # features/citus.feature:1 2394s Jan 19 22:07:24 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2394s Jan 19 22:07:24 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2394s Jan 19 22:07:24 Given I start postgres0 in citus group 0 # None 2394s Jan 19 22:07:24 And I start postgres2 in citus group 1 # None 2394s Jan 19 22:07:24 Then postgres0 is a leader in a group 0 after 10 seconds # None 2394s Jan 19 22:07:24 And postgres2 is a leader in a group 1 after 10 seconds # None 2394s Jan 19 22:07:24 When I start postgres1 in citus group 0 # None 2394s Jan 19 22:07:24 And I start postgres3 in citus group 1 # None 2394s Jan 19 22:07:24 Then replication works from postgres0 to postgres1 after 15 seconds # None 2394s Jan 19 22:07:24 Then replication works from postgres2 to postgres3 after 15 seconds # None 2394s Jan 19 22:07:24 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2394s Jan 19 22:07:24 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2394s Jan 19 22:07:24 2394s Jan 19 22:07:24 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2394s Jan 19 22:07:24 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2394s Jan 19 22:07:24 Then postgres1 role is the primary after 10 seconds # None 2394s Jan 19 22:07:24 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2394s Jan 19 22:07:24 And replication works from postgres1 to postgres0 after 15 seconds # None 2394s Jan 19 22:07:24 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2394s Jan 19 22:07:24 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2394s Jan 19 22:07:24 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2394s Jan 19 22:07:24 Then postgres0 role is the primary after 10 seconds # None 2394s Jan 19 22:07:24 And replication works from postgres0 to postgres1 after 15 seconds # None 2394s Jan 19 22:07:24 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2394s Jan 19 22:07:24 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2394s Jan 19 22:07:24 2394s Jan 19 22:07:24 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2394s Jan 19 22:07:24 Given I create a distributed table on postgres0 # None 2394s Jan 19 22:07:24 And I start a thread inserting data on postgres0 # None 2394s Jan 19 22:07:24 When I run patronictl.py switchover batman --group 1 --force # None 2394s Jan 19 22:07:24 Then I receive a response returncode 0 # None 2394s Jan 19 22:07:24 And postgres3 role is the primary after 10 seconds # None 2394s Jan 19 22:07:24 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2394s Jan 19 22:07:24 And replication works from postgres3 to postgres2 after 15 seconds # None 2394s Jan 19 22:07:24 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2394s Jan 19 22:07:24 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2394s Jan 19 22:07:24 And a thread is still alive # None 2394s Jan 19 22:07:24 When I run patronictl.py switchover batman --group 1 --force # None 2394s Jan 19 22:07:24 Then I receive a response returncode 0 # None 2394s Jan 19 22:07:24 And postgres2 role is the primary after 10 seconds # None 2394s Jan 19 22:07:24 And replication works from postgres2 to postgres3 after 15 seconds # None 2394s Jan 19 22:07:24 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2394s Jan 19 22:07:24 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2394s Jan 19 22:07:24 And a thread is still alive # None 2394s Jan 19 22:07:24 When I stop a thread # None 2394s Jan 19 22:07:24 Then a distributed table on postgres0 has expected rows # None 2394s Jan 19 22:07:24 2394s Jan 19 22:07:24 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2394s Jan 19 22:07:24 Given I cleanup a distributed table on postgres0 # None 2394s Jan 19 22:07:24 And I start a thread inserting data on postgres0 # None 2394s Jan 19 22:07:24 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2394s Jan 19 22:07:24 Then I receive a response returncode 0 # None 2394s Jan 19 22:07:24 And postgres2 role is the primary after 10 seconds # None 2394s Jan 19 22:07:24 And replication works from postgres2 to postgres3 after 15 seconds # None 2394s Jan 19 22:07:24 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2394s Jan 19 22:07:24 And a thread is still alive # None 2394s Jan 19 22:07:24 When I stop a thread # None 2394s Jan 19 22:07:24 Then a distributed table on postgres0 has expected rows # None 2401s Jan 19 22:07:30 2401s Jan 19 22:07:30 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2401s Jan 19 22:07:30 Given I start postgres4 in citus group 2 # None 2401s Jan 19 22:07:30 Then postgres4 is a leader in a group 2 after 10 seconds # None 2401s Jan 19 22:07:30 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2401s Jan 19 22:07:30 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2401s Jan 19 22:07:30 Then I receive a response returncode 0 # None 2401s Jan 19 22:07:30 And I receive a response output "+ttl: 20" # None 2401s Jan 19 22:07:30 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2401s Jan 19 22:07:30 When I shut down postgres4 # None 2401s Jan 19 22:07:30 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2401s Jan 19 22:07:30 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2401s Jan 19 22:07:30 Then a transaction finishes in 20 seconds # None 2401s Jan 19 22:07:30 2401s Jan 19 22:07:30 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2401s Jan 19 22:07:30 We should check that patroni can bootstrap a new cluster from a backup 2401s Jan 19 22:07:30 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2401s Jan 19 22:07:30 Given I start postgres0 # features/steps/basic_replication.py:8 2404s Jan 19 22:07:33 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2404s Jan 19 22:07:33 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2404s Jan 19 22:07:34 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2408s Jan 19 22:07:38 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2409s Jan 19 22:07:39 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2409s Jan 19 22:07:39 2409s Jan 19 22:07:39 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2409s Jan 19 22:07:39 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2409s Jan 19 22:07:39 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2409s Jan 19 22:07:39 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2420s Jan 19 22:07:50 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2420s Jan 19 22:07:50 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2438s Jan 19 22:08:07 2438s Jan 19 22:08:07 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2438s Jan 19 22:08:07 We should check the basic dcs failsafe mode functioning 2438s Jan 19 22:08:07 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2438s Jan 19 22:08:07 Given I start postgres0 # features/steps/basic_replication.py:8 2441s Jan 19 22:08:10 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2441s Jan 19 22:08:10 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2441s Jan 19 22: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 2441s Jan 19 22:08:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 2441s Jan 19 22:08:11 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2441s Jan 19 22:08:11 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2441s Jan 19 22:08:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 2441s Jan 19 22:08:11 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2441s Jan 19 22: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 2441s Jan 19 22:08:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 2441s Jan 19 22: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 2441s Jan 19 22:08:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 2441s Jan 19 22:08:11 2441s Jan 19 22:08:11 @dcs-failsafe 2441s Jan 19 22:08:11 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2441s Jan 19 22:08:11 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2441s Jan 19 22: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 2445s Jan 19 22:08:15 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2445s Jan 19 22:08:15 2445s Jan 19 22:08:15 @dcs-failsafe 2445s Jan 19 22:08:15 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2445s Jan 19 22:08:15 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2445s Jan 19 22:08:15 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2445s Jan 19 22:08:15 And I shut down postgres0 # features/steps/basic_replication.py:29 2447s Jan 19 22:08:17 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2451s Jan 19 22:08:20 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2451s Jan 19 22:08:20 2451s Jan 19 22:08:20 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2451s Jan 19 22:08:20 Given I start postgres0 # features/steps/basic_replication.py:8 2454s Jan 19 22:08:24 And I start postgres1 # features/steps/basic_replication.py:8 2454s Jan 19 22:08:24 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2454s Jan 19 22:08:24 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2454s Jan 19 22:08:24 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2459s Jan 19 22:08:29 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2459s Jan 19 22:08:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 2459s Jan 19 22:08:29 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2459s Jan 19 22:08:29 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2459s Jan 19 22:08:29 2459s Jan 19 22:08:29 @dcs-failsafe @slot-advance 2459s Jan 19 22:08:29 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2459s Jan 19 22:08:29 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2459s Jan 19 22:08:29 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2465s Jan 19 22:08:35 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2465s Jan 19 22:08:35 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2465s Jan 19 22:08:35 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 2469s Jan 19 22:08:39 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2469s Jan 19 22:08:39 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2469s Jan 19 22:08:39 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2469s Jan 19 22:08:39 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2469s Jan 19 22:08:39 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2469s Jan 19 22:08:39 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2476s Jan 19 22:08:46 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2476s Jan 19 22:08:46 2476s Jan 19 22:08:46 @dcs-failsafe 2476s Jan 19 22:08:46 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2476s Jan 19 22:08:46 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2476s Jan 19 22:08:46 And I kill postgres1 # features/steps/basic_replication.py:34 2477s Jan 19 22:08:47 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2477s Jan 19 22:08:47 waiting for server to shut down.... done 2477s Jan 19 22:08:47 server stopped 2477s Jan 19 22:08:47 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2479s Jan 19 22:08:49 2479s Jan 19 22:08:49 @dcs-failsafe 2479s Jan 19 22:08:49 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2479s Jan 19 22:08:49 Given I kill postgres0 # features/steps/basic_replication.py:34 2480s Jan 19 22:08:50 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2481s Jan 19 22:08:51 waiting for server to shut down.... done 2481s Jan 19 22:08:51 server stopped 2481s Jan 19 22:08:51 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2481s Jan 19 22:08:51 When I start postgres1 # features/steps/basic_replication.py:8 2484s Jan 19 22:08:54 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2484s Jan 19 22:08:54 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2487s Jan 19 22:08:57 2487s Jan 19 22:08:57 @dcs-failsafe 2487s Jan 19 22:08:57 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2487s Jan 19 22:08:57 Given I start postgres0 # features/steps/basic_replication.py:8 2493s Jan 19 22:09:03 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2496s Jan 19 22:09:06 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2497s Jan 19 22:09:07 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2497s Jan 19 22:09:07 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2497s Jan 19 22:09:07 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2498s Jan 19 22:09:08 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2499s Jan 19 22:09:09 2499s Jan 19 22:09:09 @dcs-failsafe @slot-advance 2499s Jan 19 22:09:09 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2499s Jan 19 22:09:09 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"postgres2":0,"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2499s Jan 19 22:09:09 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2505s Jan 19 22:09:15 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2506s Jan 19 22:09:16 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2506s Jan 19 22:09:16 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2507s Jan 19 22:09:17 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2507s Jan 19 22:09:17 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2507s Jan 19 22:09:17 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2507s Jan 19 22:09:17 2507s Jan 19 22:09:17 @dcs-failsafe 2507s Jan 19 22:09:17 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 2507s Jan 19 22:09:17 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2507s Jan 19 22:09:17 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 2512s Jan 19 22:09:22 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2512s Jan 19 22:09:22 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2512s Jan 19 22:09:22 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2512s Jan 19 22:09:22 2512s Jan 19 22:09:22 @dcs-failsafe @slot-advance 2512s Jan 19 22:09:22 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 2512s Jan 19 22:09:22 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2512s Jan 19 22:09:22 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2513s Jan 19 22:09:23 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2513s Jan 19 22:09:23 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2513s Jan 19 22:09:23 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2519s Jan 19 22:09:29 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2519s Jan 19 22:09:29 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2519s Jan 19 22:09:29 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2519s Jan 19 22:09:29 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2520s Jan 19 22:09:29 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2531s Jan 19 22:09:41 2531s Jan 19 22:09:41 Feature: ignored slots # features/ignored_slots.feature:1 2531s Jan 19 22:09:41 2531s Jan 19 22:09:41 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2531s Jan 19 22:09:41 Given I start postgres1 # features/steps/basic_replication.py:8 2541s Jan 19 22:09:51 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2541s Jan 19 22:09:51 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2541s Jan 19 22:09:51 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 2541s Jan 19 22:09:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 2541s Jan 19 22:09:51 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2541s Jan 19 22:09:51 When I shut down postgres1 # features/steps/basic_replication.py:29 2543s Jan 19 22:09:53 And I start postgres1 # features/steps/basic_replication.py:8 2546s Jan 19 22:09:56 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2548s Jan 19 22:09:58 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2552s Jan 19 22:10:02 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2552s Jan 19 22:10:02 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2552s Jan 19 22:10:02 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2552s Jan 19 22:10:02 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2552s Jan 19 22:10:02 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2552s Jan 19 22:10:02 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2552s Jan 19 22:10:02 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2552s Jan 19 22:10:02 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2552s Jan 19 22:10:02 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2552s Jan 19 22:10:02 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2552s Jan 19 22:10:02 When I start postgres0 # features/steps/basic_replication.py:8 2555s Jan 19 22:10:05 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2555s Jan 19 22:10:05 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2555s Jan 19 22:10:05 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2556s Jan 19 22:10:06 When I shut down postgres1 # features/steps/basic_replication.py:29 2558s Jan 19 22:10:08 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2559s Jan 19 22:10:09 When I start postgres1 # features/steps/basic_replication.py:8 2562s Jan 19 22:10:12 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2562s Jan 19 22:10:12 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2562s Jan 19 22:10:12 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2564s Jan 19 22:10:14 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2564s Jan 19 22:10:14 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2564s Jan 19 22:10:14 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2564s Jan 19 22:10:14 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2564s Jan 19 22:10:14 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2564s Jan 19 22:10:14 When I shut down postgres0 # features/steps/basic_replication.py:29 2566s Jan 19 22:10:16 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2570s Jan 19 22:10:20 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2570s Jan 19 22:10:20 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2570s Jan 19 22:10:20 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2570s Jan 19 22:10:20 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2579s Jan 19 22:10:29 2579s Jan 19 22:10:29 Feature: nostream node # features/nostream_node.feature:1 2579s Jan 19 22:10:29 2579s Jan 19 22:10:29 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2579s Jan 19 22:10:29 When I start postgres0 # features/steps/basic_replication.py:8 2582s Jan 19 22:10:32 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2586s Jan 19 22:10:36 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2586s Jan 19 22:10:36 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2591s Jan 19 22:10:41 2591s Jan 19 22:10:41 @slot-advance 2591s Jan 19 22:10:41 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2591s Jan 19 22:10:41 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 2591s Jan 19 22:10:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2591s Jan 19 22:10:41 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2593s Jan 19 22:10:43 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2594s Jan 19 22:10:44 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2603s Jan 19 22:10:53 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2610s Jan 19 22:11:00 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2610s Jan 19 22:11:00 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2626s Jan 19 22:11:16 2626s Jan 19 22:11:16 Feature: patroni api # features/patroni_api.feature:1 2626s Jan 19 22:11:16 We should check that patroni correctly responds to valid and not-valid API requests. 2626s Jan 19 22:11:16 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2626s Jan 19 22:11:16 Given I start postgres0 # features/steps/basic_replication.py:8 2629s Jan 19 22:11:19 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2629s Jan 19 22:11:19 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2629s Jan 19 22:11:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 2629s Jan 19 22:11:19 And I receive a response state running # features/steps/patroni_api.py:98 2629s Jan 19 22:11:19 And I receive a response role master # features/steps/patroni_api.py:98 2629s Jan 19 22:11:19 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2629s Jan 19 22:11:19 Then I receive a response code 503 # features/steps/patroni_api.py:98 2629s Jan 19 22:11:19 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2629s Jan 19 22:11:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 2629s Jan 19 22:11:19 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2629s Jan 19 22:11:19 Then I receive a response code 503 # features/steps/patroni_api.py:98 2629s Jan 19 22:11:19 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2629s Jan 19 22:11:19 Then I receive a response code 503 # features/steps/patroni_api.py:98 2629s Jan 19 22:11:19 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2629s Jan 19 22:11:19 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2630s Jan 19 22:11:20 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2630s Jan 19 22:11:20 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2630s Jan 19 22:11:20 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2630s Jan 19 22:11:20 Then I receive a response code 412 # features/steps/patroni_api.py:98 2630s Jan 19 22:11:20 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2630s Jan 19 22:11:20 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2630s Jan 19 22:11:20 Then I receive a response code 400 # features/steps/patroni_api.py:98 2630s Jan 19 22:11:20 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2630s Jan 19 22:11:20 Then I receive a response code 400 # features/steps/patroni_api.py:98 2630s Jan 19 22:11:20 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2630s Jan 19 22:11:20 2630s Jan 19 22:11:20 Scenario: check local configuration reload # features/patroni_api.feature:32 2630s Jan 19 22:11:20 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2630s Jan 19 22:11:20 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2630s Jan 19 22:11:20 Then I receive a response code 202 # features/steps/patroni_api.py:98 2630s Jan 19 22:11:20 2630s Jan 19 22:11:20 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2630s Jan 19 22:11:20 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 2630s Jan 19 22:11:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 2630s Jan 19 22:11:20 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2633s Jan 19 22:11:23 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2633s Jan 19 22:11:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2633s Jan 19 22:11:23 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2633s Jan 19 22:11:23 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2633s Jan 19 22:11:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2633s Jan 19 22:11:23 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2633s Jan 19 22:11:23 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2637s Jan 19 22:11:27 2637s Jan 19 22:11:27 Scenario: check the scheduled restart # features/patroni_api.feature:49 2637s Jan 19 22:11:27 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2638s Jan 19 22:11:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2638s Jan 19 22:11:28 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2638s Jan 19 22:11:28 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2638s Jan 19 22:11:28 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 2638s Jan 19 22:11:28 Then I receive a response code 202 # features/steps/patroni_api.py:98 2638s Jan 19 22:11:28 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2646s Jan 19 22:11:36 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2646s Jan 19 22:11:36 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 2646s Jan 19 22:11:36 Then I receive a response code 202 # features/steps/patroni_api.py:98 2646s Jan 19 22:11:36 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 2653s Jan 19 22:11:43 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2654s Jan 19 22:11:44 2654s Jan 19 22:11:44 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2654s Jan 19 22:11:44 Given I start postgres1 # features/steps/basic_replication.py:8 2658s Jan 19 22:11:48 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2659s Jan 19 22:11:49 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2661s Jan 19 22:11:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2661s Jan 19 22:11:50 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2661s Jan 19 22:11:51 waiting for server to shut down.... done 2661s Jan 19 22:11:51 server stopped 2661s Jan 19 22:11:51 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2661s Jan 19 22:11:51 Then I receive a response code 503 # features/steps/patroni_api.py:98 2661s Jan 19 22:11:51 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2662s Jan 19 22:11:52 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2665s Jan 19 22:11:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2665s Jan 19 22:11:55 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2666s Jan 19 22:11:56 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2668s Jan 19 22:11:58 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2668s Jan 19 22:11:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 2668s Jan 19 22:11:58 And I receive a response state running # features/steps/patroni_api.py:98 2668s Jan 19 22:11:58 And I receive a response role replica # features/steps/patroni_api.py:98 2668s Jan 19 22:11:58 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2672s Jan 19 22:12:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2672s Jan 19 22:12:02 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2672s Jan 19 22:12:02 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2673s Jan 19 22:12:03 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2674s Jan 19 22:12:04 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2676s Jan 19 22:12:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2676s Jan 19 22:12:06 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2676s Jan 19 22:12:06 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2677s Jan 19 22:12:07 2677s Jan 19 22:12:07 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2677s Jan 19 22:12:07 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 2679s Jan 19 22:12:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2679s Jan 19 22:12:09 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2679s Jan 19 22:12:09 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2680s Jan 19 22:12:10 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2682s Jan 19 22:12:12 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2682s Jan 19 22:12:12 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2683s Jan 19 22:12:13 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2683s Jan 19 22:12:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 2683s Jan 19 22:12:13 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2683s Jan 19 22:12:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 2683s Jan 19 22:12:13 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2683s Jan 19 22:12:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 2683s Jan 19 22:12:13 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2683s Jan 19 22:12:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 2683s Jan 19 22:12:13 2683s Jan 19 22:12:13 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2683s Jan 19 22:12:13 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2685s Jan 19 22:12:15 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2685s Jan 19 22:12:15 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2685s Jan 19 22:12:15 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2686s Jan 19 22:12:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2686s Jan 19 22:12:16 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2688s Jan 19 22:12:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2688s Jan 19 22:12:18 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2698s Jan 19 22:12:28 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2699s Jan 19 22:12:29 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2702s Jan 19 22:12:32 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2702s Jan 19 22:12:32 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2702s Jan 19 22:12:32 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2702s Jan 19 22:12:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2702s Jan 19 22:12:32 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2702s Jan 19 22:12:32 Then I receive a response code 503 # features/steps/patroni_api.py:98 2702s Jan 19 22:12:32 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2702s Jan 19 22:12:32 Then I receive a response code 503 # features/steps/patroni_api.py:98 2702s Jan 19 22:12:32 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2702s Jan 19 22:12:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2713s Jan 19 22:12:42 2713s Jan 19 22:12:42 Feature: permanent slots # features/permanent_slots.feature:1 2713s Jan 19 22:12:42 2713s Jan 19 22:12:42 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2713s Jan 19 22:12:42 Given I start postgres0 # features/steps/basic_replication.py:8 2716s Jan 19 22:12:45 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2716s Jan 19 22:12:45 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2716s Jan 19 22:12:45 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 2716s Jan 19 22:12:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 2716s Jan 19 22:12:46 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2716s Jan 19 22:12:46 When I start postgres1 # features/steps/basic_replication.py:8 2719s Jan 19 22:12:49 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 2722s Jan 19 22:12:52 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2725s Jan 19 22:12:55 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2725s Jan 19 22:12:55 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2725s Jan 19 22:12:55 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2725s Jan 19 22:12:55 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2725s Jan 19 22:12:55 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 2725s Jan 19 22:12:55 2725s Jan 19 22:12:55 @slot-advance 2725s Jan 19 22:12:55 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2725s Jan 19 22:12:55 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2727s Jan 19 22:12:57 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 2727s Jan 19 22:12:57 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2728s Jan 19 22:12:58 2728s Jan 19 22:12:58 @slot-advance 2728s Jan 19 22:12:58 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2728s Jan 19 22:12:58 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2733s Jan 19 22:13:03 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2733s Jan 19 22:13:03 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2734s Jan 19 22:13:04 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2734s Jan 19 22:13:04 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2734s Jan 19 22:13:04 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2734s Jan 19 22:13:04 2734s Jan 19 22:13:04 @slot-advance 2734s Jan 19 22:13:04 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2734s Jan 19 22:13:04 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2734s Jan 19 22:13:04 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2734s Jan 19 22:13:04 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2734s Jan 19 22:13:04 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 2734s Jan 19 22:13:04 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 2734s Jan 19 22:13:04 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2734s Jan 19 22:13:04 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2735s Jan 19 22:13:04 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2735s Jan 19 22:13:04 2735s Jan 19 22:13:04 @slot-advance 2735s Jan 19 22:13:04 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2735s Jan 19 22:13:04 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2735s Jan 19 22:13:04 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2735s Jan 19 22:13:04 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2735s Jan 19 22:13:04 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2736s Jan 19 22:13:05 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2736s Jan 19 22:13:05 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2736s Jan 19 22:13:05 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2736s Jan 19 22:13:05 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2738s Jan 19 22:13:07 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2738s Jan 19 22:13:07 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2738s Jan 19 22:13:07 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2738s Jan 19 22:13:07 2738s Jan 19 22:13:07 @slot-advance 2738s Jan 19 22:13:07 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 2738s Jan 19 22:13:07 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 2738s Jan 19 22:13:07 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 2738s Jan 19 22:13:07 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 2738s Jan 19 22:13:07 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 2738s Jan 19 22:13:07 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 2738s Jan 19 22:13:07 2738s Jan 19 22:13:07 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 2738s Jan 19 22:13:07 Given I shut down postgres3 # features/steps/basic_replication.py:29 2739s Jan 19 22:13:08 And I shut down postgres2 # features/steps/basic_replication.py:29 2740s Jan 19 22:13:09 And I shut down postgres0 # features/steps/basic_replication.py:29 2742s Jan 19 22:13:11 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2742s Jan 19 22:13:11 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2742s Jan 19 22:13:11 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2742s Jan 19 22:13:11 When I start postgres0 # features/steps/basic_replication.py:8 2745s Jan 19 22:13:15 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 2745s Jan 19 22:13:15 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2745s Jan 19 22:13:15 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2758s Jan 19 22:13:28 2758s Jan 19 22:13:28 Feature: priority replication # features/priority_failover.feature:1 2758s Jan 19 22:13:28 We should check that we can give nodes priority during failover 2758s Jan 19 22:13:28 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2758s Jan 19 22:13:28 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2767s Jan 19 22:13:37 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2777s Jan 19 22:13:47 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2778s Jan 19 22:13:48 When I shut down postgres0 # features/steps/basic_replication.py:29 2780s Jan 19 22:13:50 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 2782s Jan 19 22:13:52 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2782s Jan 19 22:13:52 When I start postgres0 # features/steps/basic_replication.py:8 2786s Jan 19 22:13:56 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2791s Jan 19 22:14:00 2791s Jan 19 22:14:00 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2791s Jan 19 22:14:00 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2801s Jan 19 22:14:11 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2806s Jan 19 22:14:16 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2807s Jan 19 22:14:16 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2808s Jan 19 22:14:18 When I shut down postgres0 # features/steps/basic_replication.py:29 2811s Jan 19 22:14:21 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2813s Jan 19 22:14:23 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 2813s Jan 19 22:14:23 2813s Jan 19 22:14:23 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2813s Jan 19 22:14:23 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2813s Jan 19 22:14:23 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2813s Jan 19 22:14:23 Then I receive a response code 202 # features/steps/patroni_api.py:98 2813s Jan 19 22:14:23 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 2814s Jan 19 22:14:24 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2815s Jan 19 22:14:25 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2815s Jan 19 22:14:25 Then I receive a response code 412 # features/steps/patroni_api.py:98 2815s Jan 19 22:14:25 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2815s Jan 19 22:14:25 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2815s Jan 19 22:14:25 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2815s Jan 19 22:14:25 Then I receive a response code 202 # features/steps/patroni_api.py:98 2815s Jan 19 22:14:25 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 2816s Jan 19 22:14:26 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2817s Jan 19 22:14:27 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2821s Jan 19 22:14:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 2821s Jan 19 22:14:31 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2835s Jan 19 22:14:45 2835s Jan 19 22:14:45 Feature: recovery # features/recovery.feature:1 2835s Jan 19 22:14:45 We want to check that crashed postgres is started back 2835s Jan 19 22:14:45 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2835s Jan 19 22:14:45 Given I start postgres0 # features/steps/basic_replication.py:8 2839s Jan 19 22:14:49 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2839s Jan 19 22:14:49 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2839s Jan 19 22:14:49 When I start postgres1 # features/steps/basic_replication.py:8 2843s Jan 19 22:14:53 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2843s Jan 19 22:14:53 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2844s Jan 19 22:14:54 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2844s Jan 19 22:14:54 waiting for server to shut down.... done 2844s Jan 19 22:14:54 server stopped 2844s Jan 19 22:14:54 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2846s Jan 19 22:14:56 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2846s Jan 19 22:14:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2846s Jan 19 22:14:56 And I receive a response role master # features/steps/patroni_api.py:98 2846s Jan 19 22:14:56 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2846s Jan 19 22:14:56 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2846s Jan 19 22:14:56 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2850s Jan 19 22:15:00 2850s Jan 19 22:15:00 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2850s Jan 19 22:15:00 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 2850s Jan 19 22:15:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2850s Jan 19 22:15:00 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2850s Jan 19 22:15:00 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2850s Jan 19 22:15:00 waiting for server to shut down.... done 2850s Jan 19 22:15:00 server stopped 2850s Jan 19 22:15:00 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2853s Jan 19 22:15:03 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2854s Jan 19 22:15:04 2854s Jan 19 22:15:04 Scenario: check crashed primary demotes after failed attempt to start # features/recovery.feature:28 2854s Jan 19 22:15:04 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"master_start_timeout": null} # features/steps/patroni_api.py:71 2854s Jan 19 22:15:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2854s Jan 19 22:15:04 And postgres0 role is the replica after 10 seconds # features/steps/basic_replication.py:105 2857s Jan 19 22:15:06 When I ensure postgres1 fails to start after a failure # features/steps/recovery.py:6 2857s Jan 19 22:15:06 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2857s Jan 19 22:15:07 waiting for server to shut down.... done 2857s Jan 19 22:15:07 server stopped 2857s Jan 19 22:15:07 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2860s Jan 19 22:15:10 And there is a postgres1_cb.log with "on_role_change demoted batman" in postgres1 data directory # features/steps/cascading_replication.py:12 2869s Jan 19 22:15:19 2869s Jan 19 22:15:19 Feature: standby cluster # features/standby_cluster.feature:1 2869s Jan 19 22:15:19 2869s Jan 19 22:15:19 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2869s Jan 19 22:15:19 Given I start postgres1 # features/steps/basic_replication.py:8 2878s Jan 19 22:15:28 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2878s Jan 19 22:15:28 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2878s Jan 19 22:15:28 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 2878s Jan 19 22:15:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2878s Jan 19 22:15:28 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2878s Jan 19 22:15:28 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2881s Jan 19 22:15:31 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 2881s Jan 19 22:15:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 2881s Jan 19 22:15:31 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2882s Jan 19 22:15:32 When I start postgres0 # features/steps/basic_replication.py:8 2886s Jan 19 22:15:36 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2887s Jan 19 22:15:37 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2888s Jan 19 22:15:38 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2888s Jan 19 22:15:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 2888s Jan 19 22:15:38 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2888s Jan 19 22:15:38 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2888s Jan 19 22:15:38 2888s Jan 19 22:15:38 @slot-advance 2888s Jan 19 22:15:38 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2888s Jan 19 22:15:38 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2890s Jan 19 22:15:40 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2895s Jan 19 22:15:45 2895s Jan 19 22:15:45 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2895s Jan 19 22:15:45 When I shut down postgres1 # features/steps/basic_replication.py:29 2897s Jan 19 22:15:47 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2897s Jan 19 22:15:47 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2901s Jan 19 22:15:51 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2901s Jan 19 22:15:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 2901s Jan 19 22:15:51 2901s Jan 19 22:15:51 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2901s Jan 19 22:15:51 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2904s Jan 19 22:15:54 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2906s Jan 19 22:15:56 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2906s Jan 19 22:15:56 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2906s Jan 19 22:15:56 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2906s Jan 19 22:15:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2906s Jan 19 22:15:56 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2906s Jan 19 22:15:56 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2909s Jan 19 22:15:59 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2909s Jan 19 22:15:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 2909s Jan 19 22:15:59 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2909s Jan 19 22:15:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 2909s Jan 19 22:15:59 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2909s Jan 19 22:15:59 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2909s Jan 19 22:15:59 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2919s Jan 19 22:16:08 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2919s Jan 19 22:16:08 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2920s Jan 19 22:16:09 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2920s Jan 19 22:16:09 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2920s Jan 19 22:16:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 2920s Jan 19 22:16:10 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2920s Jan 19 22:16:10 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2920s Jan 19 22:16:10 2920s Jan 19 22:16:10 Scenario: check switchover # features/standby_cluster.feature:57 2920s Jan 19 22:16:10 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2923s Jan 19 22:16:13 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2923s Jan 19 22:16:13 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2926s Jan 19 22:16:16 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 2926s Jan 19 22:16:16 2926s Jan 19 22:16:16 Scenario: check failover # features/standby_cluster.feature:63 2926s Jan 19 22:16:16 When I kill postgres2 # features/steps/basic_replication.py:34 2927s Jan 19 22:16:17 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2927s Jan 19 22:16:17 waiting for server to shut down.... done 2927s Jan 19 22:16:17 server stopped 2927s Jan 19 22:16:17 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2945s Jan 19 22:16:35 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2945s Jan 19 22:16:35 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2946s Jan 19 22:16:35 Then I receive a response code 503 # features/steps/patroni_api.py:98 2946s Jan 19 22:16:35 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2946s Jan 19 22:16:35 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2947s Jan 19 22:16:37 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 2963s Jan 19 22:16:53 2963s Jan 19 22:16:53 Feature: watchdog # features/watchdog.feature:1 2963s Jan 19 22:16:53 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2963s Jan 19 22:16:53 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2963s Jan 19 22:16:53 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2972s Jan 19 22:17:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2972s Jan 19 22:17:02 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2972s Jan 19 22:17:02 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2972s Jan 19 22:17:02 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2972s Jan 19 22:17:02 2972s Jan 19 22:17:02 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2972s Jan 19 22:17:02 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2973s Jan 19 22:17:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2973s Jan 19 22:17:03 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2973s Jan 19 22:17:03 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2977s Jan 19 22:17:07 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2977s Jan 19 22:17:07 2977s Jan 19 22:17:07 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2977s Jan 19 22:17:07 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2979s Jan 19 22:17:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2979s Jan 19 22:17:09 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2981s Jan 19 22:17:11 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2981s Jan 19 22:17:11 2981s Jan 19 22:17:11 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2981s Jan 19 22:17:11 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2981s Jan 19 22:17:11 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2982s Jan 19 22:17:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2982s Jan 19 22:17:12 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2983s Jan 19 22:17:13 2983s Jan 19 22:17:13 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2983s Jan 19 22:17:13 Given I shut down postgres0 # features/steps/basic_replication.py:29 2985s Jan 19 22:17:15 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2985s Jan 19 22:17:15 2985s Jan 19 22:17:15 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2985s Jan 19 22:17:15 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2985s Jan 19 22:17:15 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2988s Jan 19 22:17:18 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2990s Jan 19 22:17:20 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2990s Jan 19 22:17:20 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 3029s Jan 19 22:17:59 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.4669.XxJUjHex 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.4672.XchOluex 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.4717.XsgNfslx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.4756.XOipjRox 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.4814.XZkBnOMx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.4861.XwhzAEZx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.4933.XVbHLVgx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.4982.XnBQLIIx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.4987.XMzdSzrx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5078.XSsoVLkx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5188.XgPANjYx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5191.XKWIBiux 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5235.XXdWHwgx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5286.XpOWCFgx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5396.XLkVqewx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5400.XnRSGRux 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5403.XGoRbAsx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5449.XrNtkfIx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5505.XAkjOyBx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5595.XlqHocax 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5599.XbcgVoUx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.5931.XpMSWxvx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6007.XAljqMpx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6099.XvJVMbBx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6342.XyMbaARx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6345.XfDfPdsx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6398.XwnRQGqx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6461.XpGBkSsx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6557.XyiPLeCx 3030s Jan 19 22:18:00 Skipping duplicate data .coverage.autopkgtest.6649.XsJXdtix 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6652.XFTpmxMx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6696.XGKsraSx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6762.XeSkOCcx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6796.XLoLOWvx 3030s Jan 19 22:18:00 Skipping duplicate data .coverage.autopkgtest.6949.XeQAMPRx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.6952.XwNiLDbx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7002.XxsqweGx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7018.XmZoKMlx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7058.XRDffqRx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7109.XTwSmsex 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7115.XCnLaSox 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7154.XByncMjx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7200.XlunJwEx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7327.XgDLgAMx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7330.XcQbroAx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7337.XWSNVVAx 3030s Jan 19 22:18:00 Skipping duplicate data .coverage.autopkgtest.7472.XNUGEJvx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7475.XZZakthx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7522.XJUKRoHx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7562.XsvHQSzx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7609.XMMxbqax 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7654.XvGIYOvx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7786.XvaCluax 3030s Jan 19 22:18:00 Skipping duplicate data .coverage.autopkgtest.7869.XUPzaINx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7872.XaokCcIx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7906.XTWVtLrx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.7989.XzxkVazx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.8078.XPILPKlx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.8149.XMkOhjJx 3030s Jan 19 22:18:00 Skipping duplicate data .coverage.autopkgtest.8448.XtOazasx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.8451.XhczMCPx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.8495.XmpzZiex 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.8722.XXErILxx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.8725.XCcqfoux 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.8788.XZDXrdSx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.8847.XhsxEuyx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.8950.XnaGTdhx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.9072.XQCmgTKx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.9199.XfBTKIMx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.9203.XnSzkkEx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.9250.XgHyfkbx 3030s Jan 19 22:18:00 Skipping duplicate data .coverage.autopkgtest.9254.XrZfiuwx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.9258.XAxGxZLx 3030s Jan 19 22:18:00 Combined data file .coverage.autopkgtest.9270.XksTDxOx 3030s Jan 19 22:18:00 Skipping duplicate data .coverage.autopkgtest.9337.XaKAYvVx 3032s Jan 19 22:18:02 Name Stmts Miss Cover 3032s Jan 19 22:18:02 ---------------------------------------------------------------------------------------------------------- 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 135 67 50% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 1 96% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 13 82% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 3 94% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 104 37 64% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/cryptography/utils.py 76 25 67% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/api.py 780 289 63% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 82 87% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 42 87% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/ha.py 1271 291 77% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 167 80% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 839 219 74% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 83 51% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 129 69% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 37 89% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/utils.py 370 122 67% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 491 53% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 107 54% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3032s Jan 19 22:18:02 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3032s Jan 19 22:18:02 patroni/__init__.py 13 2 85% 3032s Jan 19 22:18:02 patroni/__main__.py 199 199 0% 3032s Jan 19 22:18:02 patroni/api.py 780 780 0% 3032s Jan 19 22:18:02 patroni/async_executor.py 96 69 28% 3032s Jan 19 22:18:02 patroni/collections.py 56 15 73% 3032s Jan 19 22:18:02 patroni/config.py 371 189 49% 3032s Jan 19 22:18:02 patroni/config_generator.py 212 212 0% 3032s Jan 19 22:18:02 patroni/ctl.py 941 413 56% 3032s Jan 19 22:18:02 patroni/daemon.py 76 6 92% 3032s Jan 19 22:18:02 patroni/dcs/__init__.py 654 273 58% 3032s Jan 19 22:18:02 patroni/dcs/consul.py 484 484 0% 3032s Jan 19 22:18:02 patroni/dcs/etcd3.py 679 679 0% 3032s Jan 19 22:18:02 patroni/dcs/etcd.py 603 603 0% 3032s Jan 19 22:18:02 patroni/dcs/exhibitor.py 62 62 0% 3032s Jan 19 22:18:02 patroni/dcs/kubernetes.py 940 940 0% 3032s Jan 19 22:18:02 patroni/dcs/raft.py 319 73 77% 3032s Jan 19 22:18:02 patroni/dcs/zookeeper.py 289 289 0% 3032s Jan 19 22:18:02 patroni/dynamic_loader.py 35 7 80% 3032s Jan 19 22:18:02 patroni/exceptions.py 16 1 94% 3032s Jan 19 22:18:02 patroni/file_perm.py 43 15 65% 3032s Jan 19 22:18:02 patroni/global_config.py 81 18 78% 3032s Jan 19 22:18:02 patroni/ha.py 1271 1271 0% 3032s Jan 19 22:18:02 patroni/log.py 221 95 57% 3032s Jan 19 22:18:02 patroni/postgresql/__init__.py 822 652 21% 3032s Jan 19 22:18:02 patroni/postgresql/available_parameters/__init__.py 24 3 88% 3032s Jan 19 22:18:02 patroni/postgresql/bootstrap.py 255 225 12% 3032s Jan 19 22:18:02 patroni/postgresql/callback_executor.py 55 34 38% 3032s Jan 19 22:18:02 patroni/postgresql/cancellable.py 104 84 19% 3032s Jan 19 22:18:02 patroni/postgresql/config.py 839 719 14% 3032s Jan 19 22:18:02 patroni/postgresql/connection.py 75 50 33% 3032s Jan 19 22:18:02 patroni/postgresql/misc.py 43 30 30% 3032s Jan 19 22:18:02 patroni/postgresql/mpp/__init__.py 89 21 76% 3032s Jan 19 22:18:02 patroni/postgresql/mpp/citus.py 259 259 0% 3032s Jan 19 22:18:02 patroni/postgresql/postmaster.py 170 139 18% 3032s Jan 19 22:18:02 patroni/postgresql/rewind.py 416 416 0% 3032s Jan 19 22:18:02 patroni/postgresql/slots.py 349 300 14% 3032s Jan 19 22:18:02 patroni/postgresql/sync.py 130 96 26% 3032s Jan 19 22:18:02 patroni/postgresql/validator.py 157 52 67% 3032s Jan 19 22:18:02 patroni/psycopg.py 46 32 30% 3032s Jan 19 22:18:02 patroni/raft_controller.py 22 1 95% 3032s Jan 19 22:18:02 patroni/request.py 58 6 90% 3032s Jan 19 22:18:02 patroni/scripts/__init__.py 0 0 100% 3032s Jan 19 22:18:02 patroni/scripts/aws.py 59 59 0% 3032s Jan 19 22:18:02 patroni/scripts/barman/__init__.py 0 0 100% 3032s Jan 19 22:18:02 patroni/scripts/barman/cli.py 51 51 0% 3032s Jan 19 22:18:02 patroni/scripts/barman/config_switch.py 51 51 0% 3032s Jan 19 22:18:02 patroni/scripts/barman/recover.py 37 37 0% 3032s Jan 19 22:18:02 patroni/scripts/barman/utils.py 94 94 0% 3032s Jan 19 22:18:02 patroni/scripts/wale_restore.py 207 207 0% 3032s Jan 19 22:18:02 patroni/tags.py 38 11 71% 3032s Jan 19 22:18:02 patroni/utils.py 370 233 37% 3032s Jan 19 22:18:02 patroni/validator.py 307 221 28% 3032s Jan 19 22:18:02 patroni/version.py 1 0 100% 3032s Jan 19 22:18:02 patroni/watchdog/__init__.py 2 2 0% 3032s Jan 19 22:18:02 patroni/watchdog/base.py 203 203 0% 3032s Jan 19 22:18:02 patroni/watchdog/linux.py 135 135 0% 3032s Jan 19 22:18:02 ---------------------------------------------------------------------------------------------------------- 3032s Jan 19 22:18:02 TOTAL 40184 22795 43% 3032s Jan 19 22:18:02 12 features passed, 0 failed, 1 skipped 3032s Jan 19 22:18:02 55 scenarios passed, 0 failed, 6 skipped 3032s Jan 19 22:18:02 532 steps passed, 0 failed, 63 skipped, 0 undefined 3032s Jan 19 22:18:02 Took 9m56.949s 3032s + echo '### End 17 acceptance-raft ###' 3032s + rm -f '/tmp/pgpass?' 3032s ### End 17 acceptance-raft ### 3032s ++ id -u 3032s + '[' 1000 -eq 0 ']' 3032s autopkgtest [22:18:02]: test acceptance-raft: -----------------------] 3033s acceptance-raft PASS 3033s autopkgtest [22:18:03]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3033s autopkgtest [22:18:03]: test test: preparing testbed 3101s autopkgtest [22:19:11]: testbed dpkg architecture: arm64 3101s autopkgtest [22:19:11]: testbed apt version: 2.9.18 3102s autopkgtest [22:19:12]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3102s autopkgtest [22:19:12]: testbed release detected to be: plucky 3102s autopkgtest [22:19:12]: updating testbed package index (apt update) 3103s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 3103s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 3103s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 3103s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 3103s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 3103s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [773 kB] 3103s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [146 kB] 3103s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB] 3103s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [268 kB] 3103s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 3103s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [901 kB] 3104s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [10.5 kB] 3104s Fetched 2254 kB in 1s (2318 kB/s) 3105s Reading package lists... 3105s Reading package lists... 3106s Building dependency tree... 3106s Reading state information... 3106s Calculating upgrade... 3107s The following packages will be upgraded: 3107s dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpgconf 3107s gpgsm gpgv keyboxd liblz4-1 libzstd1 zstd 3107s 14 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3107s Need to get 3197 kB of archives. 3107s After this operation, 69.6 kB of additional disk space will be used. 3107s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libzstd1 arm64 1.5.6+dfsg-2 [279 kB] 3107s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-wks-client arm64 2.4.4-2ubuntu22 [70.2 kB] 3107s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 dirmngr arm64 2.4.4-2ubuntu22 [320 kB] 3107s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgsm arm64 2.4.4-2ubuntu22 [227 kB] 3107s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-utils arm64 2.4.4-2ubuntu22 [107 kB] 3107s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg-agent arm64 2.4.4-2ubuntu22 [224 kB] 3107s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 gpg arm64 2.4.4-2ubuntu22 [554 kB] 3107s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgconf arm64 2.4.4-2ubuntu22 [103 kB] 3107s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg all 2.4.4-2ubuntu22 [359 kB] 3107s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 keyboxd arm64 2.4.4-2ubuntu22 [75.7 kB] 3107s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 gpgv arm64 2.4.4-2ubuntu22 [153 kB] 3107s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 liblz4-1 arm64 1.9.4-4 [63.7 kB] 3107s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 gnupg-l10n all 2.4.4-2ubuntu22 [66.4 kB] 3107s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 zstd arm64 1.5.6+dfsg-2 [594 kB] 3108s Fetched 3197 kB in 1s (4550 kB/s) 3108s (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 ... 80201 files and directories currently installed.) 3108s Preparing to unpack .../libzstd1_1.5.6+dfsg-2_arm64.deb ... 3108s Unpacking libzstd1:arm64 (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 3108s Setting up libzstd1:arm64 (1.5.6+dfsg-2) ... 3108s (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 ... 80201 files and directories currently installed.) 3108s Preparing to unpack .../0-gpg-wks-client_2.4.4-2ubuntu22_arm64.deb ... 3108s Unpacking gpg-wks-client (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3108s Preparing to unpack .../1-dirmngr_2.4.4-2ubuntu22_arm64.deb ... 3108s Unpacking dirmngr (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3108s Preparing to unpack .../2-gpgsm_2.4.4-2ubuntu22_arm64.deb ... 3108s Unpacking gpgsm (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3108s Preparing to unpack .../3-gnupg-utils_2.4.4-2ubuntu22_arm64.deb ... 3108s Unpacking gnupg-utils (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3109s Preparing to unpack .../4-gpg-agent_2.4.4-2ubuntu22_arm64.deb ... 3109s Unpacking gpg-agent (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3109s Preparing to unpack .../5-gpg_2.4.4-2ubuntu22_arm64.deb ... 3109s Unpacking gpg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3109s Preparing to unpack .../6-gpgconf_2.4.4-2ubuntu22_arm64.deb ... 3109s Unpacking gpgconf (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3109s Preparing to unpack .../7-gnupg_2.4.4-2ubuntu22_all.deb ... 3109s Unpacking gnupg (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3109s Preparing to unpack .../8-keyboxd_2.4.4-2ubuntu22_arm64.deb ... 3109s Unpacking keyboxd (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3109s Preparing to unpack .../9-gpgv_2.4.4-2ubuntu22_arm64.deb ... 3109s Unpacking gpgv (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3109s Setting up gpgv (2.4.4-2ubuntu22) ... 3109s (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 ... 80201 files and directories currently installed.) 3109s Preparing to unpack .../liblz4-1_1.9.4-4_arm64.deb ... 3109s Unpacking liblz4-1:arm64 (1.9.4-4) over (1.9.4-3) ... 3109s Setting up liblz4-1:arm64 (1.9.4-4) ... 3109s (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 ... 80201 files and directories currently installed.) 3109s Preparing to unpack .../gnupg-l10n_2.4.4-2ubuntu22_all.deb ... 3109s Unpacking gnupg-l10n (2.4.4-2ubuntu22) over (2.4.4-2ubuntu21) ... 3109s Preparing to unpack .../zstd_1.5.6+dfsg-2_arm64.deb ... 3109s Unpacking zstd (1.5.6+dfsg-2) over (1.5.6+dfsg-1) ... 3109s Setting up gnupg-l10n (2.4.4-2ubuntu22) ... 3109s Setting up gpgconf (2.4.4-2ubuntu22) ... 3109s Setting up zstd (1.5.6+dfsg-2) ... 3109s Setting up gpg (2.4.4-2ubuntu22) ... 3109s Setting up gnupg-utils (2.4.4-2ubuntu22) ... 3109s Setting up gpg-agent (2.4.4-2ubuntu22) ... 3110s Setting up gpgsm (2.4.4-2ubuntu22) ... 3110s Setting up dirmngr (2.4.4-2ubuntu22) ... 3110s Setting up keyboxd (2.4.4-2ubuntu22) ... 3110s Setting up gnupg (2.4.4-2ubuntu22) ... 3110s Setting up gpg-wks-client (2.4.4-2ubuntu22) ... 3110s Processing triggers for man-db (2.13.0-1) ... 3112s Processing triggers for install-info (7.1.1-1) ... 3112s Processing triggers for libc-bin (2.40-4ubuntu1) ... 3112s Reading package lists... 3113s Building dependency tree... 3113s Reading state information... 3113s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 3113s autopkgtest [22:19:23]: upgrading testbed (apt dist-upgrade and autopurge) 3114s Reading package lists... 3114s Building dependency tree... 3114s Reading state information... 3114s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 3115s Starting 2 pkgProblemResolver with broken count: 0 3115s Done 3115s Entering ResolveByKeep 3116s 3116s The following packages were automatically installed and are no longer required: 3116s python3.12 python3.12-minimal 3116s Use 'sudo apt autoremove' to remove them. 3116s The following NEW packages will be installed: 3116s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 3116s The following packages will be upgraded: 3116s libpython3-stdlib python3 python3-minimal 3116s 3 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 3116s Need to get 5993 kB of archives. 3116s After this operation, 24.4 MB of additional disk space will be used. 3116s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-3 [879 kB] 3117s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-3 [2262 kB] 3117s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.13.1-1~exp2 [27.6 kB] 3117s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.13.1-1~exp2 [23.9 kB] 3117s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-3 [2061 kB] 3117s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-3 [729 kB] 3117s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.13.1-1~exp2 [10.2 kB] 3118s Fetched 5993 kB in 1s (7280 kB/s) 3118s Selecting previously unselected package libpython3.13-minimal:arm64. 3118s (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 ... 80201 files and directories currently installed.) 3118s Preparing to unpack .../libpython3.13-minimal_3.13.1-3_arm64.deb ... 3118s Unpacking libpython3.13-minimal:arm64 (3.13.1-3) ... 3118s Selecting previously unselected package python3.13-minimal. 3118s Preparing to unpack .../python3.13-minimal_3.13.1-3_arm64.deb ... 3118s Unpacking python3.13-minimal (3.13.1-3) ... 3118s Setting up libpython3.13-minimal:arm64 (3.13.1-3) ... 3118s Setting up python3.13-minimal (3.13.1-3) ... 3119s (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 ... 80522 files and directories currently installed.) 3119s Preparing to unpack .../python3-minimal_3.13.1-1~exp2_arm64.deb ... 3119s Unpacking python3-minimal (3.13.1-1~exp2) over (3.12.8-1) ... 3119s Setting up python3-minimal (3.13.1-1~exp2) ... 3119s (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 ... 80522 files and directories currently installed.) 3119s Preparing to unpack .../python3_3.13.1-1~exp2_arm64.deb ... 3119s Unpacking python3 (3.13.1-1~exp2) over (3.12.8-1) ... 3119s Selecting previously unselected package libpython3.13-stdlib:arm64. 3119s Preparing to unpack .../libpython3.13-stdlib_3.13.1-3_arm64.deb ... 3119s Unpacking libpython3.13-stdlib:arm64 (3.13.1-3) ... 3119s Selecting previously unselected package python3.13. 3119s Preparing to unpack .../python3.13_3.13.1-3_arm64.deb ... 3119s Unpacking python3.13 (3.13.1-3) ... 3119s Preparing to unpack .../libpython3-stdlib_3.13.1-1~exp2_arm64.deb ... 3119s Unpacking libpython3-stdlib:arm64 (3.13.1-1~exp2) over (3.12.8-1) ... 3119s Setting up libpython3.13-stdlib:arm64 (3.13.1-3) ... 3119s Setting up libpython3-stdlib:arm64 (3.13.1-1~exp2) ... 3119s Setting up python3.13 (3.13.1-3) ... 3120s Setting up python3 (3.13.1-1~exp2) ... 3120s /usr/bin/py3clean:101: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 3120s for fn in glob1(directory, "%s.*" % fname): 3121s Processing triggers for man-db (2.13.0-1) ... 3121s Processing triggers for systemd (257-2ubuntu1) ... 3121s Reading package lists... 3122s Building dependency tree... 3122s Reading state information... 3123s Starting pkgProblemResolver with broken count: 0 3123s Starting 2 pkgProblemResolver with broken count: 0 3123s Done 3124s The following packages will be REMOVED: 3124s python3.12* python3.12-minimal* 3124s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 3124s After this operation, 8710 kB disk space will be freed. 3124s (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 ... 80938 files and directories currently installed.) 3124s Removing python3.12 (3.12.8-3) ... 3124s Removing python3.12-minimal (3.12.8-3) ... 3125s /usr/bin/py3clean:125: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 3125s for fn in glob1(directory, "%s.%s.py[co]" % (fname, magic_tag)): 3125s Processing triggers for man-db (2.13.0-1) ... 3125s Processing triggers for systemd (257-2ubuntu1) ... 3126s (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 ... 80910 files and directories currently installed.) 3126s Purging configuration files for python3.12-minimal (3.12.8-3) ... 3128s Reading package lists... 3129s Building dependency tree... 3129s Reading state information... 3129s Starting pkgProblemResolver with broken count: 0 3129s Starting 2 pkgProblemResolver with broken count: 0 3130s Done 3131s The following NEW packages will be installed: 3131s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 3131s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 3131s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 3131s libjs-underscore libpq5 patroni patroni-doc python3-aiohappyeyeballs 3131s python3-aiohttp python3-aiosignal python3-async-timeout python3-boto3 3131s python3-botocore python3-cachetools python3-cdiff python3-click 3131s python3-consul python3-coverage python3-dateutil python3-dnspython 3131s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 3131s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 3131s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 3131s python3-mccabe python3-mock python3-multidict python3-packaging 3131s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 3131s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 3131s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 3131s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 3131s python3-s3transfer python3-six python3-wcwidth python3-websocket 3131s python3-yarl python3-ydiff python3-zope.event python3-zope.interface 3131s python3.12 python3.12-minimal sphinx-rtd-theme-common 3131s 0 upgraded, 71 newly installed, 0 to remove and 0 not upgraded. 3131s Need to get 20.0 MB of archives. 3131s After this operation, 171 MB of additional disk space will be used. 3131s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.8-3 [2236 kB] 3131s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 3131s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3131s Get:4 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 3131s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.8-3 [667 kB] 3131s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3131s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.4-2.1 [100 kB] 3131s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 3131s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 3131s Get:10 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 3131s Get:11 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 3131s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3131s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 8.1.3-3 [30.9 kB] 3132s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 3132s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.8-1 [79.8 kB] 3132s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 3132s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 3132s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 3132s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 3132s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 3132s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 3132s Get:22 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-6 [32.1 kB] 3132s Get:23 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-consul all 1.5.1+dfsg-1 [21.7 kB] 3132s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.1.0-1 [173 kB] 3132s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-11ubuntu1 [275 kB] 3132s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 3132s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.2-1 [141 kB] 3132s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.11.1-1 [1010 kB] 3132s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build10 [21.3 kB] 3132s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 3132s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 3132s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 3132s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-multidict arm64 6.1.0-1build1 [38.3 kB] 3132s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-yarl arm64 1.13.1-1build1 [110 kB] 3132s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-async-timeout all 5.0.1-1 [6830 B] 3132s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohappyeyeballs all 2.4.4-2 [10.6 kB] 3132s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-frozenlist arm64 1.5.0-1build1 [59.0 kB] 3132s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiosignal all 1.3.2-1 [5182 B] 3132s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohttp arm64 3.10.11-1 [334 kB] 3132s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 3132s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1 all 0.6.0-1 [57.8 kB] 3132s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1-modules all 0.4.1-1 [80.2 kB] 3132s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyu2f all 0.1.5-4 [22.9 kB] 3132s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-responses all 0.25.3-1 [54.3 kB] 3132s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 3132s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 3132s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 3132s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-websocket all 1.8.0-2 [38.5 kB] 3132s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kubernetes all 30.1.0-1 [386 kB] 3132s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 3132s Get:51 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 3132s Get:52 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 3132s Get:53 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.5-1 [269 kB] 3132s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 3132s Get:55 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.5-1 [510 kB] 3132s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 3132s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 3132s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 3132s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 3132s Get:60 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 3132s Get:61 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 3132s Get:62 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycodestyle all 2.12.1-2 [30.2 kB] 3132s Get:63 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyflakes all 3.2.0-3 [53.0 kB] 3132s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-flake8 all 7.1.1-2 [44.1 kB] 3132s Get:65 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 3132s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 3132s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 3132s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.4-1 [252 kB] 3132s Get:69 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 3132s Get:70 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 3132s Get:71 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 3133s Fetched 20.0 MB in 2s (10.8 MB/s) 3133s Selecting previously unselected package python3.12-minimal. 3133s (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 ... 80910 files and directories currently installed.) 3133s Preparing to unpack .../00-python3.12-minimal_3.12.8-3_arm64.deb ... 3133s Unpacking python3.12-minimal (3.12.8-3) ... 3133s Selecting previously unselected package fonts-lato. 3133s Preparing to unpack .../01-fonts-lato_2.015-1_all.deb ... 3133s Unpacking fonts-lato (2.015-1) ... 3133s Selecting previously unselected package libjs-jquery. 3133s Preparing to unpack .../02-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3133s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3133s Selecting previously unselected package libjs-jquery-hotkeys. 3133s Preparing to unpack .../03-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 3133s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3133s Selecting previously unselected package python3.12. 3133s Preparing to unpack .../04-python3.12_3.12.8-3_arm64.deb ... 3133s Unpacking python3.12 (3.12.8-3) ... 3133s Selecting previously unselected package fonts-font-awesome. 3133s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3133s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3134s Selecting previously unselected package libcares2:arm64. 3134s Preparing to unpack .../06-libcares2_1.34.4-2.1_arm64.deb ... 3134s Unpacking libcares2:arm64 (1.34.4-2.1) ... 3134s Selecting previously unselected package libev4t64:arm64. 3134s Preparing to unpack .../07-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 3134s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 3134s Selecting previously unselected package libjs-jquery-metadata. 3134s Preparing to unpack .../08-libjs-jquery-metadata_12-4_all.deb ... 3134s Unpacking libjs-jquery-metadata (12-4) ... 3134s Selecting previously unselected package libjs-jquery-tablesorter. 3134s Preparing to unpack .../09-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 3134s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3134s Selecting previously unselected package libjs-jquery-throttle-debounce. 3134s Preparing to unpack .../10-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 3134s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3134s Selecting previously unselected package libjs-underscore. 3134s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3134s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3134s Selecting previously unselected package libjs-sphinxdoc. 3134s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-3_all.deb ... 3134s Unpacking libjs-sphinxdoc (8.1.3-3) ... 3134s Selecting previously unselected package libpq5:arm64. 3134s Preparing to unpack .../13-libpq5_17.2-1_arm64.deb ... 3134s Unpacking libpq5:arm64 (17.2-1) ... 3134s Selecting previously unselected package python3-click. 3134s Preparing to unpack .../14-python3-click_8.1.8-1_all.deb ... 3134s Unpacking python3-click (8.1.8-1) ... 3134s Selecting previously unselected package python3-dateutil. 3134s Preparing to unpack .../15-python3-dateutil_2.9.0-3_all.deb ... 3134s Unpacking python3-dateutil (2.9.0-3) ... 3134s Selecting previously unselected package python3-wcwidth. 3134s Preparing to unpack .../16-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 3134s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 3134s Selecting previously unselected package python3-prettytable. 3134s Preparing to unpack .../17-python3-prettytable_3.12.0-1_all.deb ... 3134s Unpacking python3-prettytable (3.12.0-1) ... 3134s Selecting previously unselected package python3-psutil. 3134s Preparing to unpack .../18-python3-psutil_5.9.8-2build3_arm64.deb ... 3134s Unpacking python3-psutil (5.9.8-2build3) ... 3134s Selecting previously unselected package python3-psycopg2. 3134s Preparing to unpack .../19-python3-psycopg2_2.9.10-1_arm64.deb ... 3134s Unpacking python3-psycopg2 (2.9.10-1) ... 3134s Selecting previously unselected package python3-dnspython. 3134s Preparing to unpack .../20-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 3134s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 3134s Selecting previously unselected package python3-etcd. 3134s Preparing to unpack .../21-python3-etcd_0.4.5-6_all.deb ... 3134s Unpacking python3-etcd (0.4.5-6) ... 3134s Selecting previously unselected package python3-consul. 3134s Preparing to unpack .../22-python3-consul_1.5.1+dfsg-1_all.deb ... 3134s Unpacking python3-consul (1.5.1+dfsg-1) ... 3134s Selecting previously unselected package python3-greenlet. 3134s Preparing to unpack .../23-python3-greenlet_3.1.0-1_arm64.deb ... 3134s Unpacking python3-greenlet (3.1.0-1) ... 3134s Selecting previously unselected package python3-eventlet. 3134s Preparing to unpack .../24-python3-eventlet_0.36.1-11ubuntu1_all.deb ... 3134s Unpacking python3-eventlet (0.36.1-11ubuntu1) ... 3134s Selecting previously unselected package python3-zope.event. 3134s Preparing to unpack .../25-python3-zope.event_5.0-0.1_all.deb ... 3134s Unpacking python3-zope.event (5.0-0.1) ... 3134s Selecting previously unselected package python3-zope.interface. 3134s Preparing to unpack .../26-python3-zope.interface_7.2-1_arm64.deb ... 3134s Unpacking python3-zope.interface (7.2-1) ... 3134s Selecting previously unselected package python3-gevent. 3134s Preparing to unpack .../27-python3-gevent_24.11.1-1_arm64.deb ... 3134s Unpacking python3-gevent (24.11.1-1) ... 3134s Selecting previously unselected package python3-kerberos. 3134s Preparing to unpack .../28-python3-kerberos_1.1.14-3.1build10_arm64.deb ... 3134s Unpacking python3-kerberos (1.1.14-3.1build10) ... 3134s Selecting previously unselected package python3-pure-sasl. 3134s Preparing to unpack .../29-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 3134s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 3135s Selecting previously unselected package python3-six. 3135s Preparing to unpack .../30-python3-six_1.17.0-1_all.deb ... 3135s Unpacking python3-six (1.17.0-1) ... 3135s Selecting previously unselected package python3-kazoo. 3135s Preparing to unpack .../31-python3-kazoo_2.9.0-2_all.deb ... 3135s Unpacking python3-kazoo (2.9.0-2) ... 3135s Selecting previously unselected package python3-multidict. 3135s Preparing to unpack .../32-python3-multidict_6.1.0-1build1_arm64.deb ... 3135s Unpacking python3-multidict (6.1.0-1build1) ... 3135s Selecting previously unselected package python3-yarl. 3135s Preparing to unpack .../33-python3-yarl_1.13.1-1build1_arm64.deb ... 3135s Unpacking python3-yarl (1.13.1-1build1) ... 3135s Selecting previously unselected package python3-async-timeout. 3135s Preparing to unpack .../34-python3-async-timeout_5.0.1-1_all.deb ... 3135s Unpacking python3-async-timeout (5.0.1-1) ... 3135s Selecting previously unselected package python3-aiohappyeyeballs. 3135s Preparing to unpack .../35-python3-aiohappyeyeballs_2.4.4-2_all.deb ... 3135s Unpacking python3-aiohappyeyeballs (2.4.4-2) ... 3135s Selecting previously unselected package python3-frozenlist. 3135s Preparing to unpack .../36-python3-frozenlist_1.5.0-1build1_arm64.deb ... 3135s Unpacking python3-frozenlist (1.5.0-1build1) ... 3135s Selecting previously unselected package python3-aiosignal. 3135s Preparing to unpack .../37-python3-aiosignal_1.3.2-1_all.deb ... 3135s Unpacking python3-aiosignal (1.3.2-1) ... 3135s Selecting previously unselected package python3-aiohttp. 3135s Preparing to unpack .../38-python3-aiohttp_3.10.11-1_arm64.deb ... 3135s Unpacking python3-aiohttp (3.10.11-1) ... 3135s Selecting previously unselected package python3-cachetools. 3135s Preparing to unpack .../39-python3-cachetools_5.3.3-1_all.deb ... 3135s Unpacking python3-cachetools (5.3.3-1) ... 3135s Selecting previously unselected package python3-pyasn1. 3135s Preparing to unpack .../40-python3-pyasn1_0.6.0-1_all.deb ... 3135s Unpacking python3-pyasn1 (0.6.0-1) ... 3135s Selecting previously unselected package python3-pyasn1-modules. 3135s Preparing to unpack .../41-python3-pyasn1-modules_0.4.1-1_all.deb ... 3135s Unpacking python3-pyasn1-modules (0.4.1-1) ... 3135s Selecting previously unselected package python3-pyu2f. 3135s Preparing to unpack .../42-python3-pyu2f_0.1.5-4_all.deb ... 3135s Unpacking python3-pyu2f (0.1.5-4) ... 3135s Selecting previously unselected package python3-responses. 3135s Preparing to unpack .../43-python3-responses_0.25.3-1_all.deb ... 3135s Unpacking python3-responses (0.25.3-1) ... 3135s Selecting previously unselected package python3-rsa. 3135s Preparing to unpack .../44-python3-rsa_4.9-2_all.deb ... 3135s Unpacking python3-rsa (4.9-2) ... 3135s Selecting previously unselected package python3-google-auth. 3135s Preparing to unpack .../45-python3-google-auth_2.28.2-3_all.deb ... 3135s Unpacking python3-google-auth (2.28.2-3) ... 3135s Selecting previously unselected package python3-requests-oauthlib. 3135s Preparing to unpack .../46-python3-requests-oauthlib_1.3.1-1_all.deb ... 3135s Unpacking python3-requests-oauthlib (1.3.1-1) ... 3135s Selecting previously unselected package python3-websocket. 3135s Preparing to unpack .../47-python3-websocket_1.8.0-2_all.deb ... 3135s Unpacking python3-websocket (1.8.0-2) ... 3135s Selecting previously unselected package python3-kubernetes. 3135s Preparing to unpack .../48-python3-kubernetes_30.1.0-1_all.deb ... 3135s Unpacking python3-kubernetes (30.1.0-1) ... 3135s Selecting previously unselected package python3-pysyncobj. 3135s Preparing to unpack .../49-python3-pysyncobj_0.3.12-1_all.deb ... 3135s Unpacking python3-pysyncobj (0.3.12-1) ... 3135s Selecting previously unselected package python3-ydiff. 3135s Preparing to unpack .../50-python3-ydiff_1.4.2-1_all.deb ... 3135s Unpacking python3-ydiff (1.4.2-1) ... 3135s Selecting previously unselected package python3-cdiff. 3135s Preparing to unpack .../51-python3-cdiff_1.4.2-1_all.deb ... 3135s Unpacking python3-cdiff (1.4.2-1) ... 3135s Selecting previously unselected package patroni. 3136s Preparing to unpack .../52-patroni_3.3.5-1_all.deb ... 3136s Unpacking patroni (3.3.5-1) ... 3136s Selecting previously unselected package sphinx-rtd-theme-common. 3136s Preparing to unpack .../53-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 3136s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 3136s Selecting previously unselected package patroni-doc. 3136s Preparing to unpack .../54-patroni-doc_3.3.5-1_all.deb ... 3136s Unpacking patroni-doc (3.3.5-1) ... 3136s Selecting previously unselected package python3-jmespath. 3136s Preparing to unpack .../55-python3-jmespath_1.0.1-1_all.deb ... 3136s Unpacking python3-jmespath (1.0.1-1) ... 3136s Selecting previously unselected package python3-botocore. 3136s Preparing to unpack .../56-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 3136s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 3136s Selecting previously unselected package python3-s3transfer. 3136s Preparing to unpack .../57-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 3136s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 3136s Selecting previously unselected package python3-boto3. 3136s Preparing to unpack .../58-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 3136s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3136s Selecting previously unselected package python3-coverage. 3136s Preparing to unpack .../59-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 3136s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 3136s Selecting previously unselected package python3-mccabe. 3136s Preparing to unpack .../60-python3-mccabe_0.7.0-1_all.deb ... 3136s Unpacking python3-mccabe (0.7.0-1) ... 3137s Selecting previously unselected package python3-pycodestyle. 3137s Preparing to unpack .../61-python3-pycodestyle_2.12.1-2_all.deb ... 3137s Unpacking python3-pycodestyle (2.12.1-2) ... 3137s Selecting previously unselected package python3-pyflakes. 3137s Preparing to unpack .../62-python3-pyflakes_3.2.0-3_all.deb ... 3137s Unpacking python3-pyflakes (3.2.0-3) ... 3137s Selecting previously unselected package python3-flake8. 3137s Preparing to unpack .../63-python3-flake8_7.1.1-2_all.deb ... 3137s Unpacking python3-flake8 (7.1.1-2) ... 3137s Selecting previously unselected package python3-iniconfig. 3137s Preparing to unpack .../64-python3-iniconfig_1.1.1-2_all.deb ... 3137s Unpacking python3-iniconfig (1.1.1-2) ... 3137s Selecting previously unselected package python3-packaging. 3137s Preparing to unpack .../65-python3-packaging_24.2-1_all.deb ... 3137s Unpacking python3-packaging (24.2-1) ... 3137s Selecting previously unselected package python3-pluggy. 3137s Preparing to unpack .../66-python3-pluggy_1.5.0-1_all.deb ... 3137s Unpacking python3-pluggy (1.5.0-1) ... 3137s Selecting previously unselected package python3-pytest. 3137s Preparing to unpack .../67-python3-pytest_8.3.4-1_all.deb ... 3137s Unpacking python3-pytest (8.3.4-1) ... 3137s Selecting previously unselected package libjs-jquery-isonscreen. 3137s Preparing to unpack .../68-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 3137s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 3137s Selecting previously unselected package python3-pytest-cov. 3137s Preparing to unpack .../69-python3-pytest-cov_5.0.0-1_all.deb ... 3137s Unpacking python3-pytest-cov (5.0.0-1) ... 3137s Selecting previously unselected package python3-mock. 3137s Preparing to unpack .../70-python3-mock_5.1.0-1_all.deb ... 3137s Unpacking python3-mock (5.1.0-1) ... 3137s Setting up python3-iniconfig (1.1.1-2) ... 3137s Setting up python3.12-minimal (3.12.8-3) ... 3138s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 3138s Setting up fonts-lato (2.015-1) ... 3138s Setting up python3-pysyncobj (0.3.12-1) ... 3139s Setting up python3-cachetools (5.3.3-1) ... 3139s Setting up python3-zope.event (5.0-0.1) ... 3140s Setting up python3-zope.interface (7.2-1) ... 3140s Setting up python3.12 (3.12.8-3) ... 3142s Setting up python3-pyflakes (3.2.0-3) ... 3143s Setting up python3-ydiff (1.4.2-1) ... 3143s Setting up libpq5:arm64 (17.2-1) ... 3143s Setting up python3-kerberos (1.1.14-3.1build10) ... 3143s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 3144s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3144s Setting up python3-click (8.1.8-1) ... 3144s Setting up python3-psutil (5.9.8-2build3) ... 3145s Setting up python3-multidict (6.1.0-1build1) ... 3145s Setting up python3-frozenlist (1.5.0-1build1) ... 3145s Setting up python3-aiosignal (1.3.2-1) ... 3146s Setting up python3-mock (5.1.0-1) ... 3146s Setting up python3-async-timeout (5.0.1-1) ... 3146s Setting up python3-six (1.17.0-1) ... 3147s Setting up python3-responses (0.25.3-1) ... 3147s Setting up python3-pycodestyle (2.12.1-2) ... 3147s Setting up python3-packaging (24.2-1) ... 3148s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 3148s Setting up python3-pyu2f (0.1.5-4) ... 3149s Setting up python3-jmespath (1.0.1-1) ... 3149s Setting up python3-greenlet (3.1.0-1) ... 3149s Setting up libcares2:arm64 (1.34.4-2.1) ... 3149s Setting up python3-psycopg2 (2.9.10-1) ... 3150s Setting up python3-aiohappyeyeballs (2.4.4-2) ... 3150s Setting up python3-pluggy (1.5.0-1) ... 3150s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 3151s Setting up python3-pyasn1 (0.6.0-1) ... 3152s Setting up python3-dateutil (2.9.0-3) ... 3152s Setting up python3-mccabe (0.7.0-1) ... 3152s Setting up python3-consul (1.5.1+dfsg-1) ... 3153s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3153s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3153s Setting up python3-prettytable (3.12.0-1) ... 3153s Setting up python3-yarl (1.13.1-1build1) ... 3153s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3153s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 3153s Setting up python3-websocket (1.8.0-2) ... 3154s Setting up python3-requests-oauthlib (1.3.1-1) ... 3154s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3154s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 3155s Setting up python3-etcd (0.4.5-6) ... 3155s Setting up python3-pytest (8.3.4-1) ... 3156s Setting up python3-cdiff (1.4.2-1) ... 3156s Setting up python3-aiohttp (3.10.11-1) ... 3157s Setting up python3-gevent (24.11.1-1) ... 3158s Setting up python3-flake8 (7.1.1-2) ... 3158s Setting up python3-eventlet (0.36.1-11ubuntu1) ... 3159s Setting up python3-kazoo (2.9.0-2) ... 3160s Setting up python3-pyasn1-modules (0.4.1-1) ... 3160s Setting up libjs-jquery-metadata (12-4) ... 3160s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 3161s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 3161s Setting up libjs-sphinxdoc (8.1.3-3) ... 3161s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3161s Setting up python3-rsa (4.9-2) ... 3162s Setting up patroni (3.3.5-1) ... 3162s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3163s Setting up patroni-doc (3.3.5-1) ... 3163s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 3163s Setting up python3-pytest-cov (5.0.0-1) ... 3164s Setting up python3-google-auth (2.28.2-3) ... 3164s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3165s Setting up python3-kubernetes (30.1.0-1) ... 3169s Processing triggers for systemd (257-2ubuntu1) ... 3169s Processing triggers for man-db (2.13.0-1) ... 3170s Processing triggers for libc-bin (2.40-4ubuntu1) ... 3172s autopkgtest [22:20:22]: test test: [----------------------- 3173s running test 3173s ============================= test session starts ============================== 3173s platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 3173s cachedir: .pytest_cache 3173s rootdir: /tmp/autopkgtest.kYrsxI/build.CGK/src 3173s plugins: typeguard-4.4.1, cov-5.0.0 3177s collecting ... collected 659 items 3177s 3177s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 3177s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 3177s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 3177s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 3178s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 3178s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 3178s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 3178s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 3178s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 3178s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 3178s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 3178s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 3178s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 1%] 3178s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 3178s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 3178s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 3178s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 3178s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 3178s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 3178s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 3178s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 3178s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 3178s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 3178s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 3178s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 3178s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 3%] 3178s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 3178s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 3178s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 3178s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 3178s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 3178s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 3178s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 3178s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 3178s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 3178s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 3178s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 3178s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 3178s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 5%] 3178s tests/test_aws.py::TestAWSConnection::test_aws_bizarre_response PASSED [ 6%] 3178s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 3178s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 3179s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 3179s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 3179s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 3179s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 6%] 3179s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 3179s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 3179s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 3179s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 3179s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 3179s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 7%] 3179s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 3179s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 3179s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 3179s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 3179s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 3179s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 3179s tests/test_barman.py::TestMain::test_main PASSED [ 8%] 3179s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 3179s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 3179s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 3179s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 3179s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 3179s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 9%] 3179s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 3179s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 3179s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 3179s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 3179s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 3179s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 3179s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 10%] 3179s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 3179s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 3179s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 3179s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 3179s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 3179s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 11%] 3179s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 11%] 3179s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 3179s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 3179s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 3179s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 3179s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 12%] 3179s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 12%] 3179s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 3179s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 3179s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 3179s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 3179s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 3179s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 13%] 3179s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 13%] 3179s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 3179s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 3179s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 3179s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 3180s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_17 PASSED [ 14%] 3180s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_17_connect_from_env PASSED [ 14%] 3180s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 3180s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_17 PASSED [ 15%] 3180s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 3180s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 3180s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 3180s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 15%] 3180s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 15%] 3180s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 3180s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 3180s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 3180s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 3180s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 16%] 3180s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 16%] 3180s tests/test_consul.py::TestConsul::test_initialize PASSED [ 16%] 3180s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 3180s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 3180s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 3180s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 3180s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 17%] 3180s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 17%] 3180s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 3180s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 3180s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 3180s tests/test_consul.py::TestConsul::test_update_leader FAILED [ 18%] 3180s tests/test_consul.py::TestConsul::test_update_service PASSED [ 18%] 3180s tests/test_consul.py::TestConsul::test_watch PASSED [ 18%] 3180s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 18%] 3180s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 3180s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 3180s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 3180s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 3180s tests/test_ctl.py::TestCtl::test_failover PASSED [ 19%] 3180s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 19%] 3180s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 3180s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 3180s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 3180s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 3180s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 20%] 3180s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 20%] 3180s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 20%] 3180s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 3180s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 3180s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 3180s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 3180s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 21%] 3180s tests/test_ctl.py::TestCtl::test_members PASSED [ 21%] 3180s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 3180s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 3180s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 3180s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 3180s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 22%] 3180s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 22%] 3180s tests/test_ctl.py::TestCtl::test_reload PASSED [ 22%] 3180s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 3181s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 3181s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 3181s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 3181s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 23%] 3181s tests/test_ctl.py::TestCtl::test_show_diff_pager PASSED [ 23%] 3181s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 23%] 3181s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 3181s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 3181s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 3181s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 3181s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 24%] 3181s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 24%] 3181s tests/test_etcd.py::TestClient::test___del__ PASSED [ 25%] 3181s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 3181s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 3181s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 3181s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 25%] 3182s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 25%] 3182s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 25%] 3182s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 3182s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 3182s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 3182s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 3182s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 26%] 3182s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 26%] 3182s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 27%] 3182s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 3182s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 3182s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 3182s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 27%] 3182s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 27%] 3182s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 27%] 3182s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 3182s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 3182s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 3182s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 3182s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 28%] 3182s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 28%] 3182s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 28%] 3182s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 3182s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 3182s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 3182s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 29%] 3182s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 29%] 3182s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 29%] 3182s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 30%] 3182s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 3182s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 3182s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 3182s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 30%] 3182s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 30%] 3182s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 30%] 3182s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 3182s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 3182s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 3182s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 31%] 3182s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 31%] 3182s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 31%] 3182s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 32%] 3182s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 3182s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 3182s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 3182s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 32%] 3182s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 32%] 3182s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 32%] 3182s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 3182s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 3182s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 3182s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 33%] 3182s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 33%] 3182s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 33%] 3182s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 33%] 3182s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 3182s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 3182s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 3182s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 34%] 3182s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 34%] 3182s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 34%] 3182s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 3182s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 3183s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 3183s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 35%] 3183s tests/test_ha.py::TestHa::test_after_pause PASSED [ 35%] 3183s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 35%] 3183s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 35%] 3183s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 3183s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 3183s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 3183s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 36%] 3183s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 36%] 3183s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 36%] 3183s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 3183s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 3183s tests/test_ha.py::TestHa::test_call_failsafe_member PASSED [ 37%] 3183s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 3183s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 37%] 3183s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 37%] 3183s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 37%] 3183s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 3183s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 3183s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 3183s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 38%] 3183s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 38%] 3183s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 38%] 3183s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 38%] 3183s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 3183s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 3183s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 3183s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 39%] 3183s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 39%] 3183s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 39%] 3183s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 3183s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 3183s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 3183s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 40%] 3183s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 40%] 3183s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 40%] 3183s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 40%] 3183s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 3183s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 3183s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 3183s tests/test_ha.py::TestHa::test_is_leader PASSED [ 41%] 3183s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 41%] 3183s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 41%] 3183s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 3183s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 3183s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 3184s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 42%] 3184s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 42%] 3184s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 42%] 3184s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 42%] 3184s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 3184s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 3184s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 3184s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 43%] 3184s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 43%] 3184s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 43%] 3184s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 3184s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 3184s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 3184s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 44%] 3184s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 44%] 3184s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 44%] 3184s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 44%] 3184s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 3184s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 3184s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 3184s tests/test_ha.py::TestHa::test_post_recover PASSED [ 45%] 3184s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 45%] 3184s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 45%] 3184s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 45%] 3184s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3184s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 3184s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 46%] 3184s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3184s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 46%] 3184s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 46%] 3184s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 3184s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 3184s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 3184s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 47%] 3184s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 47%] 3184s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 47%] 3184s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 47%] 3184s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 3184s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 3184s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 48%] 3185s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 48%] 3185s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 48%] 3185s tests/test_ha.py::TestHa::test_restart PASSED [ 48%] 3185s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 3185s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 3185s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 49%] 3185s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 49%] 3185s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 49%] 3185s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 49%] 3185s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 49%] 3185s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 3185s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 3185s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 50%] 3185s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 50%] 3185s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 50%] 3185s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 50%] 3185s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 50%] 3185s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 3185s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 51%] 3185s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 51%] 3185s tests/test_ha.py::TestHa::test_touch_member PASSED [ 51%] 3185s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 51%] 3185s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 51%] 3185s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 3185s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 3185s tests/test_ha.py::TestHa::test_wakeup PASSED [ 52%] 3185s tests/test_ha.py::TestHa::test_watch PASSED [ 52%] 3185s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 52%] 3185s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 52%] 3185s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 52%] 3185s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 3185s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 53%] 3185s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 53%] 3185s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 53%] 3185s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 53%] 3185s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 53%] 3185s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 3185s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 3185s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 54%] 3185s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 54%] 3185s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 54%] 3185s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 54%] 3185s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 54%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 55%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 55%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 55%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 55%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 55%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 55%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 56%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 56%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 56%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 56%] 3186s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 56%] 3186s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 3186s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 57%] 3186s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry FAILED [ 57%] 3187s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 57%] 3187s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 57%] 3187s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 57%] 3187s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 57%] 3187s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 3187s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 58%] 3187s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 58%] 3187s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 58%] 3187s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 58%] 3187s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 58%] 3187s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 3187s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 59%] 3187s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 59%] 3187s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 59%] 3187s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 59%] 3187s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 59%] 3187s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 59%] 3187s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 3187s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 60%] 3187s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 60%] 3187s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 60%] 3187s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 60%] 3187s tests/test_patroni.py::TestPatroni::test_apply_dynamic_configuration PASSED [ 60%] 3187s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 3187s tests/test_patroni.py::TestPatroni::test_ensure_dcs_access PASSED [ 61%] 3187s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 3187s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 61%] 3187s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 61%] 3187s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 61%] 3187s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 61%] 3187s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 3187s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 62%] 3187s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 62%] 3187s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 62%] 3187s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 62%] 3187s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 62%] 3187s tests/test_patroni.py::TestPatroni::test_run PASSED [ 62%] 3187s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 3188s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 63%] 3188s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 63%] 3188s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 63%] 3188s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 63%] 3188s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 63%] 3188s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 3188s tests/test_postgresql.py::TestPostgresql::test__pgpass_content PASSED [ 64%] 3188s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 64%] 3188s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 64%] 3188s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 64%] 3188s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 64%] 3188s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 64%] 3188s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 3188s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 3188s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 65%] 3188s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 65%] 3188s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 65%] 3188s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 65%] 3188s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 3188s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 3188s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 66%] 3188s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 66%] 3188s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 66%] 3188s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 66%] 3188s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 66%] 3188s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 3188s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 3188s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 67%] 3188s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 67%] 3188s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 67%] 3188s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 67%] 3188s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 67%] 3188s tests/test_postgresql.py::TestPostgresql::test_pg_version PASSED [ 68%] 3188s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 3188s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 68%] 3188s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 68%] 3188s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 68%] 3188s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 68%] 3188s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 3188s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 3188s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 3188s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 69%] 3188s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 69%] 3188s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 69%] 3188s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 69%] 3188s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 3188s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 3188s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 70%] 3189s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 70%] 3189s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 70%] 3189s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 70%] 3189s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 3189s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 3189s tests/test_postgresql.py::TestPostgresql::test_transform_postgresql_parameter_value PASSED [ 71%] 3189s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 3189s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 71%] 3189s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 71%] 3189s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 71%] 3189s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 3189s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 3189s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 3189s tests/test_postgresql.py::TestPostgresql2::test_format_dsn PASSED [ 72%] 3189s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 72%] 3189s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 72%] 3189s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 72%] 3189s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 3189s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 3189s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 3189s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 3189s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 73%] 3189s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 73%] 3189s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 3189s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 3189s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 3189s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 3189s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 74%] 3191s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 74%] 3194s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 74%] 3195s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 3195s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 3196s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 3197s tests/test_raft.py::TestRaft::test_init PASSED [ 75%] 3198s tests/test_raft.py::TestRaft::test_raft PASSED [ 75%] 3198s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 75%] 3198s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 3198s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 3198s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 3198s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 3198s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 76%] 3198s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 76%] 3198s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 76%] 3198s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 3198s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 3198s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 3198s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 77%] 3198s tests/test_rewind.py::TestRewind::test_execute PASSED [ 77%] 3198s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 77%] 3198s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 77%] 3198s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 3198s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 3198s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 3198s tests/test_slots.py::TestSlotsHandler::test_advance_physical_primary PASSED [ 78%] 3198s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 78%] 3198s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 78%] 3198s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 3198s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 3198s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 3198s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 3198s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 79%] 3198s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 79%] 3198s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 79%] 3198s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 3198s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 3199s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 3199s tests/test_sync.py::TestSync::test_do_not_prick_yourself PASSED [ 80%] 3199s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 3199s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 80%] 3199s tests/test_utils.py::TestUtils::test_apply_keepalive_limit PASSED [ 81%] 3199s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 3199s tests/test_utils.py::TestUtils::test_get_major_version PASSED [ 81%] 3199s tests/test_utils.py::TestUtils::test_get_postgres_version PASSED [ 81%] 3199s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 3199s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 3199s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 3199s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 82%] 3199s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 3199s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 3199s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 3199s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 3199s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 3199s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 83%] 3199s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 83%] 3199s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 3199s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_executables_in_path PASSED [ 83%] 3199s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 3199s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 3199s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 3199s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 84%] 3199s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 3199s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 3199s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 3199s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 3199s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 3199s tests/test_validator.py::TestValidator::test_pg_version_mismatch PASSED [ 84%] 3199s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 85%] 3199s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 3199s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 3199s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 3199s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 3199s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 3199s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 86%] 3199s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 3199s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 3199s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 3199s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 3199s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 3199s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 3199s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 87%] 3199s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 3199s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 3199s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 3199s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 3199s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 3199s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 88%] 3199s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 3199s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 3199s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 3199s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 3199s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 3199s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 3199s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 3199s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 3199s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 3199s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 3199s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 3199s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 3199s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 3199s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 3199s patroni/api.py::patroni.api.check_access PASSED [ 93%] 3199s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 3199s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 3199s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 3199s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 3199s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 3199s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 3199s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 3199s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 3199s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 3200s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 3200s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 94%] 3200s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 3200s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 3200s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 3200s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 3200s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 3200s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 3200s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 3200s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 3200s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 3200s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 3200s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 3200s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 3200s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 96%] 3200s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 3200s patroni/postgresql/misc.py::patroni.postgresql.misc.get_major_from_minor_version PASSED [ 97%] 3200s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 3200s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 3200s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 3200s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 3200s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 98%] 3200s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 3200s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 3200s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 3200s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 3200s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 3200s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 3200s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 3200s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 3200s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 3200s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 3200s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 3200s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 3203s patroni/utils.py::patroni.utils.unquote PASSED [100%] 3203s 3203s =================================== FAILURES =================================== 3203s ________________________ TestConsul.test_update_leader _________________________ 3203s 3203s self = 3203s mock_renew = 3203s 3203s @patch.object(Session, 'renew') 3203s @patch.object(KV, 'put', Mock(side_effect=ConsulException)) 3203s def test_update_leader(self, mock_renew): 3203s cluster = self.c.get_cluster() 3203s self.c._session = 'fd4f44fe-2cac-bba5-a60b-304b51ff39b8' 3203s with patch.object(KV, 'delete', Mock(return_value=True)): 3203s with patch.object(KV, 'put', Mock(return_value=True)): 3203s self.assertTrue(self.c.update_leader(cluster, 12345, failsafe={'foo': 'bar'})) 3203s with patch.object(KV, 'put', Mock(side_effect=ConsulException)): 3203s self.assertFalse(self.c.update_leader(cluster, 12345)) 3203s with patch('time.time', Mock(side_effect=[0, 0, 0, 0, 100, 200, 300])): 3203s > self.assertRaises(ConsulError, self.c.update_leader, cluster, 12345) 3203s E AssertionError: ConsulError not raised by update_leader 3203s 3203s tests/test_consul.py:196: AssertionError 3203s ----------------------------- Captured stderr call ----------------------------- 3203s Using t- as consul service name instead of scope name t_ 3203s Recreating the leader key due to session mismatch 3203s Recreating the leader key due to session mismatch 3203s Recreating the leader key due to session mismatch 3203s ------------------------------ Captured log call ------------------------------- 3203s WARNING patroni.dcs.consul:consul.py:503 Using t- as consul service name instead of scope name t_ 3203s WARNING patroni.dcs.consul:consul.py:650 Recreating the leader key due to session mismatch 3203s WARNING patroni.dcs.consul:consul.py:650 Recreating the leader key due to session mismatch 3203s WARNING patroni.dcs.consul:consul.py:650 Recreating the leader key due to session mismatch 3203s ____________ TestKubernetesEndpoints.test__update_leader_with_retry ____________ 3203s 3203s self = 3203s mock_patch = 3203s mock_read = 3203s 3203s @patch.object(k8s_client.CoreV1Api, 'read_namespaced_endpoints', create=True) 3203s @patch.object(k8s_client.CoreV1Api, 'patch_namespaced_endpoints', create=True) 3203s def test__update_leader_with_retry(self, mock_patch, mock_read): 3203s cluster = self.k.get_cluster() 3203s mock_read.return_value = mock_read_namespaced_endpoints() 3203s mock_patch.side_effect = k8s_client.rest.ApiException(502, '') 3203s self.assertFalse(self.k.update_leader(cluster, '123')) 3203s mock_patch.side_effect = RetryFailedError('') 3203s self.assertRaises(KubernetesError, self.k.update_leader, cluster, '123') 3203s mock_patch.side_effect = [k8s_client.rest.ApiException(409, ''), 3203s k8s_client.rest.ApiException(409, ''), mock_namespaced_kind()] 3203s mock_read.return_value.metadata.resource_version = '2' 3203s with patch('time.time', Mock(side_effect=[0, 100, 200, 0, 0, 0, 0, 100, 200])): 3203s self.assertFalse(self.k.update_leader(cluster, '123')) 3203s > self.assertFalse(self.k.update_leader(cluster, '123')) 3203s E AssertionError: True is not false 3203s 3203s tests/test_kubernetes.py:425: AssertionError 3203s ----------------------------- Captured stderr call ----------------------------- 3203s Failed to refresh service account token: ConfigException('Service token file does not exists.') 3203s Failed to get "kubernetes" endpoint from http://localhost: ApiException() 3203s Failed to refresh service account token: ConfigException('Service token file does not exists.') 3203s Failed to get "kubernetes" endpoint from http://localhost: ApiException() 3203s Failed to refresh service account token: ConfigException('Service token file does not exists.') 3203s Failed to get "kubernetes" endpoint from http://localhost: ApiException() 3203s Unexpected error from Kubernetes API 3203s Traceback (most recent call last): 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/dcs/kubernetes.py", line 1190, in _update_leader_with_retry 3203s return bool(self._patch_or_create(self.leader_path, annotations, resource_version, ips=ips, retry=_retry)) 3203s ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/dcs/kubernetes.py", line 1121, in _patch_or_create 3203s ret = retry(func, self._namespace, body) if retry else func(self._namespace, body) 3203s ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/dcs/kubernetes.py", line 1187, in _retry 3203s return retry(*args, **kwargs) 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/utils.py", line 763, in __call__ 3203s return func(*args, **kwargs) 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/dcs/kubernetes.py", line 559, in wrapper 3203s return getattr(self._core_v1_api, func)(*args, **kwargs) 3203s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 3203s File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ 3203s return self._mock_call(*args, **kwargs) 3203s ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 3203s File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call 3203s return self._execute_mock_call(*args, **kwargs) 3203s ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 3203s File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call 3203s raise effect 3203s patroni.dcs.kubernetes.K8sClient.rest.ApiException: (502) 3203s Reason: 3203s 3203s Concurrent update of test 3203s Concurrent update of test 3203s ------------------------------ Captured log call ------------------------------- 3203s ERROR patroni.dcs.kubernetes:kubernetes.py:171 Failed to refresh service account token: ConfigException('Service token file does not exists.') 3203s ERROR patroni.dcs.kubernetes:kubernetes.py:304 Failed to get "kubernetes" endpoint from http://localhost: ApiException() 3203s ERROR patroni.dcs.kubernetes:kubernetes.py:171 Failed to refresh service account token: ConfigException('Service token file does not exists.') 3203s ERROR patroni.dcs.kubernetes:kubernetes.py:304 Failed to get "kubernetes" endpoint from http://localhost: ApiException() 3203s ERROR patroni.dcs.kubernetes:kubernetes.py:171 Failed to refresh service account token: ConfigException('Service token file does not exists.') 3203s ERROR patroni.dcs.kubernetes:kubernetes.py:304 Failed to get "kubernetes" endpoint from http://localhost: ApiException() 3203s ERROR patroni.dcs.kubernetes:kubernetes.py:1195 Unexpected error from Kubernetes API 3203s Traceback (most recent call last): 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/dcs/kubernetes.py", line 1190, in _update_leader_with_retry 3203s return bool(self._patch_or_create(self.leader_path, annotations, resource_version, ips=ips, retry=_retry)) 3203s ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/dcs/kubernetes.py", line 1121, in _patch_or_create 3203s ret = retry(func, self._namespace, body) if retry else func(self._namespace, body) 3203s ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/dcs/kubernetes.py", line 1187, in _retry 3203s return retry(*args, **kwargs) 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/utils.py", line 763, in __call__ 3203s return func(*args, **kwargs) 3203s File "/tmp/autopkgtest.kYrsxI/build.CGK/src/patroni/dcs/kubernetes.py", line 559, in wrapper 3203s return getattr(self._core_v1_api, func)(*args, **kwargs) 3203s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 3203s File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__ 3203s return self._mock_call(*args, **kwargs) 3203s ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 3203s File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call 3203s return self._execute_mock_call(*args, **kwargs) 3203s ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 3203s File "/usr/lib/python3.13/unittest/mock.py", line 1226, in _execute_mock_call 3203s raise effect 3203s patroni.dcs.kubernetes.K8sClient.rest.ApiException: (502) 3203s Reason: 3203s 3203s WARNING patroni.dcs.kubernetes:kubernetes.py:1193 Concurrent update of test 3203s WARNING patroni.dcs.kubernetes:kubernetes.py:1193 Concurrent update of test 3203s 3203s ---------- coverage: platform linux, python 3.13.1-final-0 ----------- 3203s Name Stmts Miss Cover Missing 3203s ----------------------------------------------------------------------------------- 3203s patroni/__init__.py 13 0 100% 3203s patroni/__main__.py 199 1 99% 406 3203s patroni/api.py 780 0 100% 3203s patroni/async_executor.py 96 0 100% 3203s patroni/collections.py 56 3 95% 50, 99, 107 3203s patroni/config.py 371 0 100% 3203s patroni/config_generator.py 212 0 100% 3203s patroni/ctl.py 941 0 100% 3203s patroni/daemon.py 76 0 100% 3203s patroni/dcs/__init__.py 654 0 100% 3203s patroni/dcs/consul.py 484 1 99% 637 3203s patroni/dcs/etcd3.py 679 0 100% 3203s patroni/dcs/etcd.py 603 0 100% 3203s patroni/dcs/exhibitor.py 62 0 100% 3203s patroni/dcs/kubernetes.py 940 11 99% 1065-1067, 1207-1211, 1220, 1225, 1228 3203s patroni/dcs/raft.py 319 0 100% 3203s patroni/dcs/zookeeper.py 289 0 100% 3203s patroni/dynamic_loader.py 35 0 100% 3203s patroni/exceptions.py 16 0 100% 3203s patroni/file_perm.py 43 0 100% 3203s patroni/global_config.py 81 0 100% 3203s patroni/ha.py 1271 2 99% 2049-2050 3203s patroni/log.py 221 2 99% 367-369 3203s patroni/postgresql/__init__.py 822 0 100% 3203s patroni/postgresql/available_parameters/__init__.py 24 0 100% 3203s patroni/postgresql/bootstrap.py 255 0 100% 3203s patroni/postgresql/callback_executor.py 55 0 100% 3203s patroni/postgresql/cancellable.py 104 0 100% 3203s patroni/postgresql/config.py 839 0 100% 3203s patroni/postgresql/connection.py 75 0 100% 3203s patroni/postgresql/misc.py 43 0 100% 3203s patroni/postgresql/mpp/__init__.py 89 0 100% 3203s 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 3203s patroni/postgresql/postmaster.py 170 0 100% 3203s patroni/postgresql/rewind.py 416 0 100% 3203s patroni/postgresql/slots.py 349 0 100% 3203s patroni/postgresql/sync.py 130 0 100% 3203s patroni/postgresql/validator.py 157 0 100% 3203s patroni/psycopg.py 46 20 57% 19, 25-26, 42, 44-98, 136 3203s patroni/raft_controller.py 22 0 100% 3203s patroni/request.py 58 0 100% 3203s patroni/scripts/__init__.py 0 0 100% 3203s patroni/scripts/aws.py 59 1 98% 86 3203s patroni/scripts/barman/__init__.py 0 0 100% 3203s patroni/scripts/barman/cli.py 51 1 98% 240 3203s patroni/scripts/barman/config_switch.py 51 0 100% 3203s patroni/scripts/barman/recover.py 37 0 100% 3203s patroni/scripts/barman/utils.py 94 0 100% 3203s patroni/scripts/wale_restore.py 207 1 99% 374 3203s patroni/tags.py 38 0 100% 3203s patroni/utils.py 370 0 100% 3203s patroni/validator.py 307 0 100% 3203s patroni/version.py 1 0 100% 3203s patroni/watchdog/__init__.py 2 0 100% 3203s patroni/watchdog/base.py 203 0 100% 3203s patroni/watchdog/linux.py 135 1 99% 36 3203s ----------------------------------------------------------------------------------- 3203s TOTAL 13909 166 99% 3203s Coverage XML written to file coverage.xml 3203s 3203s =========================== short test summary info ============================ 3203s FAILED tests/test_consul.py::TestConsul::test_update_leader - AssertionError:... 3203s FAILED tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry 3203s ================== 2 failed, 643 passed, 14 skipped in 29.39s ================== 3204s autopkgtest [22:20:54]: test test: -----------------------] 3204s test FAIL non-zero exit status 1 3204s autopkgtest [22:20:54]: test test: - - - - - - - - - - results - - - - - - - - - - 3205s autopkgtest [22:20:55]: @@@@@@@@@@@@@@@@@@@@ summary 3205s acceptance-etcd3 PASS 3205s acceptance-etcd-basic PASS 3205s acceptance-etcd PASS 3205s acceptance-zookeeper PASS 3205s acceptance-raft PASS 3205s test FAIL non-zero exit status 1 3222s nova [W] Using flock in prodstack6-arm64 3222s Creating nova instance adt-plucky-arm64-patroni-20250119-212730-juju-7f2275-prod-proposed-migration-environment-15-135a02ae-469f-4943-bc18-8537ba678425 from image adt/ubuntu-plucky-arm64-server-20250119.img (UUID 3333ce39-5f80-48c2-9e3a-a817ced65061)... 3222s nova [W] Timed out waiting for ad2fd911-6dbf-4544-9f1d-32c5f9292c9a to get deleted. 3222s nova [W] Using flock in prodstack6-arm64 3222s Creating nova instance adt-plucky-arm64-patroni-20250119-212730-juju-7f2275-prod-proposed-migration-environment-15-135a02ae-469f-4943-bc18-8537ba678425 from image adt/ubuntu-plucky-arm64-server-20250119.img (UUID 3333ce39-5f80-48c2-9e3a-a817ced65061)... 3222s nova [W] Timed out waiting for 098d3add-32b2-41d2-b1c2-29bf4d38aa10 to get deleted. 3222s nova [W] Using flock in prodstack6-arm64 3222s Creating nova instance adt-plucky-arm64-patroni-20250119-212730-juju-7f2275-prod-proposed-migration-environment-15-135a02ae-469f-4943-bc18-8537ba678425 from image adt/ubuntu-plucky-arm64-server-20250119.img (UUID 3333ce39-5f80-48c2-9e3a-a817ced65061)... 3222s nova [W] Timed out waiting for 948d610a-c730-4f35-8392-90b073730903 to get deleted. 3222s nova [W] Using flock in prodstack6-arm64 3222s Creating nova instance adt-plucky-arm64-patroni-20250119-212730-juju-7f2275-prod-proposed-migration-environment-15-135a02ae-469f-4943-bc18-8537ba678425 from image adt/ubuntu-plucky-arm64-server-20250119.img (UUID 3333ce39-5f80-48c2-9e3a-a817ced65061)... 3222s nova [W] Timed out waiting for c1330ae3-5134-405d-bb2f-5b577379ce0a to get deleted. 3222s nova [W] Using flock in prodstack6-arm64 3222s Creating nova instance adt-plucky-arm64-patroni-20250119-212730-juju-7f2275-prod-proposed-migration-environment-15-135a02ae-469f-4943-bc18-8537ba678425 from image adt/ubuntu-plucky-arm64-server-20250119.img (UUID 3333ce39-5f80-48c2-9e3a-a817ced65061)... 3222s nova [W] Timed out waiting for b7ea090a-817c-4d72-90c0-77e02baa2b27 to get deleted.