0s autopkgtest [00:54:10]: starting date and time: 2025-01-09 00:54:10+0000 0s autopkgtest [00:54:10]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [00:54:10]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.nutbqhte/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:sphinx --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/8.1.3-4 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-24.secgroup --name adt-plucky-arm64-patroni-20250108-232203-juju-7f2275-prod-proposed-migration-environment-2-aeeb2946-f548-4bf6-81d4-5db764676b7c --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --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/ 123s autopkgtest [00:56:13]: testbed dpkg architecture: arm64 123s autopkgtest [00:56:13]: testbed apt version: 2.9.18 124s autopkgtest [00:56:14]: @@@@@@@@@@@@@@@@@@@@ test bed setup 124s autopkgtest [00:56:14]: testbed release detected to be: None 125s autopkgtest [00:56:15]: updating testbed package index (apt update) 125s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 125s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 125s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 125s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 125s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [16.5 kB] 125s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [125 kB] 125s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 125s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [776 kB] 126s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [233 kB] 126s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 126s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [974 kB] 126s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [22.4 kB] 126s Fetched 2288 kB in 1s (2408 kB/s) 127s Reading package lists... 128s Reading package lists... 128s Building dependency tree... 128s Reading state information... 129s Calculating upgrade... 130s The following packages will be upgraded: 130s libgpgme11t64 python3-oauthlib 130s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 130s Need to get 232 kB of archives. 130s After this operation, 0 B of additional disk space will be used. 130s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgpgme11t64 arm64 1.24.1-2ubuntu1 [142 kB] 130s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oauthlib all 3.2.2-3 [89.9 kB] 131s Fetched 232 kB in 1s (457 kB/s) 131s (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 ... 80185 files and directories currently installed.) 131s Preparing to unpack .../libgpgme11t64_1.24.1-2ubuntu1_arm64.deb ... 131s Unpacking libgpgme11t64:arm64 (1.24.1-2ubuntu1) over (1.24.0-2ubuntu1) ... 131s Preparing to unpack .../python3-oauthlib_3.2.2-3_all.deb ... 132s Unpacking python3-oauthlib (3.2.2-3) over (3.2.2-2) ... 132s Setting up python3-oauthlib (3.2.2-3) ... 132s Setting up libgpgme11t64:arm64 (1.24.1-2ubuntu1) ... 132s Processing triggers for libc-bin (2.40-4ubuntu1) ... 132s Reading package lists... 132s Building dependency tree... 132s Reading state information... 134s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 134s autopkgtest [00:56:24]: upgrading testbed (apt dist-upgrade and autopurge) 134s Reading package lists... 134s Building dependency tree... 134s Reading state information... 135s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 135s Starting 2 pkgProblemResolver with broken count: 0 135s Done 136s Entering ResolveByKeep 136s 137s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 137s Reading package lists... 137s Building dependency tree... 137s Reading state information... 138s Starting pkgProblemResolver with broken count: 0 138s Starting 2 pkgProblemResolver with broken count: 0 138s Done 139s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 142s autopkgtest [00:56:32]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 142s autopkgtest [00:56:32]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 145s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.4-1 (dsc) [2870 B] 145s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.4-1 (tar) [1159 kB] 145s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.4-1 (diff) [26.5 kB] 145s gpgv: Signature made Sun Nov 17 16:29:00 2024 UTC 145s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 145s gpgv: Can't check signature: No public key 145s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.4-1.dsc: no acceptable signature found 146s autopkgtest [00:56:36]: testing package patroni version 3.3.4-1 146s autopkgtest [00:56:36]: build not needed 147s autopkgtest [00:56:37]: test acceptance-etcd3: preparing testbed 147s Reading package lists... 147s Building dependency tree... 147s Reading state information... 148s Starting pkgProblemResolver with broken count: 0 148s Starting 2 pkgProblemResolver with broken count: 0 148s Done 149s The following NEW packages will be installed: 149s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 149s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 149s libpython3.13-minimal libpython3.13-stdlib libtime-duration-perl 149s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 149s postgresql-16 postgresql-client-16 postgresql-client-common 149s postgresql-common python3-behave python3-cdiff python3-click 149s python3-colorama python3-coverage python3-dateutil python3-dnspython 149s python3-etcd python3-parse python3-parse-type python3-prettytable 149s python3-psutil python3-psycopg2 python3-six python3-wcwidth python3-ydiff 149s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert 149s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 149s Need to get 40.4 MB of archives. 149s After this operation, 151 MB of additional disk space will be used. 149s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 151s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 151s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 151s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 151s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 151s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-2 [879 kB] 151s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-2 [2262 kB] 152s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.16-3 [10.7 MB] 153s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 153s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 153s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 153s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 153s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 153s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 153s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 153s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-2 [2061 kB] 153s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 153s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 153s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 153s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 153s Get:21 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 153s Get:22 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 153s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 153s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 153s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 153s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 153s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 153s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 153s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 153s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 153s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-6 [32.1 kB] 153s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.4-1 [269 kB] 153s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 153s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.4-1 [508 kB] 153s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 153s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 154s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 154s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 154s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 154s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 154s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 154s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-2 [729 kB] 154s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 155s Preconfiguring packages ... 155s Fetched 40.4 MB in 5s (7569 kB/s) 155s Selecting previously unselected package fonts-lato. 155s (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 ... 80185 files and directories currently installed.) 155s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 155s Unpacking fonts-lato (2.015-1) ... 156s Selecting previously unselected package libjson-perl. 156s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 156s Unpacking libjson-perl (4.10000-1) ... 156s Selecting previously unselected package postgresql-client-common. 156s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 156s Unpacking postgresql-client-common (262) ... 156s Selecting previously unselected package ssl-cert. 156s Preparing to unpack .../03-ssl-cert_1.1.3ubuntu1_all.deb ... 156s Unpacking ssl-cert (1.1.3ubuntu1) ... 156s Selecting previously unselected package postgresql-common. 156s Preparing to unpack .../04-postgresql-common_262_all.deb ... 156s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 156s Unpacking postgresql-common (262) ... 156s Selecting previously unselected package libpython3.13-minimal:arm64. 156s Preparing to unpack .../05-libpython3.13-minimal_3.13.1-2_arm64.deb ... 156s Unpacking libpython3.13-minimal:arm64 (3.13.1-2) ... 156s Selecting previously unselected package python3.13-minimal. 156s Preparing to unpack .../06-python3.13-minimal_3.13.1-2_arm64.deb ... 156s Unpacking python3.13-minimal (3.13.1-2) ... 156s Selecting previously unselected package etcd-server. 156s Preparing to unpack .../07-etcd-server_3.5.16-3_arm64.deb ... 156s Unpacking etcd-server (3.5.16-3) ... 156s Selecting previously unselected package fonts-font-awesome. 157s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 157s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 157s Selecting previously unselected package libio-pty-perl. 157s Preparing to unpack .../09-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 157s Unpacking libio-pty-perl (1:1.20-1build3) ... 157s Selecting previously unselected package libipc-run-perl. 157s Preparing to unpack .../10-libipc-run-perl_20231003.0-2_all.deb ... 157s Unpacking libipc-run-perl (20231003.0-2) ... 157s Selecting previously unselected package libjs-jquery. 157s Preparing to unpack .../11-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 157s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 157s Selecting previously unselected package libjs-underscore. 157s Preparing to unpack .../12-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 157s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 157s Selecting previously unselected package libjs-sphinxdoc. 157s Preparing to unpack .../13-libjs-sphinxdoc_8.1.3-4_all.deb ... 157s Unpacking libjs-sphinxdoc (8.1.3-4) ... 157s Selecting previously unselected package libpq5:arm64. 157s Preparing to unpack .../14-libpq5_17.2-1_arm64.deb ... 157s Unpacking libpq5:arm64 (17.2-1) ... 157s Selecting previously unselected package libpython3.13-stdlib:arm64. 157s Preparing to unpack .../15-libpython3.13-stdlib_3.13.1-2_arm64.deb ... 157s Unpacking libpython3.13-stdlib:arm64 (3.13.1-2) ... 157s Selecting previously unselected package libtime-duration-perl. 157s Preparing to unpack .../16-libtime-duration-perl_1.21-2_all.deb ... 157s Unpacking libtime-duration-perl (1.21-2) ... 157s Selecting previously unselected package libtimedate-perl. 157s Preparing to unpack .../17-libtimedate-perl_2.3300-2_all.deb ... 157s Unpacking libtimedate-perl (2.3300-2) ... 157s Selecting previously unselected package libxslt1.1:arm64. 157s Preparing to unpack .../18-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 157s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 157s Selecting previously unselected package moreutils. 157s Preparing to unpack .../19-moreutils_0.69-1_arm64.deb ... 157s Unpacking moreutils (0.69-1) ... 157s Selecting previously unselected package python3-ydiff. 157s Preparing to unpack .../20-python3-ydiff_1.4.2-1_all.deb ... 157s Unpacking python3-ydiff (1.4.2-1) ... 158s Selecting previously unselected package python3-cdiff. 158s Preparing to unpack .../21-python3-cdiff_1.4.2-1_all.deb ... 158s Unpacking python3-cdiff (1.4.2-1) ... 158s Selecting previously unselected package python3-colorama. 158s Preparing to unpack .../22-python3-colorama_0.4.6-4_all.deb ... 158s Unpacking python3-colorama (0.4.6-4) ... 158s Selecting previously unselected package python3-click. 158s Preparing to unpack .../23-python3-click_8.1.7-2_all.deb ... 158s Unpacking python3-click (8.1.7-2) ... 158s Selecting previously unselected package python3-dateutil. 158s Preparing to unpack .../24-python3-dateutil_2.9.0-3_all.deb ... 158s Unpacking python3-dateutil (2.9.0-3) ... 158s Selecting previously unselected package python3-wcwidth. 158s Preparing to unpack .../25-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 158s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 158s Selecting previously unselected package python3-prettytable. 158s Preparing to unpack .../26-python3-prettytable_3.12.0-1_all.deb ... 158s Unpacking python3-prettytable (3.12.0-1) ... 158s Selecting previously unselected package python3-psutil. 158s Preparing to unpack .../27-python3-psutil_5.9.8-2build3_arm64.deb ... 158s Unpacking python3-psutil (5.9.8-2build3) ... 158s Selecting previously unselected package python3-psycopg2. 158s Preparing to unpack .../28-python3-psycopg2_2.9.10-1_arm64.deb ... 158s Unpacking python3-psycopg2 (2.9.10-1) ... 158s Selecting previously unselected package python3-dnspython. 158s Preparing to unpack .../29-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 158s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 158s Selecting previously unselected package python3-etcd. 158s Preparing to unpack .../30-python3-etcd_0.4.5-6_all.deb ... 158s Unpacking python3-etcd (0.4.5-6) ... 158s Selecting previously unselected package patroni. 158s Preparing to unpack .../31-patroni_3.3.4-1_all.deb ... 158s Unpacking patroni (3.3.4-1) ... 158s Selecting previously unselected package sphinx-rtd-theme-common. 158s Preparing to unpack .../32-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 158s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 158s Selecting previously unselected package patroni-doc. 158s Preparing to unpack .../33-patroni-doc_3.3.4-1_all.deb ... 158s Unpacking patroni-doc (3.3.4-1) ... 158s Selecting previously unselected package postgresql-client-16. 158s Preparing to unpack .../34-postgresql-client-16_16.4-3_arm64.deb ... 158s Unpacking postgresql-client-16 (16.4-3) ... 159s Selecting previously unselected package postgresql-16. 159s Preparing to unpack .../35-postgresql-16_16.4-3_arm64.deb ... 159s Unpacking postgresql-16 (16.4-3) ... 159s Selecting previously unselected package postgresql. 159s Preparing to unpack .../36-postgresql_16+262_all.deb ... 159s Unpacking postgresql (16+262) ... 159s Selecting previously unselected package python3-parse. 159s Preparing to unpack .../37-python3-parse_1.20.2-1_all.deb ... 159s Unpacking python3-parse (1.20.2-1) ... 159s Selecting previously unselected package python3-six. 159s Preparing to unpack .../38-python3-six_1.17.0-1_all.deb ... 159s Unpacking python3-six (1.17.0-1) ... 159s Selecting previously unselected package python3-parse-type. 159s Preparing to unpack .../39-python3-parse-type_0.6.4-1_all.deb ... 159s Unpacking python3-parse-type (0.6.4-1) ... 159s Selecting previously unselected package python3-behave. 159s Preparing to unpack .../40-python3-behave_1.2.6-6_all.deb ... 159s Unpacking python3-behave (1.2.6-6) ... 159s Selecting previously unselected package python3.13. 159s Preparing to unpack .../41-python3.13_3.13.1-2_arm64.deb ... 159s Unpacking python3.13 (3.13.1-2) ... 160s Selecting previously unselected package python3-coverage. 160s Preparing to unpack .../42-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 160s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 160s Setting up postgresql-client-common (262) ... 160s Setting up fonts-lato (2.015-1) ... 160s Setting up libio-pty-perl (1:1.20-1build3) ... 160s Setting up python3-colorama (0.4.6-4) ... 160s Setting up python3-ydiff (1.4.2-1) ... 160s Setting up libpq5:arm64 (17.2-1) ... 160s Setting up python3-click (8.1.7-2) ... 161s Setting up python3-psutil (5.9.8-2build3) ... 162s Setting up python3-six (1.17.0-1) ... 162s Setting up libpython3.13-minimal:arm64 (3.13.1-2) ... 162s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 163s Setting up ssl-cert (1.1.3ubuntu1) ... 163s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 164s Setting up python3-psycopg2 (2.9.10-1) ... 164s Setting up libipc-run-perl (20231003.0-2) ... 164s Setting up libtime-duration-perl (1.21-2) ... 164s Setting up libtimedate-perl (2.3300-2) ... 164s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 165s Setting up python3-parse (1.20.2-1) ... 165s Setting up libjson-perl (4.10000-1) ... 165s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 165s Setting up python3.13-minimal (3.13.1-2) ... 166s Setting up python3-dateutil (2.9.0-3) ... 167s Setting up etcd-server (3.5.16-3) ... 167s info: Selecting UID from range 100 to 999 ... 167s 167s info: Selecting GID from range 100 to 999 ... 167s info: Adding system user `etcd' (UID 107) ... 167s info: Adding new group `etcd' (GID 111) ... 167s info: Adding new user `etcd' (UID 107) with group `etcd' ... 167s info: Creating home directory `/var/lib/etcd/' ... 168s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 168s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 169s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 169s Setting up python3-prettytable (3.12.0-1) ... 169s Setting up libpython3.13-stdlib:arm64 (3.13.1-2) ... 169s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 169s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 169s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 169s Setting up moreutils (0.69-1) ... 169s Setting up python3.13 (3.13.1-2) ... 171s Setting up python3-etcd (0.4.5-6) ... 171s Setting up postgresql-client-16 (16.4-3) ... 172s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 172s Setting up python3-cdiff (1.4.2-1) ... 172s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 172s Setting up python3-parse-type (0.6.4-1) ... 173s Setting up postgresql-common (262) ... 173s Creating config file /etc/postgresql-common/createcluster.conf with new version 174s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 174s Removing obsolete dictionary files: 175s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 175s Setting up libjs-sphinxdoc (8.1.3-4) ... 175s Setting up python3-behave (1.2.6-6) ... 175s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 175s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 175s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 175s """Registers a custom type that will be available to "parse" 176s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 176s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 176s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 176s """Registers a custom type that will be available to "parse" 176s Setting up patroni (3.3.4-1) ... 176s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 177s Setting up postgresql-16 (16.4-3) ... 177s Creating new PostgreSQL cluster 16/main ... 177s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 178s The files belonging to this database system will be owned by user "postgres". 178s This user must also own the server process. 178s 178s The database cluster will be initialized with locale "C.UTF-8". 178s The default database encoding has accordingly been set to "UTF8". 178s The default text search configuration will be set to "english". 178s 178s Data page checksums are disabled. 178s 178s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 178s creating subdirectories ... ok 178s selecting dynamic shared memory implementation ... posix 178s selecting default max_connections ... 100 178s selecting default shared_buffers ... 128MB 178s selecting default time zone ... Etc/UTC 178s creating configuration files ... ok 178s running bootstrap script ... ok 178s performing post-bootstrap initialization ... ok 178s syncing data to disk ... ok 182s Setting up patroni-doc (3.3.4-1) ... 182s Setting up postgresql (16+262) ... 182s Processing triggers for systemd (257-2ubuntu1) ... 182s Processing triggers for man-db (2.13.0-1) ... 184s Processing triggers for libc-bin (2.40-4ubuntu1) ... 186s autopkgtest [00:57:16]: test acceptance-etcd3: debian/tests/acceptance etcd3 186s autopkgtest [00:57:16]: test acceptance-etcd3: [----------------------- 186s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 186s ++ ls -1r /usr/lib/postgresql/ 186s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 186s + '[' 16 == 10 -o 16 == 11 ']' 186s ### PostgreSQL 16 acceptance-etcd3 ### 186s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 186s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=etcd3 PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 187s Jan 09 00:57:17 Feature: basic replication # features/basic_replication.feature:1 187s Jan 09 00:57:17 We should check that the basic bootstrapping, replication and failover works. 187s Jan 09 00:57:17 Scenario: check replication of a single table # features/basic_replication.feature:4 187s Jan 09 00:57:17 Given I start postgres0 # features/steps/basic_replication.py:8 191s Jan 09 00:57:21 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 191s Jan 09 00:57:21 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 191s Jan 09 00:57:21 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 191s Jan 09 00:57:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 191s Jan 09 00:57:21 When I start postgres1 # features/steps/basic_replication.py:8 195s Jan 09 00:57:25 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 199s Jan 09 00:57:29 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 199s Jan 09 00:57:29 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 199s Jan 09 00:57:29 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 200s Jan 09 00:57:30 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 200s Jan 09 00:57:30 200s Jan 09 00:57:30 Scenario: check restart of sync replica # features/basic_replication.feature:17 200s Jan 09 00:57:30 Given I shut down postgres2 # features/steps/basic_replication.py:29 201s Jan 09 00:57:31 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 201s Jan 09 00:57:31 When I start postgres2 # features/steps/basic_replication.py:8 205s Jan 09 00:57:35 And I shut down postgres1 # features/steps/basic_replication.py:29 208s Jan 09 00:57:38 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 209s Jan 09 00:57:39 When I start postgres1 # features/steps/basic_replication.py:8 213s Jan 09 00:57:43 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 213s Jan 09 00:57:43 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 213s Jan 09 00:57:43 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 213s Jan 09 00:57:43 213s Jan 09 00:57:43 Scenario: check stuck sync replica # features/basic_replication.feature:28 213s Jan 09 00:57:43 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 214s Jan 09 00:57:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 214s Jan 09 00:57:44 And I create table on postgres0 # features/steps/basic_replication.py:73 214s Jan 09 00:57:44 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 215s Jan 09 00:57:45 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 215s Jan 09 00:57:45 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 215s Jan 09 00:57:45 And I load data on postgres0 # features/steps/basic_replication.py:84 215s Jan 09 00:57:45 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 218s Jan 09 00:57:48 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 218s Jan 09 00:57:48 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 218s Jan 09 00:57:48 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 218s Jan 09 00:57:48 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 218s Jan 09 00:57:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 218s Jan 09 00:57:48 And I drop table on postgres0 # features/steps/basic_replication.py:73 218s Jan 09 00:57:48 218s Jan 09 00:57:48 Scenario: check multi sync replication # features/basic_replication.feature:44 218s Jan 09 00:57:48 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 219s Jan 09 00:57:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 219s Jan 09 00:57:49 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 223s Jan 09 00:57:53 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 223s Jan 09 00:57:53 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 223s Jan 09 00:57:53 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 223s Jan 09 00:57:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 223s Jan 09 00:57:53 And I shut down postgres1 # features/steps/basic_replication.py:29 226s Jan 09 00:57:56 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 227s Jan 09 00:57:57 When I start postgres1 # features/steps/basic_replication.py:8 231s Jan 09 00:58:01 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 232s Jan 09 00:58:02 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 232s Jan 09 00:58:02 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 232s Jan 09 00:58:02 232s Jan 09 00:58:02 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 232s Jan 09 00:58:02 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 234s Jan 09 00:58:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 234s Jan 09 00:58:04 When I sleep for 2 seconds # features/steps/patroni_api.py:39 236s Jan 09 00:58:06 And I shut down postgres0 # features/steps/basic_replication.py:29 237s Jan 09 00:58:07 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 239s Jan 09 00:58:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 239s Jan 09 00:58:09 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 258s Jan 09 00:58:28 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 261s Jan 09 00:58:30 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 261s Jan 09 00:58:30 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 261s Jan 09 00:58:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 261s Jan 09 00:58:31 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 261s Jan 09 00:58:31 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 264s Jan 09 00:58:34 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 264s Jan 09 00:58:34 264s Jan 09 00:58:34 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 264s Jan 09 00:58:34 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 264s Jan 09 00:58:34 And I start postgres0 # features/steps/basic_replication.py:8 264s Jan 09 00:58:34 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 273s Jan 09 00:58:43 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 273s Jan 09 00:58:43 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 273s Jan 09 00:58:43 273s Jan 09 00:58:43 @reject-duplicate-name 273s Jan 09 00:58:43 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 273s Jan 09 00:58:43 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 276s Jan 09 00:58:46 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 280s Jan 09 00:58:50 280s Jan 09 00:58:50 Feature: cascading replication # features/cascading_replication.feature:1 280s Jan 09 00:58:50 We should check that patroni can do base backup and streaming from the replica 280s Jan 09 00:58:50 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 280s Jan 09 00:58:50 Given I start postgres0 # features/steps/basic_replication.py:8 284s Jan 09 00:58:54 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 284s Jan 09 00:58:54 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 288s Jan 09 00:58:58 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 289s Jan 09 00:58:59 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 289s Jan 09 00:58:59 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 289s Jan 09 00:58:59 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 289s Jan 09 00:58:59 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 293s Jan 09 00:59:03 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 294s Jan 09 00:59:04 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 301s Jan 09 00:59:11 301s Jan 09 00:59:11 Feature: citus # features/citus.feature:1 301s Jan 09 00:59:11 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 301s Jan 09 00:59:11 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 301s Jan 09 00:59:11 Given I start postgres0 in citus group 0 # None 301s Jan 09 00:59:11 And I start postgres2 in citus group 1 # None 301s Jan 09 00:59:11 Then postgres0 is a leader in a group 0 after 10 seconds # None 301s Jan 09 00:59:11 And postgres2 is a leader in a group 1 after 10 seconds # None 301s Jan 09 00:59:11 When I start postgres1 in citus group 0 # None 301s Jan 09 00:59:11 And I start postgres3 in citus group 1 # None 301s Jan 09 00:59:11 Then replication works from postgres0 to postgres1 after 15 seconds # None 301s Jan 09 00:59:11 Then replication works from postgres2 to postgres3 after 15 seconds # None 301s Jan 09 00:59:11 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 301s Jan 09 00:59:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 301s SKIP FEATURE citus: Citus extenstion isn't available 301s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 301s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 301s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 301s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 301s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 301s Jan 09 00:59:11 301s Jan 09 00:59:11 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 301s Jan 09 00:59:11 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 301s Jan 09 00:59:11 Then postgres1 role is the primary after 10 seconds # None 301s Jan 09 00:59:11 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 301s Jan 09 00:59:11 And replication works from postgres1 to postgres0 after 15 seconds # None 301s Jan 09 00:59:11 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 301s Jan 09 00:59:11 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 301s Jan 09 00:59:11 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 301s Jan 09 00:59:11 Then postgres0 role is the primary after 10 seconds # None 301s Jan 09 00:59:11 And replication works from postgres0 to postgres1 after 15 seconds # None 301s Jan 09 00:59:11 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 301s Jan 09 00:59:11 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 301s Jan 09 00:59:11 301s Jan 09 00:59:11 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 301s Jan 09 00:59:11 Given I create a distributed table on postgres0 # None 301s Jan 09 00:59:11 And I start a thread inserting data on postgres0 # None 301s Jan 09 00:59:11 When I run patronictl.py switchover batman --group 1 --force # None 301s Jan 09 00:59:11 Then I receive a response returncode 0 # None 301s Jan 09 00:59:11 And postgres3 role is the primary after 10 seconds # None 301s Jan 09 00:59:11 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 301s Jan 09 00:59:11 And replication works from postgres3 to postgres2 after 15 seconds # None 301s Jan 09 00:59:11 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 301s Jan 09 00:59:11 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 301s Jan 09 00:59:11 And a thread is still alive # None 301s Jan 09 00:59:11 When I run patronictl.py switchover batman --group 1 --force # None 301s Jan 09 00:59:11 Then I receive a response returncode 0 # None 301s Jan 09 00:59:11 And postgres2 role is the primary after 10 seconds # None 301s Jan 09 00:59:11 And replication works from postgres2 to postgres3 after 15 seconds # None 301s Jan 09 00:59:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 301s Jan 09 00:59:11 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 301s Jan 09 00:59:11 And a thread is still alive # None 301s Jan 09 00:59:11 When I stop a thread # None 301s Jan 09 00:59:11 Then a distributed table on postgres0 has expected rows # None 301s Jan 09 00:59:11 301s Jan 09 00:59:11 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 301s Jan 09 00:59:11 Given I cleanup a distributed table on postgres0 # None 301s Jan 09 00:59:11 And I start a thread inserting data on postgres0 # None 301s Jan 09 00:59:11 When I run patronictl.py restart batman postgres2 --group 1 --force # None 301s Jan 09 00:59:11 Then I receive a response returncode 0 # None 301s Jan 09 00:59:11 And postgres2 role is the primary after 10 seconds # None 301s Jan 09 00:59:11 And replication works from postgres2 to postgres3 after 15 seconds # None 301s Jan 09 00:59:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 301s Jan 09 00:59:11 And a thread is still alive # None 301s Jan 09 00:59:11 When I stop a thread # None 301s Jan 09 00:59:11 Then a distributed table on postgres0 has expected rows # None 301s Jan 09 00:59:11 301s Jan 09 00:59:11 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 301s Jan 09 00:59:11 Given I start postgres4 in citus group 2 # None 301s Jan 09 00:59:11 Then postgres4 is a leader in a group 2 after 10 seconds # None 301s Jan 09 00:59:11 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 301s Jan 09 00:59:11 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 301s Jan 09 00:59:11 Then I receive a response returncode 0 # None 301s Jan 09 00:59:11 And I receive a response output "+ttl: 20" # None 301s Jan 09 00:59:11 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 301s Jan 09 00:59:11 When I shut down postgres4 # None 301s Jan 09 00:59:11 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 301s Jan 09 00:59:11 When I run patronictl.py restart batman postgres2 --group 1 --force # None 301s Jan 09 00:59:11 Then a transaction finishes in 20 seconds # None 301s Jan 09 00:59:11 301s Jan 09 00:59:11 Feature: custom bootstrap # features/custom_bootstrap.feature:1 301s Jan 09 00:59:11 We should check that patroni can bootstrap a new cluster from a backup 301s Jan 09 00:59:11 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 301s Jan 09 00:59:11 Given I start postgres0 # features/steps/basic_replication.py:8 305s Jan 09 00:59:15 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 305s Jan 09 00:59:15 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 305s Jan 09 00:59:15 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 311s Jan 09 00:59:20 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 312s Jan 09 00:59:22 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 312s Jan 09 00:59:22 312s Jan 09 00:59:22 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 312s Jan 09 00:59:22 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 312s Jan 09 00:59:22 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 312s Jan 09 00:59:22 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 318s Jan 09 00:59:28 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 318s Jan 09 00:59:28 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 324s Jan 09 00:59:34 324s Jan 09 00:59:34 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 324s Jan 09 00:59:34 We should check the basic dcs failsafe mode functioning 324s Jan 09 00:59:34 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 324s Jan 09 00:59:34 Given I start postgres0 # features/steps/basic_replication.py:8 328s Jan 09 00:59:38 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 328s Jan 09 00:59:38 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 328s Jan 09 00:59:38 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 328s Jan 09 00:59:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 328s Jan 09 00:59:38 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 329s Jan 09 00:59:39 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 329s Jan 09 00:59:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 329s Jan 09 00:59:39 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 329s Jan 09 00:59:39 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 330s Jan 09 00:59:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 330s Jan 09 00:59:39 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 330s Jan 09 00:59:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 330s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 330s 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 330s Jan 09 00:59:40 330s Jan 09 00:59:40 @dcs-failsafe 330s Jan 09 00:59:40 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 330s Jan 09 00:59:40 Given DCS is down # None 330s Jan 09 00:59:40 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 330s Jan 09 00:59:40 And postgres0 role is the primary after 10 seconds # None 330s Jan 09 00:59:40 330s Jan 09 00:59:40 @dcs-failsafe 330s Jan 09 00:59:40 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 330s Jan 09 00:59:40 Given DCS is up # None 330s Jan 09 00:59:40 When I do a backup of postgres0 # None 330s Jan 09 00:59:40 And I shut down postgres0 # None 330s Jan 09 00:59:40 When I start postgres1 in a cluster batman from backup with no_leader # None 330s Jan 09 00:59:40 Then postgres1 role is the replica after 12 seconds # None 330s Jan 09 00:59:40 330s Jan 09 00:59:40 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 330s Jan 09 00:59:40 Given I start postgres0 # features/steps/basic_replication.py:8 330s Jan 09 00:59:40 And I start postgres1 # features/steps/basic_replication.py:8 334s Jan 09 00:59:44 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 334s Jan 09 00:59:44 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 335s Jan 09 00:59:45 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 335s Jan 09 00:59:45 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 335s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 335s 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 335s Jan 09 00:59:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 335s Jan 09 00:59:45 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 335s Jan 09 00:59:45 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 335s 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 335s Jan 09 00:59:45 335s Jan 09 00:59:45 @dcs-failsafe @slot-advance 335s Jan 09 00:59:45 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 335s Jan 09 00:59:45 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 335s Jan 09 00:59:45 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 335s Jan 09 00:59:45 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 335s Jan 09 00:59:45 And DCS is down # None 335s Jan 09 00:59:45 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 335s Jan 09 00:59:45 Then postgres0 role is the primary after 10 seconds # None 335s Jan 09 00:59:45 And postgres1 role is the replica after 2 seconds # None 335s Jan 09 00:59:45 And replication works from postgres0 to postgres1 after 10 seconds # None 335s Jan 09 00:59:45 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 335s Jan 09 00:59:45 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 335s Jan 09 00:59:45 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 335s Jan 09 00:59:45 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 335s Jan 09 00:59:45 335s Jan 09 00:59:45 @dcs-failsafe 335s Jan 09 00:59:45 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 335s Jan 09 00:59:45 Given DCS is down # None 335s Jan 09 00:59:45 And I kill postgres1 # None 335s Jan 09 00:59:45 And I kill postmaster on postgres1 # None 335s Jan 09 00:59:45 Then postgres0 role is the replica after 12 seconds # None 335s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 335s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 335s Jan 09 00:59:45 335s Jan 09 00:59:45 @dcs-failsafe 335s Jan 09 00:59:45 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 335s Jan 09 00:59:45 Given I kill postgres0 # None 335s Jan 09 00:59:45 And I shut down postmaster on postgres0 # None 335s Jan 09 00:59:45 And DCS is up # None 335s Jan 09 00:59:45 When I start postgres1 # None 335s Jan 09 00:59:45 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 335s Jan 09 00:59:45 And postgres1 role is the primary after 25 seconds # None 335s Jan 09 00:59:45 335s Jan 09 00:59:45 @dcs-failsafe 335s Jan 09 00:59:45 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 335s Jan 09 00:59:45 Given I start postgres0 # None 335s Jan 09 00:59:45 And I configure and start postgres2 with a tag replicatefrom postgres0 # None 335s Jan 09 00:59:45 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 335s Jan 09 00:59:45 And "members/postgres0" key in DCS has state=running after 20 seconds # None 335s Jan 09 00:59:45 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 335s Jan 09 00:59:45 And replication works from postgres1 to postgres0 after 10 seconds # None 335s Jan 09 00:59:45 And replication works from postgres1 to postgres2 after 10 seconds # None 335s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 335s 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 335s Jan 09 00:59:45 335s Jan 09 00:59:45 @dcs-failsafe @slot-advance 335s Jan 09 00:59:45 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 335s Jan 09 00:59:45 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 335s Jan 09 00:59:45 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 335s Jan 09 00:59:45 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 335s Jan 09 00:59:45 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 335s Jan 09 00:59:45 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 335s Jan 09 00:59:45 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 335s Jan 09 00:59:45 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 335s Jan 09 00:59:45 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # None 335s Jan 09 00:59:45 335s Jan 09 00:59:45 @dcs-failsafe 335s Jan 09 00:59:45 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 335s Jan 09 00:59:45 Given DCS is down # None 335s Jan 09 00:59:45 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 335s Jan 09 00:59:45 Then postgres1 role is the primary after 10 seconds # None 335s Jan 09 00:59:45 And postgres0 role is the replica after 2 seconds # None 335s Jan 09 00:59:45 And postgres2 role is the replica after 2 seconds # None 339s Jan 09 00:59:49 339s Jan 09 00:59:49 @dcs-failsafe @slot-advance 339s Jan 09 00:59:49 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 339s Jan 09 00:59:49 Given replication works from postgres1 to postgres0 after 10 seconds # None 339s Jan 09 00:59:49 And replication works from postgres1 to postgres2 after 10 seconds # None 339s Jan 09 00:59:49 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 339s Jan 09 00:59:49 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 339s Jan 09 00:59:49 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 339s Jan 09 00:59:49 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 339s Jan 09 00:59:49 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 339s Jan 09 00:59:49 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 339s Jan 09 00:59:49 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 339s Jan 09 00:59:49 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # None 339s Jan 09 00:59:49 339s Jan 09 00:59:49 Feature: ignored slots # features/ignored_slots.feature:1 339s Jan 09 00:59:49 339s Jan 09 00:59:49 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 339s Jan 09 00:59:49 Given I start postgres1 # features/steps/basic_replication.py:8 343s Jan 09 00:59:53 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 343s Jan 09 00:59:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 343s Jan 09 00:59:53 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 343s Jan 09 00:59:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 343s Jan 09 00:59:53 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 343s Jan 09 00:59:53 When I shut down postgres1 # features/steps/basic_replication.py:29 345s Jan 09 00:59:55 And I start postgres1 # features/steps/basic_replication.py:8 348s Jan 09 00:59:58 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 349s Jan 09 00:59:59 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 350s Jan 09 01:00:00 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 350s Jan 09 01:00:00 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 350s Jan 09 01:00:00 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 350s Jan 09 01:00:00 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 350s Jan 09 01:00:00 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 350s Jan 09 01:00:00 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 350s Jan 09 01:00:00 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 350s Jan 09 01:00:00 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 350s Jan 09 01:00:00 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 350s Jan 09 01:00:00 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 350s Jan 09 01:00:00 When I start postgres0 # features/steps/basic_replication.py:8 354s Jan 09 01:00:04 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 354s Jan 09 01:00:04 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 354s Jan 09 01:00:04 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 355s Jan 09 01:00:05 When I shut down postgres1 # features/steps/basic_replication.py:29 357s Jan 09 01:00:07 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 358s Jan 09 01:00:08 When I start postgres1 # features/steps/basic_replication.py:8 362s Jan 09 01:00:12 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 362s Jan 09 01:00:12 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 362s Jan 09 01:00:12 And I sleep for 2 seconds # features/steps/patroni_api.py:39 364s Jan 09 01:00: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 364s Jan 09 01:00: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 364s Jan 09 01:00: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 364s Jan 09 01:00: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 364s Jan 09 01:00:14 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 364s Jan 09 01:00:14 When I shut down postgres0 # features/steps/basic_replication.py:29 366s Jan 09 01:00:16 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 367s Jan 09 01:00:17 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 367s Jan 09 01:00:17 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 367s Jan 09 01:00:17 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 367s Jan 09 01:00:17 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 369s Jan 09 01:00:19 369s Jan 09 01:00:19 Feature: nostream node # features/nostream_node.feature:1 369s Jan 09 01:00:19 369s Jan 09 01:00:19 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 369s Jan 09 01:00:19 When I start postgres0 # features/steps/basic_replication.py:8 373s Jan 09 01:00:23 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 377s Jan 09 01:00:27 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 378s Jan 09 01:00:28 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 384s Jan 09 01:00:34 384s Jan 09 01:00:34 @slot-advance 384s Jan 09 01:00:34 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 384s Jan 09 01:00:34 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 384s Jan 09 01:00:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 384s Jan 09 01:00:34 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 386s Jan 09 01:00:36 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 387s Jan 09 01:00:37 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 391s Jan 09 01:00:41 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 398s Jan 09 01:00:48 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 398s Jan 09 01:00:48 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 403s Jan 09 01:00:53 403s Jan 09 01:00:53 Feature: patroni api # features/patroni_api.feature:1 403s Jan 09 01:00:53 We should check that patroni correctly responds to valid and not-valid API requests. 403s Jan 09 01:00:53 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 403s Jan 09 01:00:53 Given I start postgres0 # features/steps/basic_replication.py:8 407s Jan 09 01:00:57 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 407s Jan 09 01:00:57 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 408s Jan 09 01:00:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 408s Jan 09 01:00:57 And I receive a response state running # features/steps/patroni_api.py:98 408s Jan 09 01:00:57 And I receive a response role master # features/steps/patroni_api.py:98 408s Jan 09 01:00:57 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 408s Jan 09 01:00:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 408s Jan 09 01:00:58 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 408s Jan 09 01:00:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 408s Jan 09 01:00:58 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 408s Jan 09 01:00:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 408s Jan 09 01:00:58 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 408s Jan 09 01:00:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 408s Jan 09 01:00:58 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 408s Jan 09 01:00:58 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 410s Jan 09 01:01:00 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 410s Jan 09 01:01:00 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 410s Jan 09 01:01:00 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 410s Jan 09 01:01:00 Then I receive a response code 412 # features/steps/patroni_api.py:98 410s Jan 09 01:01:00 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 410s Jan 09 01:01:00 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 410s Jan 09 01:01:00 Then I receive a response code 400 # features/steps/patroni_api.py:98 410s Jan 09 01:01:00 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 410s Jan 09 01:01:00 Then I receive a response code 400 # features/steps/patroni_api.py:98 410s Jan 09 01:01:00 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 410s Jan 09 01:01:00 410s Jan 09 01:01:00 Scenario: check local configuration reload # features/patroni_api.feature:32 410s Jan 09 01:01:00 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 410s Jan 09 01:01:00 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 410s Jan 09 01:01:00 Then I receive a response code 202 # features/steps/patroni_api.py:98 410s Jan 09 01:01:00 410s Jan 09 01:01:00 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 410s Jan 09 01:01:00 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 410s Jan 09 01:01:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 410s Jan 09 01:01:00 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 412s Jan 09 01:01:02 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 412s Jan 09 01:01:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 412s Jan 09 01:01:02 And I receive a response ttl 20 # features/steps/patroni_api.py:98 412s Jan 09 01:01:02 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 412s Jan 09 01:01:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 412s Jan 09 01:01:02 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 412s Jan 09 01:01:02 And I sleep for 4 seconds # features/steps/patroni_api.py:39 416s Jan 09 01:01:06 416s Jan 09 01:01:06 Scenario: check the scheduled restart # features/patroni_api.feature:49 416s Jan 09 01:01:06 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 418s Jan 09 01:01:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 418s Jan 09 01:01:08 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 418s Jan 09 01:01:08 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 418s Jan 09 01:01:08 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 418s Jan 09 01:01:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 418s Jan 09 01:01:08 And I sleep for 8 seconds # features/steps/patroni_api.py:39 426s Jan 09 01:01:16 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 426s Jan 09 01:01:16 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 426s Jan 09 01:01:16 Then I receive a response code 202 # features/steps/patroni_api.py:98 426s Jan 09 01:01:16 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 433s Jan 09 01:01:23 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 434s Jan 09 01:01:24 434s Jan 09 01:01:24 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 434s Jan 09 01:01:24 Given I start postgres1 # features/steps/basic_replication.py:8 438s Jan 09 01:01:28 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 439s Jan 09 01:01:29 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 441s Jan 09 01:01:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 441s Jan 09 01:01:31 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 441s Jan 09 01:01:31 waiting for server to shut down.... done 441s Jan 09 01:01:31 server stopped 441s Jan 09 01:01:31 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 441s Jan 09 01:01:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 441s Jan 09 01:01:31 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 443s Jan 09 01:01:33 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 446s Jan 09 01:01:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 446s Jan 09 01:01:36 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 447s Jan 09 01:01:37 And I sleep for 2 seconds # features/steps/patroni_api.py:39 449s Jan 09 01:01:39 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 449s Jan 09 01:01:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 449s Jan 09 01:01:39 And I receive a response state running # features/steps/patroni_api.py:98 449s Jan 09 01:01:39 And I receive a response role replica # features/steps/patroni_api.py:98 449s Jan 09 01:01:39 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 453s Jan 09 01:01:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 453s Jan 09 01:01:43 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 453s Jan 09 01:01:43 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 454s Jan 09 01:01:44 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 454s Jan 09 01:01:44 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 456s Jan 09 01:01:46 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 456s Jan 09 01:01:46 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 456s Jan 09 01:01:46 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 458s Jan 09 01:01:47 458s Jan 09 01:01:47 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 458s Jan 09 01:01:47 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 460s Jan 09 01:01:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 460s Jan 09 01:01:50 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 460s Jan 09 01:01:50 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 461s Jan 09 01:01:51 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 465s Jan 09 01:01:55 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 465s Jan 09 01:01:55 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 466s Jan 09 01:01:56 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 466s Jan 09 01:01:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 466s Jan 09 01:01:56 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 466s Jan 09 01:01:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 466s Jan 09 01:01:56 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 466s Jan 09 01:01:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 466s Jan 09 01:01:56 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 466s Jan 09 01:01:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 466s Jan 09 01:01:56 466s Jan 09 01:01:56 Scenario: check the scheduled switchover # features/patroni_api.feature:107 466s Jan 09 01:01:56 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 468s Jan 09 01:01:58 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 468s Jan 09 01:01:58 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 468s Jan 09 01:01:58 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 470s Jan 09 01:02:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 470s Jan 09 01:02:00 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 472s Jan 09 01:02:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 472s Jan 09 01:02:02 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 482s Jan 09 01:02:12 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 482s Jan 09 01:02:12 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 485s Jan 09 01:02:15 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 485s Jan 09 01:02:15 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 486s Jan 09 01:02:16 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 486s Jan 09 01:02:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 486s Jan 09 01:02:16 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 486s Jan 09 01:02:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 486s Jan 09 01:02:16 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 486s Jan 09 01:02:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 486s Jan 09 01:02:16 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 486s Jan 09 01:02:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 490s Jan 09 01:02:20 490s Jan 09 01:02:20 Feature: permanent slots # features/permanent_slots.feature:1 490s Jan 09 01:02:20 490s Jan 09 01:02:20 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 490s Jan 09 01:02:20 Given I start postgres0 # features/steps/basic_replication.py:8 494s Jan 09 01:02:24 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 494s Jan 09 01:02:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 494s Jan 09 01:02:24 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 494s Jan 09 01:02:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 494s Jan 09 01:02:24 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 494s Jan 09 01:02:24 When I start postgres1 # features/steps/basic_replication.py:8 498s Jan 09 01:02:28 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 502s Jan 09 01:02:32 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 506s Jan 09 01:02:36 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 506s Jan 09 01:02:36 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 506s Jan 09 01:02:36 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 506s Jan 09 01:02:36 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 506s Jan 09 01:02:36 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 506s Jan 09 01:02:36 506s Jan 09 01:02:36 @slot-advance 506s Jan 09 01:02:36 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 506s Jan 09 01:02:36 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 509s Jan 09 01:02:39 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 509s Jan 09 01:02:39 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 510s Jan 09 01:02:40 510s Jan 09 01:02:40 @slot-advance 510s Jan 09 01:02:40 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 510s Jan 09 01:02:40 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 515s Jan 09 01:02:45 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 515s Jan 09 01:02:45 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 516s Jan 09 01:02:46 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 516s Jan 09 01:02:46 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 516s Jan 09 01:02:46 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 516s Jan 09 01:02:46 516s Jan 09 01:02:46 @slot-advance 516s Jan 09 01:02:46 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 516s Jan 09 01:02:46 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 516s Jan 09 01:02:46 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 516s Jan 09 01:02:46 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 516s Jan 09 01:02:46 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 516s Jan 09 01:02:46 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 516s Jan 09 01:02:46 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 516s Jan 09 01:02:46 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 516s Jan 09 01:02:46 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 516s Jan 09 01:02:46 516s Jan 09 01:02:46 @slot-advance 516s Jan 09 01:02:46 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 516s Jan 09 01:02:46 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 516s Jan 09 01:02:46 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 516s Jan 09 01:02:46 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 516s Jan 09 01:02:46 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 517s Jan 09 01:02:47 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 517s Jan 09 01:02:47 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 517s Jan 09 01:02:47 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 517s Jan 09 01:02:47 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 519s Jan 09 01:02:49 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 519s Jan 09 01:02:49 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 519s Jan 09 01:02:49 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 519s Jan 09 01:02:49 519s Jan 09 01:02:49 @slot-advance 519s Jan 09 01:02:49 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 519s Jan 09 01:02:49 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 519s Jan 09 01:02:49 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 519s Jan 09 01:02:49 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 519s Jan 09 01:02:49 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 519s Jan 09 01:02:49 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 519s Jan 09 01:02:49 519s Jan 09 01:02:49 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 519s Jan 09 01:02:49 Given I shut down postgres3 # features/steps/basic_replication.py:29 520s Jan 09 01:02:50 And I shut down postgres2 # features/steps/basic_replication.py:29 521s Jan 09 01:02:51 And I shut down postgres0 # features/steps/basic_replication.py:29 523s Jan 09 01:02:53 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 523s Jan 09 01:02:53 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 523s Jan 09 01:02:53 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 523s Jan 09 01:02:53 When I start postgres0 # features/steps/basic_replication.py:8 526s Jan 09 01:02:56 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 526s Jan 09 01:02:56 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 527s Jan 09 01:02:57 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 531s Jan 09 01:03:01 531s Jan 09 01:03:01 Feature: priority replication # features/priority_failover.feature:1 531s Jan 09 01:03:01 We should check that we can give nodes priority during failover 531s Jan 09 01:03:01 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 531s Jan 09 01:03:01 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 535s Jan 09 01:03:05 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 539s Jan 09 01:03:09 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 540s Jan 09 01:03:10 When I shut down postgres0 # features/steps/basic_replication.py:29 542s Jan 09 01:03:12 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 544s Jan 09 01:03:14 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 544s Jan 09 01:03:14 When I start postgres0 # features/steps/basic_replication.py:8 547s Jan 09 01:03:17 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 549s Jan 09 01:03:19 549s Jan 09 01:03:19 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 549s Jan 09 01:03:19 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 553s Jan 09 01:03:23 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 557s Jan 09 01:03:27 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 558s Jan 09 01:03:28 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 559s Jan 09 01:03:29 When I shut down postgres0 # features/steps/basic_replication.py:29 561s Jan 09 01:03:31 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 562s Jan 09 01:03:32 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 562s Jan 09 01:03:32 562s Jan 09 01:03:32 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 562s Jan 09 01:03:32 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 562s Jan 09 01:03:32 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 562s Jan 09 01:03:32 Then I receive a response code 202 # features/steps/patroni_api.py:98 562s Jan 09 01:03:32 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 565s Jan 09 01:03:35 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 566s Jan 09 01:03:36 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 566s Jan 09 01:03:36 Then I receive a response code 412 # features/steps/patroni_api.py:98 566s Jan 09 01:03:36 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 566s Jan 09 01:03:36 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 566s Jan 09 01:03:36 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 566s Jan 09 01:03:36 Then I receive a response code 202 # features/steps/patroni_api.py:98 566s Jan 09 01:03:36 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 567s Jan 09 01:03:37 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 568s Jan 09 01:03:38 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 571s Jan 09 01:03:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 571s Jan 09 01:03:41 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 577s Jan 09 01:03:47 577s Jan 09 01:03:47 Feature: recovery # features/recovery.feature:1 577s Jan 09 01:03:47 We want to check that crashed postgres is started back 577s Jan 09 01:03:47 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 577s Jan 09 01:03:47 Given I start postgres0 # features/steps/basic_replication.py:8 581s Jan 09 01:03:51 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 581s Jan 09 01:03:51 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 581s Jan 09 01:03:51 When I start postgres1 # features/steps/basic_replication.py:8 585s Jan 09 01:03:55 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 585s Jan 09 01:03:55 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 586s Jan 09 01:03:56 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 586s Jan 09 01:03:56 waiting for server to shut down.... done 586s Jan 09 01:03:56 server stopped 586s Jan 09 01:03:56 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 587s Jan 09 01:03:57 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 587s Jan 09 01:03:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 587s Jan 09 01:03:57 And I receive a response role master # features/steps/patroni_api.py:98 587s Jan 09 01:03:57 And I receive a response timeline 1 # features/steps/patroni_api.py:98 587s Jan 09 01:03:57 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 588s Jan 09 01:03:58 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 590s Jan 09 01:04:00 590s Jan 09 01:04:00 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 590s Jan 09 01:04: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 590s Jan 09 01:04:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 590s Jan 09 01:04: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 590s Jan 09 01:04:00 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 590s Jan 09 01:04:00 waiting for server to shut down.... done 590s Jan 09 01:04:00 server stopped 590s Jan 09 01:04:00 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 593s Jan 09 01:04:03 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 596s Jan 09 01:04:06 596s Jan 09 01:04:06 Feature: standby cluster # features/standby_cluster.feature:1 596s Jan 09 01:04:06 596s Jan 09 01:04:06 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 596s Jan 09 01:04:06 Given I start postgres1 # features/steps/basic_replication.py:8 600s Jan 09 01:04:10 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 600s Jan 09 01:04:10 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 600s Jan 09 01:04:10 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 600s Jan 09 01:04:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 600s Jan 09 01:04:10 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 600s Jan 09 01:04:10 And I sleep for 3 seconds # features/steps/patroni_api.py:39 603s Jan 09 01:04:13 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 603s Jan 09 01:04:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 603s Jan 09 01:04:13 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 604s Jan 09 01:04:14 When I start postgres0 # features/steps/basic_replication.py:8 608s Jan 09 01:04:18 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 608s Jan 09 01:04:18 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 609s Jan 09 01:04:19 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 609s Jan 09 01:04:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 609s Jan 09 01:04:19 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 609s Jan 09 01:04:19 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 610s Jan 09 01:04:20 610s Jan 09 01:04:20 @slot-advance 610s Jan 09 01:04:20 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 610s Jan 09 01:04:20 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 613s Jan 09 01:04:23 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 619s Jan 09 01:04:29 619s Jan 09 01:04:29 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 619s Jan 09 01:04:29 When I shut down postgres1 # features/steps/basic_replication.py:29 621s Jan 09 01:04:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 621s Jan 09 01:04:31 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 622s Jan 09 01:04:32 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 622s Jan 09 01:04:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 622s Jan 09 01:04:32 622s Jan 09 01:04:32 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 622s Jan 09 01:04:32 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 626s Jan 09 01:04:36 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 626s Jan 09 01:04:36 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 626s Jan 09 01:04:36 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 626s Jan 09 01:04:36 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 626s Jan 09 01:04:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 626s Jan 09 01:04:36 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 626s Jan 09 01:04:36 And I sleep for 3 seconds # features/steps/patroni_api.py:39 629s Jan 09 01:04:39 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 629s Jan 09 01:04:39 Then I receive a response code 503 # features/steps/patroni_api.py:98 629s Jan 09 01:04:39 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 629s Jan 09 01:04:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 629s Jan 09 01:04:39 And I receive a response role standby_leader # features/steps/patroni_api.py:98 629s Jan 09 01:04:39 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 629s Jan 09 01:04:39 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 633s Jan 09 01:04:43 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 633s Jan 09 01:04:43 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 633s Jan 09 01:04:43 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 633s Jan 09 01:04:43 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 633s Jan 09 01:04:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 633s Jan 09 01:04:43 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 633s Jan 09 01:04:43 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 633s Jan 09 01:04:43 633s Jan 09 01:04:43 Scenario: check switchover # features/standby_cluster.feature:57 633s Jan 09 01:04:43 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 637s Jan 09 01:04:47 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 637s Jan 09 01:04:47 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 639s Jan 09 01:04:49 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 639s Jan 09 01:04:49 639s Jan 09 01:04:49 Scenario: check failover # features/standby_cluster.feature:63 639s Jan 09 01:04:49 When I kill postgres2 # features/steps/basic_replication.py:34 640s Jan 09 01:04:50 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 640s Jan 09 01:04:50 waiting for server to shut down.... done 640s Jan 09 01:04:50 server stopped 640s Jan 09 01:04:50 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 659s Jan 09 01:05:09 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 659s Jan 09 01:05:09 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 659s Jan 09 01:05:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 659s Jan 09 01:05:09 And I receive a response role standby_leader # features/steps/patroni_api.py:98 659s Jan 09 01:05:09 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 660s Jan 09 01:05:10 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 665s Jan 09 01:05:14 665s Jan 09 01:05:14 Feature: watchdog # features/watchdog.feature:1 665s Jan 09 01:05:14 Verify that watchdog gets pinged and triggered under appropriate circumstances. 665s Jan 09 01:05:14 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 665s Jan 09 01:05:14 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 669s Jan 09 01:05:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 669s Jan 09 01:05:19 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 669s Jan 09 01:05:19 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 670s Jan 09 01:05:20 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 670s Jan 09 01:05:20 670s Jan 09 01:05:20 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 670s Jan 09 01:05:20 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 671s Jan 09 01:05:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 671s Jan 09 01:05:21 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 671s Jan 09 01:05:21 When I sleep for 4 seconds # features/steps/patroni_api.py:39 675s Jan 09 01:05:25 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 675s Jan 09 01:05:25 675s Jan 09 01:05:25 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 675s Jan 09 01:05:25 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 677s Jan 09 01:05:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 677s Jan 09 01:05:27 When I sleep for 2 seconds # features/steps/patroni_api.py:39 679s Jan 09 01:05:29 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 679s Jan 09 01:05:29 679s Jan 09 01:05:29 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 679s Jan 09 01:05:29 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 679s Jan 09 01:05:29 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 681s Jan 09 01:05:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 681s Jan 09 01:05:31 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 682s Jan 09 01:05:32 682s Jan 09 01:05:32 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 682s Jan 09 01:05:32 Given I shut down postgres0 # features/steps/basic_replication.py:29 684s Jan 09 01:05:34 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 684s Jan 09 01:05:34 684s Jan 09 01:05:34 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 684s Jan 09 01:05:34 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 684s Jan 09 01:05:34 And I start postgres0 with watchdog # features/steps/watchdog.py:16 687s Jan 09 01:05:37 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 689s Jan 09 01:05:39 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 689s Jan 09 01:05:39 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 716s Jan 09 01:06:06 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.4610.XIwWtBBx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.4655.XRYdEYmx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.4697.XebmJbyx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.4752.XDsDpBUx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.4800.XyWSabzx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.4873.XkqbwyWx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.4923.XKulotZx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.4926.XaOuRFGx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5013.XjpYXYox 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5113.XcFKSJWx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5123.XmvSGQXx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5167.XZtZEZKx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5223.XMUnjbsx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5358.XSVDPrjx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5404.XqMYkPzx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5461.XkKupcUx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5551.XafInnsx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5601.XBsvYnxx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5690.XaRYAfox 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5743.XJXhBsBx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5806.XDBPsLhx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.5902.XEoDhuSx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6001.XPtXxmYx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6045.XmuYxdnx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6108.XWrRJkXx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6145.XPwdZCkx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6277.XrqDCZBx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6327.XFTMtZVx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6342.XuFIlayx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6382.XOGduFBx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6432.XoCGYplx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6437.XoATWyxx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6474.XYvpbMNx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6518.XahgtZvx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6684.XZDEyklx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6686.XBnoYHsx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6692.XasRxsDx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6827.XpJfpKMx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6873.XiqYduax 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6923.XbQDnowx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.6969.XMdKdydx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.7015.XbRwRyQx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.7160.XzfyrrTx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.7227.XWcxLgUx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.7271.XNeLdUIx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.7345.XtCoBSFx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.7424.XdYmAXjx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.7499.XdCttZRx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.7848.XlfegXox 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.7892.XoPTpjtx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.8034.XRRLBUpx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.8098.XVcuNmFx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.8167.XJjkAGIx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.8269.XhRcNdUx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.8387.XZTieWIx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.8528.XWeNJiOx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.8572.XhTWAaox 717s Jan 09 01:06:07 Skipping duplicate data .coverage.autopkgtest.8574.XLonxUdx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.8577.XZhDoBZx 717s Jan 09 01:06:07 Combined data file .coverage.autopkgtest.8588.XEUuitnx 719s Jan 09 01:06:09 Name Stmts Miss Cover 719s Jan 09 01:06:09 ------------------------------------------------------------------------------------------------------------- 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/api.py 780 289 63% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 78 88% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 128 81% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 253 58% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/ha.py 1270 378 70% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 173 79% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 219 74% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/utils.py 370 105 72% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 32 72% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/response.py 562 274 51% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 719s Jan 09 01:06:09 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 719s Jan 09 01:06:09 patroni/__init__.py 13 2 85% 719s Jan 09 01:06:09 patroni/__main__.py 199 199 0% 719s Jan 09 01:06:09 patroni/api.py 780 780 0% 719s Jan 09 01:06:09 patroni/async_executor.py 96 69 28% 719s Jan 09 01:06:09 patroni/collections.py 56 15 73% 719s Jan 09 01:06:09 patroni/config.py 371 196 47% 719s Jan 09 01:06:09 patroni/config_generator.py 212 212 0% 719s Jan 09 01:06:09 patroni/ctl.py 936 411 56% 719s Jan 09 01:06:09 patroni/daemon.py 76 76 0% 719s Jan 09 01:06:09 patroni/dcs/__init__.py 654 274 58% 719s Jan 09 01:06:09 patroni/dcs/consul.py 484 484 0% 719s Jan 09 01:06:09 patroni/dcs/etcd3.py 679 346 49% 719s Jan 09 01:06:09 patroni/dcs/etcd.py 603 277 54% 719s Jan 09 01:06:09 patroni/dcs/exhibitor.py 62 62 0% 719s Jan 09 01:06:09 patroni/dcs/kubernetes.py 940 940 0% 719s Jan 09 01:06:09 patroni/dcs/raft.py 319 319 0% 719s Jan 09 01:06:09 patroni/dcs/zookeeper.py 289 289 0% 719s Jan 09 01:06:09 patroni/dynamic_loader.py 35 7 80% 719s Jan 09 01:06:09 patroni/exceptions.py 16 1 94% 719s Jan 09 01:06:09 patroni/file_perm.py 43 15 65% 719s Jan 09 01:06:09 patroni/global_config.py 81 18 78% 719s Jan 09 01:06:09 patroni/ha.py 1270 1270 0% 719s Jan 09 01:06:09 patroni/log.py 221 175 21% 719s Jan 09 01:06:09 patroni/postgresql/__init__.py 822 652 21% 719s Jan 09 01:06:09 patroni/postgresql/available_parameters/__init__.py 24 3 88% 719s Jan 09 01:06:09 patroni/postgresql/bootstrap.py 255 225 12% 719s Jan 09 01:06:09 patroni/postgresql/callback_executor.py 55 34 38% 719s Jan 09 01:06:09 patroni/postgresql/cancellable.py 104 84 19% 719s Jan 09 01:06:09 patroni/postgresql/config.py 838 718 14% 719s Jan 09 01:06:09 patroni/postgresql/connection.py 75 50 33% 719s Jan 09 01:06:09 patroni/postgresql/misc.py 43 30 30% 719s Jan 09 01:06:09 patroni/postgresql/mpp/__init__.py 89 21 76% 719s Jan 09 01:06:09 patroni/postgresql/mpp/citus.py 259 259 0% 719s Jan 09 01:06:09 patroni/postgresql/postmaster.py 170 139 18% 719s Jan 09 01:06:09 patroni/postgresql/rewind.py 416 416 0% 719s Jan 09 01:06:09 patroni/postgresql/slots.py 349 300 14% 719s Jan 09 01:06:09 patroni/postgresql/sync.py 130 96 26% 719s Jan 09 01:06:09 patroni/postgresql/validator.py 157 52 67% 719s Jan 09 01:06:09 patroni/psycopg.py 46 32 30% 719s Jan 09 01:06:09 patroni/raft_controller.py 22 22 0% 719s Jan 09 01:06:09 patroni/request.py 58 6 90% 719s Jan 09 01:06:09 patroni/scripts/__init__.py 0 0 100% 719s Jan 09 01:06:09 patroni/scripts/aws.py 59 59 0% 719s Jan 09 01:06:09 patroni/scripts/barman/__init__.py 0 0 100% 719s Jan 09 01:06:09 patroni/scripts/barman/cli.py 51 51 0% 719s Jan 09 01:06:09 patroni/scripts/barman/config_switch.py 51 51 0% 719s Jan 09 01:06:09 patroni/scripts/barman/recover.py 37 37 0% 719s Jan 09 01:06:09 patroni/scripts/barman/utils.py 94 94 0% 719s Jan 09 01:06:09 patroni/scripts/wale_restore.py 207 207 0% 719s Jan 09 01:06:09 patroni/tags.py 38 11 71% 719s Jan 09 01:06:09 patroni/utils.py 370 186 50% 719s Jan 09 01:06:09 patroni/validator.py 307 221 28% 719s Jan 09 01:06:09 patroni/version.py 1 0 100% 719s Jan 09 01:06:09 patroni/watchdog/__init__.py 2 2 0% 719s Jan 09 01:06:09 patroni/watchdog/base.py 203 203 0% 719s Jan 09 01:06:09 patroni/watchdog/linux.py 135 135 0% 719s Jan 09 01:06:09 ------------------------------------------------------------------------------------------------------------- 719s Jan 09 01:06:09 TOTAL 53248 31915 40% 719s Jan 09 01:06:09 12 features passed, 0 failed, 1 skipped 719s Jan 09 01:06:09 46 scenarios passed, 0 failed, 14 skipped 719s Jan 09 01:06:09 467 steps passed, 0 failed, 121 skipped, 0 undefined 719s Jan 09 01:06:09 Took 7m59.464s 719s ### End 16 acceptance-etcd3 ### 719s + echo '### End 16 acceptance-etcd3 ###' 719s + rm -f '/tmp/pgpass?' 719s ++ id -u 719s + '[' 1000 -eq 0 ']' 720s autopkgtest [01:06:10]: test acceptance-etcd3: -----------------------] 721s autopkgtest [01:06:11]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 721s acceptance-etcd3 PASS 721s autopkgtest [01:06:11]: test acceptance-etcd-basic: preparing testbed 879s autopkgtest [01:08:49]: testbed dpkg architecture: arm64 879s autopkgtest [01:08:49]: testbed apt version: 2.9.18 880s autopkgtest [01:08:50]: @@@@@@@@@@@@@@@@@@@@ test bed setup 880s autopkgtest [01:08:50]: testbed release detected to be: plucky 881s autopkgtest [01:08:51]: updating testbed package index (apt update) 881s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 881s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 881s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 881s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 882s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [776 kB] 882s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [16.5 kB] 882s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [125 kB] 882s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 882s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [233 kB] 882s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 882s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [974 kB] 882s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [22.4 kB] 882s Fetched 2288 kB in 1s (2271 kB/s) 883s Reading package lists... 884s Reading package lists... 884s Building dependency tree... 884s Reading state information... 885s Calculating upgrade... 886s The following packages will be upgraded: 886s libgpgme11t64 python3-oauthlib 886s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 886s Need to get 232 kB of archives. 886s After this operation, 0 B of additional disk space will be used. 886s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgpgme11t64 arm64 1.24.1-2ubuntu1 [142 kB] 887s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oauthlib all 3.2.2-3 [89.9 kB] 887s Fetched 232 kB in 0s (553 kB/s) 887s (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 ... 80185 files and directories currently installed.) 887s Preparing to unpack .../libgpgme11t64_1.24.1-2ubuntu1_arm64.deb ... 887s Unpacking libgpgme11t64:arm64 (1.24.1-2ubuntu1) over (1.24.0-2ubuntu1) ... 887s Preparing to unpack .../python3-oauthlib_3.2.2-3_all.deb ... 887s Unpacking python3-oauthlib (3.2.2-3) over (3.2.2-2) ... 887s Setting up python3-oauthlib (3.2.2-3) ... 888s Setting up libgpgme11t64:arm64 (1.24.1-2ubuntu1) ... 888s Processing triggers for libc-bin (2.40-4ubuntu1) ... 888s Reading package lists... 888s Building dependency tree... 888s Reading state information... 889s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 889s autopkgtest [01:08:59]: upgrading testbed (apt dist-upgrade and autopurge) 889s Reading package lists... 889s Building dependency tree... 889s Reading state information... 890s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 890s Starting 2 pkgProblemResolver with broken count: 0 890s Done 891s Entering ResolveByKeep 891s 891s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 892s Reading package lists... 892s Building dependency tree... 892s Reading state information... 892s Starting pkgProblemResolver with broken count: 0 893s Starting 2 pkgProblemResolver with broken count: 0 893s Done 893s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 896s Reading package lists... 896s Building dependency tree... 896s Reading state information... 897s Starting pkgProblemResolver with broken count: 0 897s Starting 2 pkgProblemResolver with broken count: 0 897s Done 898s The following NEW packages will be installed: 898s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 898s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 898s libpython3.13-minimal libpython3.13-stdlib libtime-duration-perl 898s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 898s postgresql-16 postgresql-client-16 postgresql-client-common 898s postgresql-common python3-behave python3-cdiff python3-click 898s python3-colorama python3-coverage python3-dateutil python3-dnspython 898s python3-etcd python3-parse python3-parse-type python3-prettytable 898s python3-psutil python3-psycopg2 python3-six python3-wcwidth python3-ydiff 898s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert 898s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 898s Need to get 40.4 MB of archives. 898s After this operation, 151 MB of additional disk space will be used. 898s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 899s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 899s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 899s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 899s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 899s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-2 [879 kB] 899s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-2 [2262 kB] 899s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.16-3 [10.7 MB] 899s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 899s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 899s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 899s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 899s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 899s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 899s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 899s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-2 [2061 kB] 899s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 899s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 899s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 899s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 899s Get:21 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 899s Get:22 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 899s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 899s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 899s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 899s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 899s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 899s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 899s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 899s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 899s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-6 [32.1 kB] 899s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.4-1 [269 kB] 899s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 899s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.4-1 [508 kB] 899s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 900s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 900s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 900s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 900s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 900s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 900s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 900s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-2 [729 kB] 900s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 901s Preconfiguring packages ... 901s Fetched 40.4 MB in 2s (16.8 MB/s) 901s Selecting previously unselected package fonts-lato. 901s (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 ... 80185 files and directories currently installed.) 901s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 901s Unpacking fonts-lato (2.015-1) ... 901s Selecting previously unselected package libjson-perl. 901s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 901s Unpacking libjson-perl (4.10000-1) ... 901s Selecting previously unselected package postgresql-client-common. 901s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 901s Unpacking postgresql-client-common (262) ... 901s Selecting previously unselected package ssl-cert. 901s Preparing to unpack .../03-ssl-cert_1.1.3ubuntu1_all.deb ... 901s Unpacking ssl-cert (1.1.3ubuntu1) ... 901s Selecting previously unselected package postgresql-common. 901s Preparing to unpack .../04-postgresql-common_262_all.deb ... 901s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 901s Unpacking postgresql-common (262) ... 901s Selecting previously unselected package libpython3.13-minimal:arm64. 901s Preparing to unpack .../05-libpython3.13-minimal_3.13.1-2_arm64.deb ... 901s Unpacking libpython3.13-minimal:arm64 (3.13.1-2) ... 901s Selecting previously unselected package python3.13-minimal. 901s Preparing to unpack .../06-python3.13-minimal_3.13.1-2_arm64.deb ... 901s Unpacking python3.13-minimal (3.13.1-2) ... 901s Selecting previously unselected package etcd-server. 901s Preparing to unpack .../07-etcd-server_3.5.16-3_arm64.deb ... 901s Unpacking etcd-server (3.5.16-3) ... 902s Selecting previously unselected package fonts-font-awesome. 902s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 902s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 902s Selecting previously unselected package libio-pty-perl. 902s Preparing to unpack .../09-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 902s Unpacking libio-pty-perl (1:1.20-1build3) ... 902s Selecting previously unselected package libipc-run-perl. 902s Preparing to unpack .../10-libipc-run-perl_20231003.0-2_all.deb ... 902s Unpacking libipc-run-perl (20231003.0-2) ... 902s Selecting previously unselected package libjs-jquery. 902s Preparing to unpack .../11-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 902s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 902s Selecting previously unselected package libjs-underscore. 902s Preparing to unpack .../12-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 902s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 902s Selecting previously unselected package libjs-sphinxdoc. 902s Preparing to unpack .../13-libjs-sphinxdoc_8.1.3-4_all.deb ... 902s Unpacking libjs-sphinxdoc (8.1.3-4) ... 902s Selecting previously unselected package libpq5:arm64. 902s Preparing to unpack .../14-libpq5_17.2-1_arm64.deb ... 902s Unpacking libpq5:arm64 (17.2-1) ... 902s Selecting previously unselected package libpython3.13-stdlib:arm64. 902s Preparing to unpack .../15-libpython3.13-stdlib_3.13.1-2_arm64.deb ... 902s Unpacking libpython3.13-stdlib:arm64 (3.13.1-2) ... 902s Selecting previously unselected package libtime-duration-perl. 902s Preparing to unpack .../16-libtime-duration-perl_1.21-2_all.deb ... 902s Unpacking libtime-duration-perl (1.21-2) ... 902s Selecting previously unselected package libtimedate-perl. 902s Preparing to unpack .../17-libtimedate-perl_2.3300-2_all.deb ... 902s Unpacking libtimedate-perl (2.3300-2) ... 902s Selecting previously unselected package libxslt1.1:arm64. 902s Preparing to unpack .../18-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 902s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 902s Selecting previously unselected package moreutils. 902s Preparing to unpack .../19-moreutils_0.69-1_arm64.deb ... 902s Unpacking moreutils (0.69-1) ... 902s Selecting previously unselected package python3-ydiff. 902s Preparing to unpack .../20-python3-ydiff_1.4.2-1_all.deb ... 902s Unpacking python3-ydiff (1.4.2-1) ... 902s Selecting previously unselected package python3-cdiff. 902s Preparing to unpack .../21-python3-cdiff_1.4.2-1_all.deb ... 902s Unpacking python3-cdiff (1.4.2-1) ... 902s Selecting previously unselected package python3-colorama. 902s Preparing to unpack .../22-python3-colorama_0.4.6-4_all.deb ... 902s Unpacking python3-colorama (0.4.6-4) ... 902s Selecting previously unselected package python3-click. 902s Preparing to unpack .../23-python3-click_8.1.7-2_all.deb ... 902s Unpacking python3-click (8.1.7-2) ... 903s Selecting previously unselected package python3-dateutil. 903s Preparing to unpack .../24-python3-dateutil_2.9.0-3_all.deb ... 903s Unpacking python3-dateutil (2.9.0-3) ... 903s Selecting previously unselected package python3-wcwidth. 903s Preparing to unpack .../25-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 903s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 903s Selecting previously unselected package python3-prettytable. 903s Preparing to unpack .../26-python3-prettytable_3.12.0-1_all.deb ... 903s Unpacking python3-prettytable (3.12.0-1) ... 903s Selecting previously unselected package python3-psutil. 903s Preparing to unpack .../27-python3-psutil_5.9.8-2build3_arm64.deb ... 903s Unpacking python3-psutil (5.9.8-2build3) ... 903s Selecting previously unselected package python3-psycopg2. 903s Preparing to unpack .../28-python3-psycopg2_2.9.10-1_arm64.deb ... 903s Unpacking python3-psycopg2 (2.9.10-1) ... 903s Selecting previously unselected package python3-dnspython. 903s Preparing to unpack .../29-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 903s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 903s Selecting previously unselected package python3-etcd. 903s Preparing to unpack .../30-python3-etcd_0.4.5-6_all.deb ... 903s Unpacking python3-etcd (0.4.5-6) ... 903s Selecting previously unselected package patroni. 903s Preparing to unpack .../31-patroni_3.3.4-1_all.deb ... 903s Unpacking patroni (3.3.4-1) ... 903s Selecting previously unselected package sphinx-rtd-theme-common. 903s Preparing to unpack .../32-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 903s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 903s Selecting previously unselected package patroni-doc. 903s Preparing to unpack .../33-patroni-doc_3.3.4-1_all.deb ... 903s Unpacking patroni-doc (3.3.4-1) ... 903s Selecting previously unselected package postgresql-client-16. 903s Preparing to unpack .../34-postgresql-client-16_16.4-3_arm64.deb ... 903s Unpacking postgresql-client-16 (16.4-3) ... 903s Selecting previously unselected package postgresql-16. 903s Preparing to unpack .../35-postgresql-16_16.4-3_arm64.deb ... 903s Unpacking postgresql-16 (16.4-3) ... 904s Selecting previously unselected package postgresql. 904s Preparing to unpack .../36-postgresql_16+262_all.deb ... 904s Unpacking postgresql (16+262) ... 904s Selecting previously unselected package python3-parse. 904s Preparing to unpack .../37-python3-parse_1.20.2-1_all.deb ... 904s Unpacking python3-parse (1.20.2-1) ... 904s Selecting previously unselected package python3-six. 904s Preparing to unpack .../38-python3-six_1.17.0-1_all.deb ... 904s Unpacking python3-six (1.17.0-1) ... 904s Selecting previously unselected package python3-parse-type. 904s Preparing to unpack .../39-python3-parse-type_0.6.4-1_all.deb ... 904s Unpacking python3-parse-type (0.6.4-1) ... 904s Selecting previously unselected package python3-behave. 904s Preparing to unpack .../40-python3-behave_1.2.6-6_all.deb ... 904s Unpacking python3-behave (1.2.6-6) ... 904s Selecting previously unselected package python3.13. 904s Preparing to unpack .../41-python3.13_3.13.1-2_arm64.deb ... 904s Unpacking python3.13 (3.13.1-2) ... 904s Selecting previously unselected package python3-coverage. 904s Preparing to unpack .../42-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 904s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 904s Setting up postgresql-client-common (262) ... 904s Setting up fonts-lato (2.015-1) ... 904s Setting up libio-pty-perl (1:1.20-1build3) ... 904s Setting up python3-colorama (0.4.6-4) ... 904s Setting up python3-ydiff (1.4.2-1) ... 904s Setting up libpq5:arm64 (17.2-1) ... 904s Setting up python3-click (8.1.7-2) ... 905s Setting up python3-psutil (5.9.8-2build3) ... 905s Setting up python3-six (1.17.0-1) ... 906s Setting up libpython3.13-minimal:arm64 (3.13.1-2) ... 906s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 906s Setting up ssl-cert (1.1.3ubuntu1) ... 906s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 907s Setting up python3-psycopg2 (2.9.10-1) ... 907s Setting up libipc-run-perl (20231003.0-2) ... 907s Setting up libtime-duration-perl (1.21-2) ... 907s Setting up libtimedate-perl (2.3300-2) ... 907s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 908s Setting up python3-parse (1.20.2-1) ... 908s Setting up libjson-perl (4.10000-1) ... 908s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 908s Setting up python3.13-minimal (3.13.1-2) ... 909s Setting up python3-dateutil (2.9.0-3) ... 909s Setting up etcd-server (3.5.16-3) ... 909s info: Selecting UID from range 100 to 999 ... 909s 909s info: Selecting GID from range 100 to 999 ... 909s info: Adding system user `etcd' (UID 107) ... 909s info: Adding new group `etcd' (GID 111) ... 909s info: Adding new user `etcd' (UID 107) with group `etcd' ... 909s info: Creating home directory `/var/lib/etcd/' ... 909s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 909s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 911s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 911s Setting up python3-prettytable (3.12.0-1) ... 911s Setting up libpython3.13-stdlib:arm64 (3.13.1-2) ... 911s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 911s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 911s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 911s Setting up moreutils (0.69-1) ... 911s Setting up python3.13 (3.13.1-2) ... 912s Setting up python3-etcd (0.4.5-6) ... 912s Setting up postgresql-client-16 (16.4-3) ... 913s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 913s Setting up python3-cdiff (1.4.2-1) ... 913s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 913s Setting up python3-parse-type (0.6.4-1) ... 914s Setting up postgresql-common (262) ... 914s Creating config file /etc/postgresql-common/createcluster.conf with new version 914s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 914s Removing obsolete dictionary files: 915s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 915s Setting up libjs-sphinxdoc (8.1.3-4) ... 915s Setting up python3-behave (1.2.6-6) ... 916s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 916s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 916s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 916s """Registers a custom type that will be available to "parse" 916s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 916s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 916s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 916s """Registers a custom type that will be available to "parse" 916s Setting up patroni (3.3.4-1) ... 916s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 917s Setting up postgresql-16 (16.4-3) ... 917s Creating new PostgreSQL cluster 16/main ... 917s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 917s The files belonging to this database system will be owned by user "postgres". 917s This user must also own the server process. 917s 917s The database cluster will be initialized with locale "C.UTF-8". 917s The default database encoding has accordingly been set to "UTF8". 917s The default text search configuration will be set to "english". 917s 917s Data page checksums are disabled. 917s 917s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 917s creating subdirectories ... ok 917s selecting dynamic shared memory implementation ... posix 917s selecting default max_connections ... 100 917s selecting default shared_buffers ... 128MB 917s selecting default time zone ... Etc/UTC 917s creating configuration files ... ok 917s running bootstrap script ... ok 918s performing post-bootstrap initialization ... ok 918s syncing data to disk ... ok 922s Setting up patroni-doc (3.3.4-1) ... 922s Setting up postgresql (16+262) ... 922s Processing triggers for systemd (257-2ubuntu1) ... 922s Processing triggers for man-db (2.13.0-1) ... 924s Processing triggers for libc-bin (2.40-4ubuntu1) ... 926s autopkgtest [01:09:36]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 926s autopkgtest [01:09:36]: test acceptance-etcd-basic: [----------------------- 927s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 927s ○ etcd.service - etcd - highly-available key value store 927s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 927s Active: inactive (dead) since Thu 2025-01-09 01:09:37 UTC; 15ms ago 927s Duration: 16.432s 927s Invocation: 364e6e14a6d044bc8480efd457759d55 927s Docs: https://etcd.io/docs 927s man:etcd 927s Process: 2314 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 927s Main PID: 2314 (code=killed, signal=TERM) 927s Mem peak: 7.4M 927s CPU: 189ms 927s 927s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.686781Z","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"]} 927s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"warn","ts":"2025-01-09T01:09:37.686912Z","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"} 927s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"warn","ts":"2025-01-09T01:09:37.687279Z","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"} 927s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.687304Z","caller":"etcdserver/server.go:1543","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 927s Jan 09 01:09:37 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 927s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.694083Z","caller":"embed/etcd.go:582","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 927s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.694262Z","caller":"embed/etcd.go:587","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 927s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.694276Z","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"]} 927s Jan 09 01:09:37 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 927s Jan 09 01:09:37 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 927s ++ ls -1r /usr/lib/postgresql/ 927s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 927s + '[' 16 == 10 -o 16 == 11 ']' 927s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 927s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave features/basic_replication.feature | ts' 927s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 929s Jan 09 01:09:39 Feature: basic replication # features/basic_replication.feature:1 929s Jan 09 01:09:39 We should check that the basic bootstrapping, replication and failover works. 929s Jan 09 01:09:39 Scenario: check replication of a single table # features/basic_replication.feature:4 929s Jan 09 01:09:39 Given I start postgres0 # features/steps/basic_replication.py:8 932s Jan 09 01:09:42 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 932s Jan 09 01:09:42 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 932s Jan 09 01:09:42 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 932s Jan 09 01:09:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 932s Jan 09 01:09:42 When I start postgres1 # features/steps/basic_replication.py:8 935s Jan 09 01:09:45 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 939s Jan 09 01:09:48 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 939s Jan 09 01:09:48 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 939s Jan 09 01:09:49 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 940s Jan 09 01:09:50 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 940s Jan 09 01:09:50 940s Jan 09 01:09:50 Scenario: check restart of sync replica # features/basic_replication.feature:17 940s Jan 09 01:09:50 Given I shut down postgres2 # features/steps/basic_replication.py:29 941s Jan 09 01:09:51 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 941s Jan 09 01:09:51 When I start postgres2 # features/steps/basic_replication.py:8 944s Jan 09 01:09:54 And I shut down postgres1 # features/steps/basic_replication.py:29 947s Jan 09 01:09:57 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 948s Jan 09 01:09:58 When I start postgres1 # features/steps/basic_replication.py:8 951s Jan 09 01:10:01 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 952s Jan 09 01:10:02 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 952s Jan 09 01:10:02 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 952s Jan 09 01:10:02 952s Jan 09 01:10:02 Scenario: check stuck sync replica # features/basic_replication.feature:28 952s Jan 09 01:10:02 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 952s Jan 09 01:10:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 952s Jan 09 01:10:02 And I create table on postgres0 # features/steps/basic_replication.py:73 952s Jan 09 01:10:02 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 953s Jan 09 01:10:03 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 953s Jan 09 01:10:03 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 953s Jan 09 01:10:03 And I load data on postgres0 # features/steps/basic_replication.py:84 953s Jan 09 01:10:03 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 956s Jan 09 01:10:06 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 956s Jan 09 01:10:06 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 957s Jan 09 01:10:07 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 957s Jan 09 01:10:07 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 957s Jan 09 01:10:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 957s Jan 09 01:10:07 And I drop table on postgres0 # features/steps/basic_replication.py:73 957s Jan 09 01:10:07 957s Jan 09 01:10:07 Scenario: check multi sync replication # features/basic_replication.feature:44 957s Jan 09 01:10:07 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 958s Jan 09 01:10:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 958s Jan 09 01:10:07 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 962s Jan 09 01:10:12 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 962s Jan 09 01:10:12 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 962s Jan 09 01:10:12 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 962s Jan 09 01:10:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 962s Jan 09 01:10:12 And I shut down postgres1 # features/steps/basic_replication.py:29 965s Jan 09 01:10:15 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 966s Jan 09 01:10:16 When I start postgres1 # features/steps/basic_replication.py:8 969s Jan 09 01:10:19 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 970s Jan 09 01:10:20 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 970s Jan 09 01:10:20 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 970s Jan 09 01:10:20 970s Jan 09 01:10:20 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 970s Jan 09 01:10:20 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 972s Jan 09 01:10:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 972s Jan 09 01:10:22 When I sleep for 2 seconds # features/steps/patroni_api.py:39 974s Jan 09 01:10:24 And I shut down postgres0 # features/steps/basic_replication.py:29 975s Jan 09 01:10:25 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 977s Jan 09 01:10:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 977s Jan 09 01:10:27 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 996s Jan 09 01:10:46 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 998s Jan 09 01:10:48 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 998s Jan 09 01:10:48 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 998s Jan 09 01:10:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 998s Jan 09 01:10:48 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 998s Jan 09 01:10:48 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1001s Jan 09 01:10:51 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1001s Jan 09 01:10:51 1001s Jan 09 01:10:51 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1001s Jan 09 01:10:51 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1001s Jan 09 01:10:51 And I start postgres0 # features/steps/basic_replication.py:8 1001s Jan 09 01:10:51 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1005s Jan 09 01:10:55 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1005s Jan 09 01:10:55 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1009s Jan 09 01:10:59 1009s Jan 09 01:10:59 @reject-duplicate-name 1009s Jan 09 01:10:59 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1009s Jan 09 01:10:59 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1011s Jan 09 01:11:01 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 1015s Jan 09 01:11:05 1016s 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'))") 1016s 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'))") 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.4483.XdlJycEx 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.4527.XSdHLRfx 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.4565.XcQMUwMx 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.4621.XKHmjKTx 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.4667.XHspqnmx 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.4744.XvJYQDcx 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.4792.XGHXHszx 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.4795.XdNWtGlx 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.4891.XNflhXMx 1016s Jan 09 01:11:06 Combined data file .coverage.autopkgtest.5001.XHaBTrTx 1019s Jan 09 01:11:09 Name Stmts Miss Cover 1019s Jan 09 01:11:09 ------------------------------------------------------------------------------------------------------------- 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 647 44% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 688 15% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 117 23% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 629 21% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/api.py 780 432 45% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 151 77% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/ha.py 1270 630 50% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/log.py 221 73 67% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 239 71% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 91 64% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 255 70% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 13 70% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 188 46% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/utils.py 370 139 62% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/validator.py 307 217 29% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1019s Jan 09 01:11:09 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1019s Jan 09 01:11:09 patroni/__init__.py 13 2 85% 1019s Jan 09 01:11:09 patroni/__main__.py 199 199 0% 1019s Jan 09 01:11:09 patroni/api.py 780 780 0% 1019s Jan 09 01:11:09 patroni/async_executor.py 96 69 28% 1019s Jan 09 01:11:09 patroni/collections.py 56 15 73% 1019s Jan 09 01:11:09 patroni/config.py 371 196 47% 1019s Jan 09 01:11:09 patroni/config_generator.py 212 212 0% 1019s Jan 09 01:11:09 patroni/ctl.py 936 663 29% 1019s Jan 09 01:11:09 patroni/daemon.py 76 76 0% 1019s Jan 09 01:11:09 patroni/dcs/__init__.py 654 313 52% 1019s Jan 09 01:11:09 patroni/dcs/consul.py 484 484 0% 1019s Jan 09 01:11:09 patroni/dcs/etcd3.py 679 679 0% 1019s Jan 09 01:11:09 patroni/dcs/etcd.py 603 232 62% 1019s Jan 09 01:11:09 patroni/dcs/exhibitor.py 62 62 0% 1019s Jan 09 01:11:09 patroni/dcs/kubernetes.py 940 940 0% 1019s Jan 09 01:11:09 patroni/dcs/raft.py 319 319 0% 1019s Jan 09 01:11:09 patroni/dcs/zookeeper.py 289 289 0% 1019s Jan 09 01:11:09 patroni/dynamic_loader.py 35 7 80% 1019s Jan 09 01:11:09 patroni/exceptions.py 16 1 94% 1019s Jan 09 01:11:09 patroni/file_perm.py 43 15 65% 1019s Jan 09 01:11:09 patroni/global_config.py 81 23 72% 1019s Jan 09 01:11:09 patroni/ha.py 1270 1270 0% 1019s Jan 09 01:11:09 patroni/log.py 221 175 21% 1019s Jan 09 01:11:09 patroni/postgresql/__init__.py 822 652 21% 1019s Jan 09 01:11:09 patroni/postgresql/available_parameters/__init__.py 24 6 75% 1019s Jan 09 01:11:09 patroni/postgresql/bootstrap.py 255 225 12% 1019s Jan 09 01:11:09 patroni/postgresql/callback_executor.py 55 34 38% 1019s Jan 09 01:11:09 patroni/postgresql/cancellable.py 104 84 19% 1019s Jan 09 01:11:09 patroni/postgresql/config.py 838 718 14% 1019s Jan 09 01:11:09 patroni/postgresql/connection.py 75 50 33% 1019s Jan 09 01:11:09 patroni/postgresql/misc.py 43 30 30% 1019s Jan 09 01:11:09 patroni/postgresql/mpp/__init__.py 89 21 76% 1019s Jan 09 01:11:09 patroni/postgresql/mpp/citus.py 259 259 0% 1019s Jan 09 01:11:09 patroni/postgresql/postmaster.py 170 139 18% 1019s Jan 09 01:11:09 patroni/postgresql/rewind.py 416 416 0% 1019s Jan 09 01:11:09 patroni/postgresql/slots.py 349 300 14% 1019s Jan 09 01:11:09 patroni/postgresql/sync.py 130 96 26% 1019s Jan 09 01:11:09 patroni/postgresql/validator.py 157 52 67% 1019s Jan 09 01:11:09 patroni/psycopg.py 46 32 30% 1019s Jan 09 01:11:09 patroni/raft_controller.py 22 22 0% 1019s Jan 09 01:11:09 patroni/request.py 58 6 90% 1019s Jan 09 01:11:09 patroni/scripts/__init__.py 0 0 100% 1019s Jan 09 01:11:09 patroni/scripts/aws.py 59 59 0% 1019s Jan 09 01:11:09 patroni/scripts/barman/__init__.py 0 0 100% 1019s Jan 09 01:11:09 patroni/scripts/barman/cli.py 51 51 0% 1019s Jan 09 01:11:09 patroni/scripts/barman/config_switch.py 51 51 0% 1019s Jan 09 01:11:09 patroni/scripts/barman/recover.py 37 37 0% 1019s Jan 09 01:11:09 patroni/scripts/barman/utils.py 94 94 0% 1019s Jan 09 01:11:09 patroni/scripts/wale_restore.py 207 207 0% 1019s Jan 09 01:11:09 patroni/tags.py 38 15 61% 1019s Jan 09 01:11:09 patroni/utils.py 370 264 29% 1019s Jan 09 01:11:09 patroni/validator.py 307 221 28% 1019s Jan 09 01:11:09 patroni/version.py 1 0 100% 1019s Jan 09 01:11:09 patroni/watchdog/__init__.py 2 2 0% 1019s Jan 09 01:11:09 patroni/watchdog/base.py 203 203 0% 1019s Jan 09 01:11:09 patroni/watchdog/linux.py 135 135 0% 1019s Jan 09 01:11:09 ------------------------------------------------------------------------------------------------------------- 1019s Jan 09 01:11:09 TOTAL 52569 33502 36% 1019s Jan 09 01:11:09 1 feature passed, 0 failed, 0 skipped 1019s Jan 09 01:11:09 7 scenarios passed, 0 failed, 0 skipped 1019s Jan 09 01:11:09 68 steps passed, 0 failed, 0 skipped, 0 undefined 1019s Jan 09 01:11:09 Took 1m21.819s 1019s ### End 16 acceptance-etcd features/basic_replication.feature ### 1019s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 1019s + rm -f '/tmp/pgpass?' 1019s ++ id -u 1019s + '[' 0 -eq 0 ']' 1019s + '[' -x /etc/init.d/zookeeper ']' 1019s autopkgtest [01:11:09]: test acceptance-etcd-basic: -----------------------] 1020s autopkgtest [01:11:10]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 1020s acceptance-etcd-basic PASS 1020s autopkgtest [01:11:10]: test acceptance-etcd: preparing testbed 1021s Reading package lists... 1021s Building dependency tree... 1021s Reading state information... 1021s Starting pkgProblemResolver with broken count: 0 1021s Starting 2 pkgProblemResolver with broken count: 0 1021s Done 1022s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1023s autopkgtest [01:11:13]: test acceptance-etcd: debian/tests/acceptance etcd 1023s autopkgtest [01:11:13]: test acceptance-etcd: [----------------------- 1024s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1024s ++ ls -1r /usr/lib/postgresql/ 1024s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1024s + '[' 16 == 10 -o 16 == 11 ']' 1024s + echo '### PostgreSQL 16 acceptance-etcd ###' 1024s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 1024s ○ etcd.service - etcd - highly-available key value store 1024s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1024s Active: inactive (dead) since Thu 2025-01-09 01:09:37 UTC; 1min 36s ago 1024s Duration: 16.432s 1024s Invocation: 364e6e14a6d044bc8480efd457759d55 1024s Docs: https://etcd.io/docs 1024s man:etcd 1024s Process: 2314 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1024s Main PID: 2314 (code=killed, signal=TERM) 1024s Mem peak: 7.4M 1024s CPU: 189ms 1024s 1024s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.686781Z","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"]} 1024s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"warn","ts":"2025-01-09T01:09:37.686912Z","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"} 1024s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"warn","ts":"2025-01-09T01:09:37.687279Z","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"} 1024s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.687304Z","caller":"etcdserver/server.go:1543","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 1024s Jan 09 01:09:37 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 1024s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.694083Z","caller":"embed/etcd.go:582","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 1024s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.694262Z","caller":"embed/etcd.go:587","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 1024s Jan 09 01:09:37 autopkgtest etcd[2314]: {"level":"info","ts":"2025-01-09T01:09:37.694276Z","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"]} 1024s Jan 09 01:09:37 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 1024s Jan 09 01:09:37 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1024s ### PostgreSQL 16 acceptance-etcd ### 1026s Jan 09 01:11:16 Feature: basic replication # features/basic_replication.feature:1 1026s Jan 09 01:11:16 We should check that the basic bootstrapping, replication and failover works. 1026s Jan 09 01:11:16 Scenario: check replication of a single table # features/basic_replication.feature:4 1026s Jan 09 01:11:16 Given I start postgres0 # features/steps/basic_replication.py:8 1029s Jan 09 01:11:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1029s Jan 09 01:11:19 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1029s Jan 09 01:11:19 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 1029s Jan 09 01:11:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 1029s Jan 09 01:11:19 When I start postgres1 # features/steps/basic_replication.py:8 1033s Jan 09 01:11:23 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1037s Jan 09 01:11:27 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1037s Jan 09 01:11:27 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1037s Jan 09 01:11:27 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1038s Jan 09 01:11:28 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1038s Jan 09 01:11:28 1038s Jan 09 01:11:28 Scenario: check restart of sync replica # features/basic_replication.feature:17 1038s Jan 09 01:11:28 Given I shut down postgres2 # features/steps/basic_replication.py:29 1039s Jan 09 01:11:29 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1039s Jan 09 01:11:29 When I start postgres2 # features/steps/basic_replication.py:8 1042s Jan 09 01:11:32 And I shut down postgres1 # features/steps/basic_replication.py:29 1045s Jan 09 01:11:35 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1046s Jan 09 01:11:36 When I start postgres1 # features/steps/basic_replication.py:8 1049s Jan 09 01:11:39 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1050s Jan 09 01:11:40 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1051s Jan 09 01:11:40 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1051s Jan 09 01:11:41 1051s Jan 09 01:11:41 Scenario: check stuck sync replica # features/basic_replication.feature:28 1051s Jan 09 01:11: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 1051s Jan 09 01:11:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1051s Jan 09 01:11:41 And I create table on postgres0 # features/steps/basic_replication.py:73 1051s Jan 09 01:11:41 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1052s Jan 09 01:11:42 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1052s Jan 09 01:11:42 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1052s Jan 09 01:11:42 And I load data on postgres0 # features/steps/basic_replication.py:84 1052s Jan 09 01:11:42 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1055s Jan 09 01:11:45 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1055s Jan 09 01:11:45 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1055s Jan 09 01:11:45 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1055s Jan 09 01:11:45 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 1055s Jan 09 01:11:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1055s Jan 09 01:11:45 And I drop table on postgres0 # features/steps/basic_replication.py:73 1055s Jan 09 01:11:45 1055s Jan 09 01:11:45 Scenario: check multi sync replication # features/basic_replication.feature:44 1055s Jan 09 01:11:45 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 1055s Jan 09 01:11:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1055s Jan 09 01:11:45 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1059s Jan 09 01:11:49 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1059s Jan 09 01:11:49 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1059s Jan 09 01:11:49 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 1060s Jan 09 01:11:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 1060s Jan 09 01:11:49 And I shut down postgres1 # features/steps/basic_replication.py:29 1063s Jan 09 01:11:52 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1064s Jan 09 01:11:53 When I start postgres1 # features/steps/basic_replication.py:8 1068s Jan 09 01:11:58 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1068s Jan 09 01:11:58 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1068s Jan 09 01:11:58 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1068s Jan 09 01:11:58 1068s Jan 09 01:11:58 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1068s Jan 09 01:11:58 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1070s Jan 09 01:12:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1070s Jan 09 01:12:00 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1072s Jan 09 01:12:02 And I shut down postgres0 # features/steps/basic_replication.py:29 1073s Jan 09 01:12:03 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1075s Jan 09 01:12:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1075s Jan 09 01:12:05 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1093s Jan 09 01:12:23 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1095s Jan 09 01:12:25 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1095s Jan 09 01:12: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 1095s Jan 09 01:12:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1095s Jan 09 01:12:25 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1095s Jan 09 01:12:25 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1095s Jan 09 01:12: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 1097s Jan 09 01:12:27 1097s Jan 09 01:12:27 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1097s Jan 09 01:12:27 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1097s Jan 09 01:12:27 And I start postgres0 # features/steps/basic_replication.py:8 1097s Jan 09 01:12:27 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1101s Jan 09 01:12:31 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1101s Jan 09 01:12:31 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1104s Jan 09 01:12:34 1104s Jan 09 01:12:34 @reject-duplicate-name 1104s Jan 09 01:12:34 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1104s Jan 09 01:12:34 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1107s Jan 09 01:12:37 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 1111s Jan 09 01:12:41 1111s Jan 09 01:12:41 Feature: cascading replication # features/cascading_replication.feature:1 1111s Jan 09 01:12:41 We should check that patroni can do base backup and streaming from the replica 1111s Jan 09 01:12:41 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1111s Jan 09 01:12:41 Given I start postgres0 # features/steps/basic_replication.py:8 1115s Jan 09 01:12:45 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1115s Jan 09 01:12:45 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1121s Jan 09 01:12:51 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1122s Jan 09 01:12:52 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1122s Jan 09 01:12:52 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1122s Jan 09 01:12:52 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1122s Jan 09 01:12:52 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1126s Jan 09 01:12:56 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1127s Jan 09 01:12:57 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1132s Jan 09 01:13:02 1132s SKIP FEATURE citus: Citus extenstion isn't available 1132s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1132s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1132s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1132s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1132s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 1132s Jan 09 01:13:02 Feature: citus # features/citus.feature:1 1132s Jan 09 01:13:02 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1132s Jan 09 01:13:02 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1132s Jan 09 01:13:02 Given I start postgres0 in citus group 0 # None 1132s Jan 09 01:13:02 And I start postgres2 in citus group 1 # None 1132s Jan 09 01:13:02 Then postgres0 is a leader in a group 0 after 10 seconds # None 1132s Jan 09 01:13:02 And postgres2 is a leader in a group 1 after 10 seconds # None 1132s Jan 09 01:13:02 When I start postgres1 in citus group 0 # None 1132s Jan 09 01:13:02 And I start postgres3 in citus group 1 # None 1132s Jan 09 01:13:02 Then replication works from postgres0 to postgres1 after 15 seconds # None 1132s Jan 09 01:13:02 Then replication works from postgres2 to postgres3 after 15 seconds # None 1132s Jan 09 01:13:02 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1132s Jan 09 01:13:02 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1132s Jan 09 01:13:02 1132s Jan 09 01:13:02 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1132s Jan 09 01:13:02 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1132s Jan 09 01:13:02 Then postgres1 role is the primary after 10 seconds # None 1132s Jan 09 01:13:02 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1132s Jan 09 01:13:02 And replication works from postgres1 to postgres0 after 15 seconds # None 1132s Jan 09 01:13:02 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1132s Jan 09 01:13:02 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1132s Jan 09 01:13:02 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1132s Jan 09 01:13:02 Then postgres0 role is the primary after 10 seconds # None 1132s Jan 09 01:13:02 And replication works from postgres0 to postgres1 after 15 seconds # None 1132s Jan 09 01:13:02 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1132s Jan 09 01:13:02 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1132s Jan 09 01:13:02 1132s Jan 09 01:13:02 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1132s Jan 09 01:13:02 Given I create a distributed table on postgres0 # None 1132s Jan 09 01:13:02 And I start a thread inserting data on postgres0 # None 1132s Jan 09 01:13:02 When I run patronictl.py switchover batman --group 1 --force # None 1132s Jan 09 01:13:02 Then I receive a response returncode 0 # None 1132s Jan 09 01:13:02 And postgres3 role is the primary after 10 seconds # None 1132s Jan 09 01:13:02 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1132s Jan 09 01:13:02 And replication works from postgres3 to postgres2 after 15 seconds # None 1132s Jan 09 01:13:02 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1132s Jan 09 01:13:02 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1132s Jan 09 01:13:02 And a thread is still alive # None 1132s Jan 09 01:13:02 When I run patronictl.py switchover batman --group 1 --force # None 1132s Jan 09 01:13:02 Then I receive a response returncode 0 # None 1132s Jan 09 01:13:02 And postgres2 role is the primary after 10 seconds # None 1132s Jan 09 01:13:02 And replication works from postgres2 to postgres3 after 15 seconds # None 1132s Jan 09 01:13:02 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1132s Jan 09 01:13:02 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1132s Jan 09 01:13:02 And a thread is still alive # None 1132s Jan 09 01:13:02 When I stop a thread # None 1132s Jan 09 01:13:02 Then a distributed table on postgres0 has expected rows # None 1132s Jan 09 01:13:02 1132s Jan 09 01:13:02 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1132s Jan 09 01:13:02 Given I cleanup a distributed table on postgres0 # None 1132s Jan 09 01:13:02 And I start a thread inserting data on postgres0 # None 1132s Jan 09 01:13:02 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1132s Jan 09 01:13:02 Then I receive a response returncode 0 # None 1132s Jan 09 01:13:02 And postgres2 role is the primary after 10 seconds # None 1132s Jan 09 01:13:02 And replication works from postgres2 to postgres3 after 15 seconds # None 1132s Jan 09 01:13:02 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1132s Jan 09 01:13:02 And a thread is still alive # None 1132s Jan 09 01:13:02 When I stop a thread # None 1132s Jan 09 01:13:02 Then a distributed table on postgres0 has expected rows # None 1132s Jan 09 01:13:02 1132s Jan 09 01:13:02 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1132s Jan 09 01:13:02 Given I start postgres4 in citus group 2 # None 1132s Jan 09 01:13:02 Then postgres4 is a leader in a group 2 after 10 seconds # None 1132s Jan 09 01:13:02 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1132s Jan 09 01:13:02 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1132s Jan 09 01:13:02 Then I receive a response returncode 0 # None 1132s Jan 09 01:13:02 And I receive a response output "+ttl: 20" # None 1132s Jan 09 01:13:02 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1132s Jan 09 01:13:02 When I shut down postgres4 # None 1132s Jan 09 01:13:02 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1132s Jan 09 01:13:02 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1132s Jan 09 01:13:02 Then a transaction finishes in 20 seconds # None 1132s Jan 09 01:13:02 1132s Jan 09 01:13:02 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1132s Jan 09 01:13:02 We should check that patroni can bootstrap a new cluster from a backup 1132s Jan 09 01:13:02 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1132s Jan 09 01:13:02 Given I start postgres0 # features/steps/basic_replication.py:8 1136s Jan 09 01:13:06 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1136s Jan 09 01:13:06 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1136s Jan 09 01:13:06 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1140s Jan 09 01:13:10 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1141s Jan 09 01:13:11 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1141s Jan 09 01:13:11 1141s Jan 09 01:13:11 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1141s Jan 09 01:13:11 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1141s Jan 09 01:13:11 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1141s Jan 09 01:13:11 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1148s Jan 09 01:13:17 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1148s Jan 09 01:13:17 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1154s Jan 09 01:13:24 1154s Jan 09 01:13:24 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1154s Jan 09 01:13:24 We should check the basic dcs failsafe mode functioning 1154s Jan 09 01:13:24 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1154s Jan 09 01:13:24 Given I start postgres0 # features/steps/basic_replication.py:8 1158s Jan 09 01:13:28 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1158s Jan 09 01:13:28 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1158s Jan 09 01:13:28 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 1158s Jan 09 01:13:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1158s Jan 09 01:13:28 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1158s Jan 09 01:13:28 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1158s Jan 09 01:13:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1158s Jan 09 01:13:28 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1158s Jan 09 01:13:28 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 1158s Jan 09 01:13:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1158s Jan 09 01:13:28 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 1158s Jan 09 01:13:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1158s Jan 09 01:13:28 1158s Jan 09 01:13:28 @dcs-failsafe 1158s Jan 09 01:13:28 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1158s Jan 09 01:13:28 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1158s Jan 09 01:13:28 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 1164s Jan 09 01:13:34 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1164s Jan 09 01:13:34 1164s Jan 09 01:13:34 @dcs-failsafe 1164s Jan 09 01:13:34 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1164s Jan 09 01:13:34 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1164s Jan 09 01:13:34 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1165s Jan 09 01:13:35 And I shut down postgres0 # features/steps/basic_replication.py:29 1167s Jan 09 01:13:37 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1171s Jan 09 01:13:41 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1171s Jan 09 01:13:41 1171s Jan 09 01:13:41 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1171s Jan 09 01:13:41 Given I start postgres0 # features/steps/basic_replication.py:8 1174s Jan 09 01:13:44 And I start postgres1 # features/steps/basic_replication.py:8 1174s Jan 09 01:13:44 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1175s Jan 09 01:13:45 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1175s Jan 09 01:13:45 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1176s Jan 09 01:13:46 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1176s Jan 09 01:13:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1176s Jan 09 01:13:46 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1176s Jan 09 01:13:46 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1176s Jan 09 01:13:46 1176s Jan 09 01:13:46 @dcs-failsafe @slot-advance 1176s Jan 09 01:13:46 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1176s Jan 09 01:13:46 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1176s Jan 09 01:13:46 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1184s Jan 09 01:13:54 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1184s Jan 09 01:13:54 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1184s Jan 09 01:13:54 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 1192s Jan 09 01:14:02 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1192s Jan 09 01:14:02 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1192s Jan 09 01:14:02 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1192s Jan 09 01:14:02 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1192s Jan 09 01:14:02 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1192s Jan 09 01:14:02 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1194s Jan 09 01:14:04 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1194s Jan 09 01:14:04 1194s Jan 09 01:14:04 @dcs-failsafe 1194s Jan 09 01:14:04 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1194s Jan 09 01:14:04 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1194s Jan 09 01:14:04 And I kill postgres1 # features/steps/basic_replication.py:34 1195s Jan 09 01:14:05 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1195s Jan 09 01:14:05 waiting for server to shut down.... done 1195s Jan 09 01:14:05 server stopped 1195s Jan 09 01:14:05 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1196s Jan 09 01:14:06 1196s Jan 09 01:14:06 @dcs-failsafe 1196s Jan 09 01:14:06 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1196s Jan 09 01:14:06 Given I kill postgres0 # features/steps/basic_replication.py:34 1197s Jan 09 01:14:07 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1197s Jan 09 01:14:07 waiting for server to shut down.... done 1197s Jan 09 01:14:07 server stopped 1197s Jan 09 01:14:07 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1197s Jan 09 01:14:07 When I start postgres1 # features/steps/basic_replication.py:8 1200s Jan 09 01:14:10 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1201s Jan 09 01:14:11 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1205s Jan 09 01:14:15 1205s Jan 09 01:14:15 @dcs-failsafe 1205s Jan 09 01:14:15 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1205s Jan 09 01:14:15 Given I start postgres0 # features/steps/basic_replication.py:8 1209s Jan 09 01:14:19 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1214s Jan 09 01:14:24 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1214s Jan 09 01:14:24 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1214s Jan 09 01:14:24 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1214s Jan 09 01:14:24 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1215s Jan 09 01:14:25 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1215s Jan 09 01:14:25 1215s Jan 09 01:14:25 @dcs-failsafe @slot-advance 1215s Jan 09 01:14:25 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1215s Jan 09 01:14:25 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 1215s Jan 09 01:14:25 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1221s Jan 09 01:14:31 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1222s Jan 09 01:14:32 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1222s Jan 09 01:14:32 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1223s Jan 09 01:14:33 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1223s Jan 09 01:14:33 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1223s Jan 09 01:14:33 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1223s Jan 09 01:14:33 1223s Jan 09 01:14:33 @dcs-failsafe 1223s Jan 09 01:14:33 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 1223s Jan 09 01:14:33 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1223s Jan 09 01:14:33 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 1231s Jan 09 01:14:41 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1231s Jan 09 01:14:41 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1231s Jan 09 01:14:41 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1231s Jan 09 01:14:41 1231s Jan 09 01:14:41 @dcs-failsafe @slot-advance 1231s Jan 09 01:14:41 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 1231s Jan 09 01:14:41 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1231s Jan 09 01:14:41 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1232s Jan 09 01:14:42 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1232s Jan 09 01:14:42 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1232s Jan 09 01:14:42 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1233s Jan 09 01:14:43 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1233s Jan 09 01:14:43 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1233s Jan 09 01:14:43 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1233s Jan 09 01:14:43 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1233s Jan 09 01:14:43 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1239s Jan 09 01:14:49 1239s Jan 09 01:14:49 Feature: ignored slots # features/ignored_slots.feature:1 1239s Jan 09 01:14:49 1239s Jan 09 01:14:49 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1239s Jan 09 01:14:49 Given I start postgres1 # features/steps/basic_replication.py:8 1243s Jan 09 01:14:53 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1243s Jan 09 01:14:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1243s Jan 09 01:14:53 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 1243s Jan 09 01:14:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1243s Jan 09 01:14:53 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1243s Jan 09 01:14:53 When I shut down postgres1 # features/steps/basic_replication.py:29 1245s Jan 09 01:14:55 And I start postgres1 # features/steps/basic_replication.py:8 1248s Jan 09 01:14:58 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1249s Jan 09 01:14:59 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1250s Jan 09 01:15:00 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1250s Jan 09 01:15:00 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1250s Jan 09 01:15:00 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1250s Jan 09 01:15:00 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1250s Jan 09 01:15:00 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1250s Jan 09 01:15:00 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1250s Jan 09 01:15:00 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1250s Jan 09 01:15:00 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1250s Jan 09 01:15:00 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1250s Jan 09 01:15:00 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1250s Jan 09 01:15:00 When I start postgres0 # features/steps/basic_replication.py:8 1255s Jan 09 01:15:05 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1255s Jan 09 01:15:05 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1255s Jan 09 01:15:05 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1256s Jan 09 01:15:06 When I shut down postgres1 # features/steps/basic_replication.py:29 1258s Jan 09 01:15:08 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1259s Jan 09 01:15:09 When I start postgres1 # features/steps/basic_replication.py:8 1262s Jan 09 01:15:12 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1262s Jan 09 01:15:12 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1263s Jan 09 01:15:13 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1265s Jan 09 01:15:15 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1265s Jan 09 01:15:15 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1265s Jan 09 01:15:15 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1265s Jan 09 01:15:15 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1265s Jan 09 01:15:15 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1265s Jan 09 01:15:15 When I shut down postgres0 # features/steps/basic_replication.py:29 1267s Jan 09 01:15:17 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1268s Jan 09 01:15:18 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1268s Jan 09 01:15:18 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1268s Jan 09 01:15:18 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1268s Jan 09 01:15:18 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1270s Jan 09 01:15:20 1270s Jan 09 01:15:20 Feature: nostream node # features/nostream_node.feature:1 1270s Jan 09 01:15:20 1270s Jan 09 01:15:20 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1270s Jan 09 01:15:20 When I start postgres0 # features/steps/basic_replication.py:8 1274s Jan 09 01:15:24 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1277s Jan 09 01:15:27 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1278s Jan 09 01:15:28 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1283s Jan 09 01:15:33 1283s Jan 09 01:15:33 @slot-advance 1283s Jan 09 01:15:33 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1283s Jan 09 01:15:33 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 1283s Jan 09 01:15:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1283s Jan 09 01:15:33 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1286s Jan 09 01:15:35 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1287s Jan 09 01:15:36 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1291s Jan 09 01:15:41 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1296s Jan 09 01:15:46 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1296s Jan 09 01:15:46 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1301s Jan 09 01:15:51 1301s Jan 09 01:15:51 Feature: patroni api # features/patroni_api.feature:1 1301s Jan 09 01:15:51 We should check that patroni correctly responds to valid and not-valid API requests. 1301s Jan 09 01:15:51 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1301s Jan 09 01:15:51 Given I start postgres0 # features/steps/basic_replication.py:8 1304s Jan 09 01:15:54 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1305s Jan 09 01:15:55 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1305s Jan 09 01:15:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1305s Jan 09 01:15:55 And I receive a response state running # features/steps/patroni_api.py:98 1305s Jan 09 01:15:55 And I receive a response role master # features/steps/patroni_api.py:98 1305s Jan 09 01:15:55 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1305s Jan 09 01:15:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 1305s Jan 09 01:15:55 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1305s Jan 09 01:15:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1305s Jan 09 01:15:55 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1305s Jan 09 01:15:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 1305s Jan 09 01:15:55 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1305s Jan 09 01:15:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 1305s Jan 09 01:15:55 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1305s Jan 09 01:15:55 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1307s Jan 09 01:15:57 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1307s Jan 09 01:15:57 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1307s Jan 09 01:15:57 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1307s Jan 09 01:15:57 Then I receive a response code 412 # features/steps/patroni_api.py:98 1307s Jan 09 01:15:57 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1307s Jan 09 01:15:57 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1307s Jan 09 01:15:57 Then I receive a response code 400 # features/steps/patroni_api.py:98 1307s Jan 09 01:15:57 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1307s Jan 09 01:15:57 Then I receive a response code 400 # features/steps/patroni_api.py:98 1307s Jan 09 01:15:57 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1307s Jan 09 01:15:57 1307s Jan 09 01:15:57 Scenario: check local configuration reload # features/patroni_api.feature:32 1307s Jan 09 01:15:57 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1307s Jan 09 01:15:57 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1307s Jan 09 01:15:57 Then I receive a response code 202 # features/steps/patroni_api.py:98 1307s Jan 09 01:15:57 1307s Jan 09 01:15:57 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1307s Jan 09 01:15:57 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 1307s Jan 09 01:15:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1307s Jan 09 01:15:57 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1309s Jan 09 01:15:59 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1309s Jan 09 01:15:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1309s Jan 09 01:15:59 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1309s Jan 09 01:15:59 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1310s Jan 09 01:15:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1310s Jan 09 01:15:59 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1310s Jan 09 01:15:59 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1314s Jan 09 01:16:03 1314s Jan 09 01:16:03 Scenario: check the scheduled restart # features/patroni_api.feature:49 1314s Jan 09 01:16:03 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1315s Jan 09 01:16:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1315s Jan 09 01:16:05 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1315s Jan 09 01:16:05 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1316s Jan 09 01:16:05 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 1316s Jan 09 01:16:06 Then I receive a response code 202 # features/steps/patroni_api.py:98 1316s Jan 09 01:16:06 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1324s Jan 09 01:16:14 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1324s Jan 09 01:16:14 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 1324s Jan 09 01:16:14 Then I receive a response code 202 # features/steps/patroni_api.py:98 1324s Jan 09 01:16:14 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 1330s Jan 09 01:16:20 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1331s Jan 09 01:16:21 1331s Jan 09 01:16:21 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1331s Jan 09 01:16:21 Given I start postgres1 # features/steps/basic_replication.py:8 1335s Jan 09 01:16:25 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1336s Jan 09 01:16:26 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1338s Jan 09 01:16:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1338s Jan 09 01:16:28 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1339s Jan 09 01:16:28 waiting for server to shut down.... done 1339s Jan 09 01:16:28 server stopped 1339s Jan 09 01:16:28 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1339s Jan 09 01:16:29 Then I receive a response code 503 # features/steps/patroni_api.py:98 1339s Jan 09 01:16:29 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1340s Jan 09 01:16:30 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1343s Jan 09 01:16:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1343s Jan 09 01:16:33 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1344s Jan 09 01:16:34 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1346s Jan 09 01:16:36 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1346s Jan 09 01:16:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1346s Jan 09 01:16:36 And I receive a response state running # features/steps/patroni_api.py:98 1346s Jan 09 01:16:36 And I receive a response role replica # features/steps/patroni_api.py:98 1346s Jan 09 01:16:36 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1350s Jan 09 01:16:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1350s Jan 09 01:16:40 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1350s Jan 09 01:16:40 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1351s Jan 09 01:16:41 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1351s Jan 09 01:16:41 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1354s Jan 09 01:16:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1354s Jan 09 01:16:44 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1354s Jan 09 01:16:44 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1355s Jan 09 01:16:45 1355s Jan 09 01:16:45 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1355s Jan 09 01:16:45 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 1357s Jan 09 01:16:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1357s Jan 09 01:16:47 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1357s Jan 09 01:16:47 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1358s Jan 09 01:16:48 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1362s Jan 09 01:16:52 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1362s Jan 09 01:16:52 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1363s Jan 09 01:16:53 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1363s Jan 09 01:16:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 1363s Jan 09 01:16:53 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1363s Jan 09 01:16:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1363s Jan 09 01:16:53 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1363s Jan 09 01:16:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1363s Jan 09 01:16:53 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1363s Jan 09 01:16:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 1363s Jan 09 01:16:53 1363s Jan 09 01:16:53 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1363s Jan 09 01:16:53 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1365s Jan 09 01:16:55 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1365s Jan 09 01:16:55 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1365s Jan 09 01:16:55 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1368s Jan 09 01:16:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1368s Jan 09 01:16:57 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1370s Jan 09 01:16:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1370s Jan 09 01:16:59 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1380s Jan 09 01:17:10 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1380s Jan 09 01:17:10 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1383s Jan 09 01:17:13 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1383s Jan 09 01:17:13 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1383s Jan 09 01:17:13 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1383s Jan 09 01:17:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1383s Jan 09 01:17:13 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1383s Jan 09 01:17:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 1383s Jan 09 01:17:13 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1383s Jan 09 01:17:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 1383s Jan 09 01:17:13 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1383s Jan 09 01:17:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1387s Jan 09 01:17:17 1387s Jan 09 01:17:17 Feature: permanent slots # features/permanent_slots.feature:1 1387s Jan 09 01:17:17 1387s Jan 09 01:17:17 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1387s Jan 09 01:17:17 Given I start postgres0 # features/steps/basic_replication.py:8 1390s Jan 09 01:17:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1391s Jan 09 01:17:21 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1391s Jan 09 01:17:21 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 1391s Jan 09 01:17:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1391s Jan 09 01:17:21 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1391s Jan 09 01:17:21 When I start postgres1 # features/steps/basic_replication.py:8 1395s Jan 09 01:17:25 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 1399s Jan 09 01:17:29 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1403s Jan 09 01:17:33 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1403s Jan 09 01:17:33 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1403s Jan 09 01:17:33 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1403s Jan 09 01:17:33 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1403s Jan 09 01:17:33 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 1403s Jan 09 01:17:33 1403s Jan 09 01:17:33 @slot-advance 1403s Jan 09 01:17:33 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1403s Jan 09 01:17:33 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1406s Jan 09 01:17:36 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 1406s Jan 09 01:17:36 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1407s Jan 09 01:17:37 1407s Jan 09 01:17:37 @slot-advance 1407s Jan 09 01:17:37 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1407s Jan 09 01:17:37 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1412s Jan 09 01:17:42 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1412s Jan 09 01:17:42 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1413s Jan 09 01:17:43 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1413s Jan 09 01:17:43 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1413s Jan 09 01:17:43 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1413s Jan 09 01:17:43 1413s Jan 09 01:17:43 @slot-advance 1413s Jan 09 01:17:43 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1413s Jan 09 01:17:43 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1413s Jan 09 01:17:43 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1413s Jan 09 01:17:43 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1413s Jan 09 01:17:43 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 1413s Jan 09 01:17:43 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 1413s Jan 09 01:17:43 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1413s Jan 09 01:17:43 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1413s Jan 09 01:17:43 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1413s Jan 09 01:17:43 1413s Jan 09 01:17:43 @slot-advance 1413s Jan 09 01:17:43 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1413s Jan 09 01:17:43 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1413s Jan 09 01:17:43 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1413s Jan 09 01:17:43 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1413s Jan 09 01:17:43 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1414s Jan 09 01:17:44 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1414s Jan 09 01:17:44 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1414s Jan 09 01:17:44 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1414s Jan 09 01:17:44 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1416s Jan 09 01:17:46 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1416s Jan 09 01:17:46 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1416s Jan 09 01:17:46 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1416s Jan 09 01:17:46 1416s Jan 09 01:17:46 @slot-advance 1416s Jan 09 01:17:46 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 1416s Jan 09 01:17:46 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 1416s Jan 09 01:17:46 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 1416s Jan 09 01:17:46 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 1416s Jan 09 01:17:46 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 1417s Jan 09 01:17:46 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 1417s Jan 09 01:17:46 1417s Jan 09 01:17:46 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 1417s Jan 09 01:17:46 Given I shut down postgres3 # features/steps/basic_replication.py:29 1417s Jan 09 01:17:47 And I shut down postgres2 # features/steps/basic_replication.py:29 1418s Jan 09 01:17:48 And I shut down postgres0 # features/steps/basic_replication.py:29 1420s Jan 09 01:17:50 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1420s Jan 09 01:17:50 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1420s Jan 09 01:17:50 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1420s Jan 09 01:17:50 When I start postgres0 # features/steps/basic_replication.py:8 1423s Jan 09 01:17:53 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 1424s Jan 09 01:17:53 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1425s Jan 09 01:17:54 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1428s Jan 09 01:17:58 1428s Jan 09 01:17:58 Feature: priority replication # features/priority_failover.feature:1 1428s Jan 09 01:17:58 We should check that we can give nodes priority during failover 1428s Jan 09 01:17:58 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1428s Jan 09 01:17:58 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1431s Jan 09 01:18:01 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1435s Jan 09 01:18:05 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1436s Jan 09 01:18:06 When I shut down postgres0 # features/steps/basic_replication.py:29 1438s Jan 09 01:18:08 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 1440s Jan 09 01:18:10 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1440s Jan 09 01:18:10 When I start postgres0 # features/steps/basic_replication.py:8 1443s Jan 09 01:18:13 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1445s Jan 09 01:18:15 1445s Jan 09 01:18:15 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1445s Jan 09 01:18:15 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1449s Jan 09 01:18:19 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1453s Jan 09 01:18:23 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1454s Jan 09 01:18:24 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1455s Jan 09 01:18:25 When I shut down postgres0 # features/steps/basic_replication.py:29 1457s Jan 09 01:18:27 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1457s Jan 09 01:18:27 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 1457s Jan 09 01:18:27 1457s Jan 09 01:18:27 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1457s Jan 09 01:18:27 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1457s Jan 09 01:18:27 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1457s Jan 09 01:18:27 Then I receive a response code 202 # features/steps/patroni_api.py:98 1457s Jan 09 01:18:27 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 1459s Jan 09 01:18:29 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1460s Jan 09 01:18:30 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1460s Jan 09 01:18:30 Then I receive a response code 412 # features/steps/patroni_api.py:98 1460s Jan 09 01:18:30 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1460s Jan 09 01:18:30 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1460s Jan 09 01:18:30 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1460s Jan 09 01:18:30 Then I receive a response code 202 # features/steps/patroni_api.py:98 1460s Jan 09 01:18: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 1462s Jan 09 01:18:32 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1463s Jan 09 01:18:33 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1467s Jan 09 01:18:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1467s Jan 09 01:18:37 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1472s Jan 09 01:18:42 1472s Jan 09 01:18:42 Feature: recovery # features/recovery.feature:1 1472s Jan 09 01:18:42 We want to check that crashed postgres is started back 1472s Jan 09 01:18:42 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1472s Jan 09 01:18:42 Given I start postgres0 # features/steps/basic_replication.py:8 1475s Jan 09 01:18:45 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1476s Jan 09 01:18:46 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1476s Jan 09 01:18:46 When I start postgres1 # features/steps/basic_replication.py:8 1481s Jan 09 01:18:51 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1481s Jan 09 01:18:51 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1482s Jan 09 01:18:52 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1482s Jan 09 01:18:52 waiting for server to shut down.... done 1482s Jan 09 01:18:52 server stopped 1482s Jan 09 01:18:52 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1484s Jan 09 01:18:54 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1484s Jan 09 01:18:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1484s Jan 09 01:18:54 And I receive a response role master # features/steps/patroni_api.py:98 1484s Jan 09 01:18:54 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1484s Jan 09 01:18:54 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1485s Jan 09 01:18:55 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1488s Jan 09 01:18:58 1488s Jan 09 01:18:58 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1488s Jan 09 01:18:58 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 1488s Jan 09 01:18:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1488s Jan 09 01:18:58 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1488s Jan 09 01:18:58 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1488s Jan 09 01:18:58 waiting for server to shut down.... done 1488s Jan 09 01:18:58 server stopped 1488s Jan 09 01:18:58 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1490s Jan 09 01:19:00 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1494s Jan 09 01:19:04 1494s Jan 09 01:19:04 Feature: standby cluster # features/standby_cluster.feature:1 1494s Jan 09 01:19:04 1494s Jan 09 01:19:04 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1494s Jan 09 01:19:04 Given I start postgres1 # features/steps/basic_replication.py:8 1498s Jan 09 01:19:08 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1498s Jan 09 01:19:08 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1498s Jan 09 01:19:08 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 1498s Jan 09 01:19:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 1498s Jan 09 01:19:08 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1499s Jan 09 01:19:09 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1502s Jan 09 01:19: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 1502s Jan 09 01:19:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1502s Jan 09 01:19:12 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1502s Jan 09 01:19:12 When I start postgres0 # features/steps/basic_replication.py:8 1506s Jan 09 01:19:16 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1506s Jan 09 01:19:16 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1507s Jan 09 01:19:17 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1507s Jan 09 01:19:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1507s Jan 09 01:19:17 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1507s Jan 09 01:19:17 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1508s Jan 09 01:19:18 1508s Jan 09 01:19:18 @slot-advance 1508s Jan 09 01:19:18 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1508s Jan 09 01:19:18 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1511s Jan 09 01:19:21 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1516s Jan 09 01:19:26 1516s Jan 09 01:19:26 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1516s Jan 09 01:19:26 When I shut down postgres1 # features/steps/basic_replication.py:29 1518s Jan 09 01:19:28 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1518s Jan 09 01:19:28 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1519s Jan 09 01:19:29 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1519s Jan 09 01:19:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1519s Jan 09 01:19:29 1519s Jan 09 01:19:29 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1519s Jan 09 01:19:29 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1522s Jan 09 01:19:32 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1523s Jan 09 01:19:33 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1523s Jan 09 01:19:33 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1523s Jan 09 01:19:33 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1523s Jan 09 01:19:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1523s Jan 09 01:19:33 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1523s Jan 09 01:19:33 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1526s Jan 09 01:19:36 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1526s Jan 09 01:19:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 1526s Jan 09 01:19:36 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1526s Jan 09 01:19:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1526s Jan 09 01:19:36 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1526s Jan 09 01:19:36 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1526s Jan 09 01:19:36 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1530s Jan 09 01:19:40 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1530s Jan 09 01:19:40 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1530s Jan 09 01:19:40 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1530s Jan 09 01:19:40 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1530s Jan 09 01:19:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1530s Jan 09 01:19:40 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1530s Jan 09 01:19:40 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1530s Jan 09 01:19:40 1530s Jan 09 01:19:40 Scenario: check switchover # features/standby_cluster.feature:57 1530s Jan 09 01:19:40 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1535s Jan 09 01:19: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 1535s Jan 09 01:19:45 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1537s Jan 09 01:19:47 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 1537s Jan 09 01:19:47 1537s Jan 09 01:19:47 Scenario: check failover # features/standby_cluster.feature:63 1537s Jan 09 01:19:47 When I kill postgres2 # features/steps/basic_replication.py:34 1538s Jan 09 01:19:48 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1538s Jan 09 01:19:48 waiting for server to shut down.... done 1538s Jan 09 01:19:48 server stopped 1538s Jan 09 01:19:48 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1557s Jan 09 01:20:07 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1557s Jan 09 01:20:07 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1557s Jan 09 01:20:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 1557s Jan 09 01:20:07 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1557s Jan 09 01:20:07 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1558s Jan 09 01:20:08 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 1562s Jan 09 01:20:12 1562s Jan 09 01:20:12 Feature: watchdog # features/watchdog.feature:1 1562s Jan 09 01:20:12 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1562s Jan 09 01:20:12 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1562s Jan 09 01:20:12 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1566s Jan 09 01:20:16 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1566s Jan 09 01:20:16 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1566s Jan 09 01:20:16 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1567s Jan 09 01:20:17 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1567s Jan 09 01:20:17 1567s Jan 09 01:20:17 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1567s Jan 09 01:20:17 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1569s Jan 09 01:20:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1569s Jan 09 01:20:19 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1569s Jan 09 01:20:19 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1573s Jan 09 01:20:23 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1573s Jan 09 01:20:23 1573s Jan 09 01:20:23 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1573s Jan 09 01:20:23 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1575s Jan 09 01:20:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1575s Jan 09 01:20:25 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1577s Jan 09 01:20:27 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1577s Jan 09 01:20:27 1577s Jan 09 01:20:27 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1577s Jan 09 01:20:27 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1577s Jan 09 01:20:27 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1579s Jan 09 01:20:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1579s Jan 09 01:20:29 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1580s Jan 09 01:20:30 1580s Jan 09 01:20:30 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1580s Jan 09 01:20:30 Given I shut down postgres0 # features/steps/basic_replication.py:29 1582s Jan 09 01:20:32 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1582s Jan 09 01:20:32 1582s Jan 09 01:20:32 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1582s Jan 09 01:20:32 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1582s Jan 09 01:20:32 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1585s Jan 09 01:20:35 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1587s Jan 09 01:20:37 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1587s Jan 09 01:20:37 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1614s Jan 09 01:21:04 1615s 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'))") 1615s 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'))") 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5204.XWVuSjdx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5248.XLWnSzDx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5297.XrEvlcBx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5346.XQQXmlXx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5393.XBpkXdLx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5464.XiJTnyWx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5513.XyhTvFTx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5516.XSpXWNax 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5592.XczBnlgx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5696.XaHykjVx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5706.XutackIx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5749.XnXpPVAx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5798.XtElLuGx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5909.XBgBQtTx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.5954.XeommeJx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.6009.XPOKsiQx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.6100.XsBFusSx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.6419.XFPPJaGx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.6498.XPzCHvgx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.6553.XigJoxSx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.6798.XAyrSkAx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.6851.XnbcTlRx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.6913.XNjDseQx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7007.XgGxGDxx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7103.XboMArax 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7146.XzKVoPtx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7211.XsiWBURx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7246.XHsHqLlx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7371.XYKTcSFx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7420.XdjNhcLx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7435.XXBtdIZx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7474.XKgLJAXx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7523.XFNXjqmx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7528.XnHSURMx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7566.XvfJTCax 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7610.XxGHTyBx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7776.XLbIWdEx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7778.XfAnMtux 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7783.XCMFImHx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7919.XPoPVhAx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.7965.XBOjLazx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8013.XQOYQbax 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8058.XYVPMTAx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8112.XRGXERyx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8258.XPaPqxjx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8322.Xrmhlxsx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8359.XMDiPUpx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8437.XHwqHSfx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8509.XbGRQJax 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8591.XZgJhoUx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8919.XAvkfHbx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.8962.XulyOECx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9103.XsAVAJQx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9165.XiDBzZOx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9227.XvpXSUDx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9330.XdEFcQhx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9445.XtFRavbx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9580.XfxpGxZx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9623.XgHWUyJx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9625.XMLzePvx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9628.XKWUCvdx 1616s Jan 09 01:21:06 Combined data file .coverage.autopkgtest.9640.XFpNAOBx 1619s Jan 09 01:21:09 Name Stmts Miss Cover 1619s Jan 09 01:21:09 ------------------------------------------------------------------------------------------------------------- 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/REThread.py 28 20 29% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/__init__.py 9 2 78% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/crashdb.py 357 305 15% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/fileutils.py 396 326 18% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/hookutils.py 580 503 13% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/logging.py 31 22 29% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/packaging.py 90 54 40% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/packaging_impl/__init__.py 17 3 82% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/packaging_impl/apt_dpkg.py 1068 948 11% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/report.py 1053 944 10% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/ui.py 995 876 12% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport/user_group.py 18 7 61% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apport_python_hook.py 119 96 19% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apt/__init__.py 14 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apt/cache.py 475 369 22% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apt/cdrom.py 32 22 31% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apt/package.py 728 498 32% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apt/progress/__init__.py 3 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apt/progress/base.py 139 92 34% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/apt/progress/text.py 155 123 21% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/aptsources/__init__.py 4 1 75% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/aptsources/_deb822.py 75 46 39% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/aptsources/distinfo.py 256 217 15% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/aptsources/sourceslist.py 639 494 23% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/api.py 780 281 64% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 77 88% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/ha.py 1270 322 75% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 173 79% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 214 74% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 35 90% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 18 86% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/utils.py 370 119 68% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/problem_report.py 505 429 15% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1619s Jan 09 01:21:09 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1619s Jan 09 01:21:09 patroni/__init__.py 13 2 85% 1619s Jan 09 01:21:09 patroni/__main__.py 199 199 0% 1619s Jan 09 01:21:09 patroni/api.py 780 780 0% 1619s Jan 09 01:21:09 patroni/async_executor.py 96 69 28% 1619s Jan 09 01:21:09 patroni/collections.py 56 15 73% 1619s Jan 09 01:21:09 patroni/config.py 371 196 47% 1619s Jan 09 01:21:09 patroni/config_generator.py 212 212 0% 1619s Jan 09 01:21:09 patroni/ctl.py 936 411 56% 1619s Jan 09 01:21:09 patroni/daemon.py 76 76 0% 1619s Jan 09 01:21:09 patroni/dcs/__init__.py 654 275 58% 1619s Jan 09 01:21:09 patroni/dcs/consul.py 484 484 0% 1619s Jan 09 01:21:09 patroni/dcs/etcd3.py 679 679 0% 1619s Jan 09 01:21:09 patroni/dcs/etcd.py 603 224 63% 1619s Jan 09 01:21:09 patroni/dcs/exhibitor.py 62 62 0% 1619s Jan 09 01:21:09 patroni/dcs/kubernetes.py 940 940 0% 1619s Jan 09 01:21:09 patroni/dcs/raft.py 319 319 0% 1619s Jan 09 01:21:09 patroni/dcs/zookeeper.py 289 289 0% 1619s Jan 09 01:21:09 patroni/dynamic_loader.py 35 7 80% 1619s Jan 09 01:21:09 patroni/exceptions.py 16 1 94% 1619s Jan 09 01:21:09 patroni/file_perm.py 43 15 65% 1619s Jan 09 01:21:09 patroni/global_config.py 81 18 78% 1619s Jan 09 01:21:09 patroni/ha.py 1270 1270 0% 1619s Jan 09 01:21:09 patroni/log.py 221 175 21% 1619s Jan 09 01:21:09 patroni/postgresql/__init__.py 822 652 21% 1619s Jan 09 01:21:09 patroni/postgresql/available_parameters/__init__.py 24 6 75% 1619s Jan 09 01:21:09 patroni/postgresql/bootstrap.py 255 225 12% 1619s Jan 09 01:21:09 patroni/postgresql/callback_executor.py 55 34 38% 1619s Jan 09 01:21:09 patroni/postgresql/cancellable.py 104 84 19% 1619s Jan 09 01:21:09 patroni/postgresql/config.py 838 718 14% 1619s Jan 09 01:21:09 patroni/postgresql/connection.py 75 50 33% 1619s Jan 09 01:21:09 patroni/postgresql/misc.py 43 30 30% 1619s Jan 09 01:21:09 patroni/postgresql/mpp/__init__.py 89 21 76% 1619s Jan 09 01:21:09 patroni/postgresql/mpp/citus.py 259 259 0% 1619s Jan 09 01:21:09 patroni/postgresql/postmaster.py 170 139 18% 1619s Jan 09 01:21:09 patroni/postgresql/rewind.py 416 416 0% 1619s Jan 09 01:21:09 patroni/postgresql/slots.py 349 300 14% 1619s Jan 09 01:21:09 patroni/postgresql/sync.py 130 96 26% 1619s Jan 09 01:21:09 patroni/postgresql/validator.py 157 52 67% 1619s Jan 09 01:21:09 patroni/psycopg.py 46 32 30% 1619s Jan 09 01:21:09 patroni/raft_controller.py 22 22 0% 1619s Jan 09 01:21:09 patroni/request.py 58 6 90% 1619s Jan 09 01:21:09 patroni/scripts/__init__.py 0 0 100% 1619s Jan 09 01:21:09 patroni/scripts/aws.py 59 59 0% 1619s Jan 09 01:21:09 patroni/scripts/barman/__init__.py 0 0 100% 1619s Jan 09 01:21:09 patroni/scripts/barman/cli.py 51 51 0% 1619s Jan 09 01:21:09 patroni/scripts/barman/config_switch.py 51 51 0% 1619s Jan 09 01:21:09 patroni/scripts/barman/recover.py 37 37 0% 1619s Jan 09 01:21:09 patroni/scripts/barman/utils.py 94 94 0% 1619s Jan 09 01:21:09 patroni/scripts/wale_restore.py 207 207 0% 1619s Jan 09 01:21:09 patroni/tags.py 38 11 71% 1619s Jan 09 01:21:09 patroni/utils.py 370 214 42% 1619s Jan 09 01:21:09 patroni/validator.py 307 221 28% 1619s Jan 09 01:21:09 patroni/version.py 1 0 100% 1619s Jan 09 01:21:09 patroni/watchdog/__init__.py 2 2 0% 1619s Jan 09 01:21:09 patroni/watchdog/base.py 203 203 0% 1619s Jan 09 01:21:09 patroni/watchdog/linux.py 135 135 0% 1619s Jan 09 01:21:09 ------------------------------------------------------------------------------------------------------------- 1619s Jan 09 01:21:09 TOTAL 60355 38194 37% 1619s Jan 09 01:21:09 12 features passed, 0 failed, 1 skipped 1619s Jan 09 01:21:09 55 scenarios passed, 0 failed, 5 skipped 1619s Jan 09 01:21:09 527 steps passed, 0 failed, 61 skipped, 0 undefined 1619s Jan 09 01:21:09 Took 9m0.220s 1619s + echo '### End 16 acceptance-etcd ###' 1619s + rm -f '/tmp/pgpass?' 1619s ### End 16 acceptance-etcd ### 1619s ++ id -u 1619s + '[' 0 -eq 0 ']' 1619s + '[' -x /etc/init.d/zookeeper ']' 1620s autopkgtest [01:21:10]: test acceptance-etcd: -----------------------] 1620s acceptance-etcd PASS 1620s autopkgtest [01:21:10]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1621s autopkgtest [01:21:11]: test acceptance-zookeeper: preparing testbed 1728s autopkgtest [01:22:58]: testbed dpkg architecture: arm64 1728s autopkgtest [01:22:58]: testbed apt version: 2.9.18 1728s autopkgtest [01:22:58]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1729s autopkgtest [01:22:59]: testbed release detected to be: plucky 1729s autopkgtest [01:22:59]: updating testbed package index (apt update) 1730s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1730s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1730s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1730s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1730s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 1730s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [18.2 kB] 1730s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [802 kB] 1730s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [128 kB] 1730s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [234 kB] 1730s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 1730s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [983 kB] 1730s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [22.9 kB] 1731s Fetched 2328 kB in 1s (2344 kB/s) 1732s Reading package lists... 1732s Reading package lists... 1732s Building dependency tree... 1732s Reading state information... 1733s Calculating upgrade... 1733s The following packages will be upgraded: 1733s libgpgme11t64 python3-oauthlib 1734s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1734s Need to get 232 kB of archives. 1734s After this operation, 0 B of additional disk space will be used. 1734s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgpgme11t64 arm64 1.24.1-2ubuntu1 [142 kB] 1734s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oauthlib all 3.2.2-3 [89.9 kB] 1734s Fetched 232 kB in 0s (560 kB/s) 1735s (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 ... 80185 files and directories currently installed.) 1735s Preparing to unpack .../libgpgme11t64_1.24.1-2ubuntu1_arm64.deb ... 1735s Unpacking libgpgme11t64:arm64 (1.24.1-2ubuntu1) over (1.24.0-2ubuntu1) ... 1735s Preparing to unpack .../python3-oauthlib_3.2.2-3_all.deb ... 1735s Unpacking python3-oauthlib (3.2.2-3) over (3.2.2-2) ... 1735s Setting up python3-oauthlib (3.2.2-3) ... 1735s Setting up libgpgme11t64:arm64 (1.24.1-2ubuntu1) ... 1735s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1735s Reading package lists... 1736s Building dependency tree... 1736s Reading state information... 1736s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1736s autopkgtest [01:23:06]: upgrading testbed (apt dist-upgrade and autopurge) 1737s Reading package lists... 1737s Building dependency tree... 1737s Reading state information... 1737s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1738s Starting 2 pkgProblemResolver with broken count: 0 1738s Done 1738s Entering ResolveByKeep 1739s 1739s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1739s Reading package lists... 1740s Building dependency tree... 1740s Reading state information... 1740s Starting pkgProblemResolver with broken count: 0 1740s Starting 2 pkgProblemResolver with broken count: 0 1740s Done 1741s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1744s Reading package lists... 1744s Building dependency tree... 1744s Reading state information... 1744s Starting pkgProblemResolver with broken count: 0 1745s Starting 2 pkgProblemResolver with broken count: 0 1745s Done 1745s The following NEW packages will be installed: 1745s adwaita-icon-theme at-spi2-common ca-certificates-java 1745s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1745s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1745s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1745s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1745s libapr1t64 libasm-java libasound2-data libasound2t64 1745s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1745s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1745s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1745s libcommons-io-java libcommons-logging-java libcommons-parent-java 1745s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-radeon1 1745s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1745s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1745s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1745s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1745s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1745s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1745s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1745s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1745s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1745s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1745s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1745s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1745s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 1745s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1745s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1745s libpython3.13-minimal libpython3.13-stdlib libservlet-api-java libsharpyuv0 1745s libslf4j-java libsnappy-java libsnappy-jni libsnappy1v5 libspring-beans-java 1745s libspring-core-java libtaglibs-standard-impl-java 1745s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 1745s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 1745s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 1745s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 1745s libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 1745s libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 1745s libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 libxshmfence1 1745s libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java mesa-libgallium moreutils 1745s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 1745s postgresql-16 postgresql-client-16 postgresql-client-common 1745s postgresql-common python3-behave python3-cdiff python3-click 1745s python3-colorama python3-coverage python3-dateutil python3-dnspython 1745s python3-eventlet python3-gevent python3-greenlet python3-kazoo 1745s python3-kerberos python3-parse python3-parse-type python3-prettytable 1745s python3-psutil python3-psycopg2 python3-pure-sasl python3-six 1745s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 1745s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert ubuntu-mono 1745s x11-common zookeeper zookeeperd 1746s 0 upgraded, 198 newly installed, 0 to remove and 0 not upgraded. 1746s Need to get 136 MB of archives. 1746s After this operation, 494 MB of additional disk space will be used. 1746s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 1746s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1746s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 1746s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 1746s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 1746s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-2 [879 kB] 1746s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-2 [2262 kB] 1746s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 ca-certificates-java all 20240118 [11.6 kB] 1746s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 java-common all 0.76 [6852 B] 1746s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 liblcms2-2 arm64 2.16-2 [170 kB] 1746s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-3ubuntu2 [165 kB] 1746s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 1746s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcsclite1 arm64 2.3.0-3 [24.8 kB] 1746s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre-headless arm64 21.0.5+11-1 [45.7 MB] 1747s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre-headless arm64 2:1.21-76 [3176 B] 1747s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 1747s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.22-1 [46.2 kB] 1747s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 1747s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-5ubuntu1 [167 kB] 1747s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.4.0-0.1 [16.3 kB] 1747s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.4.0-0.1 [192 kB] 1747s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 1747s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.12+dfsg-1 [145 kB] 1747s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 gtk-update-icon-cache arm64 4.17.1+ds-2 [52.2 kB] 1747s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 hicolor-icon-theme all 0.18-1 [13.5 kB] 1747s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 humanity-icon-theme all 0.6.16 [1282 kB] 1747s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 1747s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 adwaita-icon-theme all 47.0-2 [525 kB] 1747s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 at-spi2-common all 2.54.0-1 [8774 B] 1747s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk1.0-0t64 arm64 2.54.0-1 [55.0 kB] 1747s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 libxi6 arm64 2:1.8.2-1 [32.4 kB] 1747s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libatspi2.0-0t64 arm64 2.54.0-1 [80.2 kB] 1747s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk-bridge2.0-0t64 arm64 2.54.0-1 [66.6 kB] 1747s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 1747s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 1747s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-1.1ubuntu2 [37.4 kB] 1747s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-1.1ubuntu2 [142 kB] 1747s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 1747s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 1747s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 1747s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 1747s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.2-2 [560 kB] 1748s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo-gobject2 arm64 1.18.2-2 [127 kB] 1748s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 libcolord2 arm64 1.4.7-1build2 [149 kB] 1748s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common-data arm64 0.8-14ubuntu1 [30.5 kB] 1748s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common3 arm64 0.8-14ubuntu1 [23.1 kB] 1748s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-client3 arm64 0.8-14ubuntu1 [27.3 kB] 1748s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libcups2t64 arm64 2.4.11-0ubuntu2 [274 kB] 1748s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libepoxy0 arm64 1.5.10-2 [236 kB] 1748s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 1748s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 10.1.0-1 [489 kB] 1748s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-1.1ubuntu2 [190 kB] 1748s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 1748s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 1748s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 1748s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.55.0+ds-3 [237 kB] 1748s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.55.0+ds-3 [48.9 kB] 1748s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.55.0+ds-3 [27.5 kB] 1748s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-client0 arm64 1.23.0-1 [26.7 kB] 1748s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-cursor0 arm64 1.23.0-1 [10.6 kB] 1748s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-egl1 arm64 1.23.0-1 [5636 B] 1748s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcomposite1 arm64 1:0.4.6-1 [6626 B] 1748s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 1748s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcursor1 arm64 1:1.2.2-1 [21.2 kB] 1748s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 libxdamage1 arm64 1:1.1.6-1build1 [6236 B] 1748s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 libxinerama1 arm64 2:1.1.4-3build1 [6394 B] 1748s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 1748s Get:68 http://ftpmaster.internal/ubuntu plucky/main arm64 libdconf1 arm64 0.40.0-4build2 [39.8 kB] 1748s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-service arm64 0.40.0-4build2 [26.9 kB] 1748s Get:70 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-gsettings-backend arm64 0.40.0-4build2 [22.0 kB] 1748s Get:71 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-common all 3.24.43-4ubuntu1 [1203 kB] 1748s Get:72 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-0t64 arm64 3.24.43-4ubuntu1 [2904 kB] 1748s Get:73 http://ftpmaster.internal/ubuntu plucky/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 1748s Get:74 http://ftpmaster.internal/ubuntu plucky/main arm64 libglapi-mesa arm64 24.2.8-1ubuntu1 [60.0 kB] 1748s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 libx11-xcb1 arm64 2:1.8.10-2 [8020 B] 1748s Get:76 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri2-0 arm64 1.17.0-2 [7418 B] 1748s Get:77 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 1748s Get:78 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 1748s Get:79 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 1748s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 1748s Get:81 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 1748s Get:82 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 1748s Get:83 http://ftpmaster.internal/ubuntu plucky/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 1748s Get:84 http://ftpmaster.internal/ubuntu plucky/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 1748s Get:85 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-radeon1 arm64 2.4.123-1 [20.8 kB] 1748s Get:86 http://ftpmaster.internal/ubuntu plucky/main arm64 mesa-libgallium arm64 24.2.8-1ubuntu1 [9039 kB] 1748s Get:87 http://ftpmaster.internal/ubuntu plucky/main arm64 libvulkan1 arm64 1.3.296.0-1 [153 kB] 1748s Get:88 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-server0 arm64 1.23.0-1 [35.7 kB] 1748s Get:89 http://ftpmaster.internal/ubuntu plucky/main arm64 libgbm1 arm64 24.2.8-1ubuntu1 [32.9 kB] 1748s Get:90 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1-mesa-dri arm64 24.2.8-1ubuntu1 [33.5 kB] 1748s Get:91 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx-mesa0 arm64 24.2.8-1ubuntu1 [164 kB] 1748s Get:92 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 1748s Get:93 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 1748s Get:94 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2-data all 1.2.12-1 [21.0 kB] 1748s Get:95 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2t64 arm64 1.2.12-1 [384 kB] 1748s Get:96 http://ftpmaster.internal/ubuntu plucky/main arm64 libgif7 arm64 5.2.2-1ubuntu1 [35.5 kB] 1748s Get:97 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1748s Get:98 http://ftpmaster.internal/ubuntu plucky/main arm64 libxtst6 arm64 2:1.2.3-1.1build1 [13.0 kB] 1748s Get:99 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre arm64 21.0.5+11-1 [221 kB] 1748s Get:100 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre arm64 2:1.21-76 [918 B] 1748s Get:101 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhamcrest-java all 2.2-2 [117 kB] 1748s Get:102 http://ftpmaster.internal/ubuntu plucky/universe arm64 junit4 all 4.13.2-5 [348 kB] 1749s Get:103 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 1749s Get:104 http://ftpmaster.internal/ubuntu plucky/universe arm64 libapache-pom-java all 33-2 [5874 B] 1749s Get:105 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-parent-java all 56-1 [10.7 kB] 1749s Get:106 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-io-java all 2.17.0-1 [457 kB] 1749s Get:107 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1749s Get:108 http://ftpmaster.internal/ubuntu plucky/universe arm64 libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1749s Get:109 http://ftpmaster.internal/ubuntu plucky/universe arm64 libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 1749s Get:110 http://ftpmaster.internal/ubuntu plucky/universe arm64 liberror-prone-java all 2.18.0-1 [22.5 kB] 1749s Get:111 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 1749s Get:112 http://ftpmaster.internal/ubuntu plucky/universe arm64 libguava-java all 32.0.1-1 [2692 kB] 1749s Get:113 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1749s Get:114 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-core-java all 2.14.1-1 [432 kB] 1749s Get:115 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 1749s Get:116 http://ftpmaster.internal/ubuntu plucky/universe arm64 libasm-java all 9.7.1-1 [388 kB] 1749s Get:117 http://ftpmaster.internal/ubuntu plucky/universe arm64 libel-api-java all 3.0.0-3 [64.9 kB] 1749s Get:118 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsp-api-java all 2.3.4-3 [53.7 kB] 1749s Get:119 http://ftpmaster.internal/ubuntu plucky/universe arm64 libservlet-api-java all 4.0.1-2 [81.0 kB] 1749s Get:120 http://ftpmaster.internal/ubuntu plucky/universe arm64 libwebsocket-api-java all 1.1-2 [40.1 kB] 1749s Get:121 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-java all 9.4.56-1 [2790 kB] 1749s Get:122 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-constants-java all 0.10.4-2 [1397 kB] 1749s Get:123 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-jni arm64 1.3.13+ds-1 [29.8 kB] 1749s Get:124 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-java all 1.3.13+ds-1 [112 kB] 1749s Get:125 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 1749s Get:126 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-ffi-java all 2.2.15-2 [627 kB] 1749s Get:127 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1749s Get:128 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-posix-java all 3.1.18-1 [267 kB] 1749s Get:129 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1749s Get:130 http://ftpmaster.internal/ubuntu plucky/universe arm64 libactivation-java all 1.2.0-2 [84.7 kB] 1749s Get:131 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmail-java all 1.6.5-3 [681 kB] 1749s Get:132 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1749s Get:133 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjaxb-api-java all 2.3.1-1 [119 kB] 1749s Get:134 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-core-java all 4.3.30-2ubuntu1 [1015 kB] 1749s Get:135 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-beans-java all 4.3.30-2ubuntu1 [677 kB] 1749s Get:136 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1749s Get:137 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1749s Get:138 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1749s Get:139 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1750s Get:140 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1750s Get:141 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-extra-java all 9.4.56-1 [1199 kB] 1750s Get:142 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjctools-java all 2.0.2-1 [188 kB] 1750s Get:143 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-java all 1:4.1.48-10 [3628 kB] 1750s Get:144 http://ftpmaster.internal/ubuntu plucky/universe arm64 libslf4j-java all 1.7.32-1 [141 kB] 1750s Get:145 http://ftpmaster.internal/ubuntu plucky/main arm64 libsnappy1v5 arm64 1.2.1-1 [30.4 kB] 1750s Get:146 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-jni arm64 1.1.10.7-1 [6672 B] 1750s Get:147 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-java all 1.1.10.7-1 [83.6 kB] 1750s Get:148 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.5-1 [106 kB] 1750s Get:149 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-jni arm64 2.0.28-1build4 [36.8 kB] 1750s Get:150 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1750s Get:151 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblog4j1.2-java all 1.2.17-11 [439 kB] 1750s Get:152 http://ftpmaster.internal/ubuntu plucky/universe arm64 libzookeeper-java all 3.9.3-1 [1890 kB] 1750s Get:153 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeper all 3.9.3-1 [57.8 kB] 1750s Get:154 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeperd all 3.9.3-1 [6022 B] 1750s Get:155 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1750s Get:156 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.4-2.1 [100 kB] 1750s Get:157 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 1750s Get:158 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 1750s Get:159 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1750s Get:160 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1750s Get:161 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1750s Get:162 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 1750s Get:163 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 1750s Get:164 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-2 [2061 kB] 1750s Get:165 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1750s Get:166 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1750s Get:167 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 1750s Get:168 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1750s Get:169 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 1750s Get:170 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 1750s Get:171 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 1750s Get:172 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 1750s Get:173 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 1750s Get:174 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1750s Get:175 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 1750s Get:176 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 1750s Get:177 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 1750s Get:178 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.1.0-1 [173 kB] 1751s Get:179 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1751s Get:180 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-11ubuntu1 [275 kB] 1751s Get:181 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 1751s Get:182 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.2-1 [141 kB] 1751s Get:183 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.11.1-1 [1010 kB] 1751s Get:184 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build10 [21.3 kB] 1751s Get:185 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 1751s Get:186 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 1751s Get:187 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 1751s Get:188 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.4-1 [269 kB] 1751s Get:189 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 1751s Get:190 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.4-1 [508 kB] 1751s Get:191 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 1751s Get:192 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 1751s Get:193 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 1751s Get:194 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 1751s Get:195 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 1751s Get:196 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 1751s Get:197 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-2 [729 kB] 1751s Get:198 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 1752s Preconfiguring packages ... 1752s Fetched 136 MB in 6s (22.8 MB/s) 1752s Selecting previously unselected package fonts-lato. 1752s (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 ... 80185 files and directories currently installed.) 1752s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1752s Unpacking fonts-lato (2.015-1) ... 1752s Selecting previously unselected package libjson-perl. 1752s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1752s Unpacking libjson-perl (4.10000-1) ... 1752s Selecting previously unselected package postgresql-client-common. 1752s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 1752s Unpacking postgresql-client-common (262) ... 1752s Selecting previously unselected package ssl-cert. 1752s Preparing to unpack .../003-ssl-cert_1.1.3ubuntu1_all.deb ... 1752s Unpacking ssl-cert (1.1.3ubuntu1) ... 1752s Selecting previously unselected package postgresql-common. 1752s Preparing to unpack .../004-postgresql-common_262_all.deb ... 1752s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1752s Unpacking postgresql-common (262) ... 1752s Selecting previously unselected package libpython3.13-minimal:arm64. 1752s Preparing to unpack .../005-libpython3.13-minimal_3.13.1-2_arm64.deb ... 1752s Unpacking libpython3.13-minimal:arm64 (3.13.1-2) ... 1753s Selecting previously unselected package python3.13-minimal. 1753s Preparing to unpack .../006-python3.13-minimal_3.13.1-2_arm64.deb ... 1753s Unpacking python3.13-minimal (3.13.1-2) ... 1753s Selecting previously unselected package ca-certificates-java. 1753s Preparing to unpack .../007-ca-certificates-java_20240118_all.deb ... 1753s Unpacking ca-certificates-java (20240118) ... 1753s Selecting previously unselected package java-common. 1753s Preparing to unpack .../008-java-common_0.76_all.deb ... 1753s Unpacking java-common (0.76) ... 1753s Selecting previously unselected package liblcms2-2:arm64. 1753s Preparing to unpack .../009-liblcms2-2_2.16-2_arm64.deb ... 1753s Unpacking liblcms2-2:arm64 (2.16-2) ... 1753s Selecting previously unselected package libjpeg-turbo8:arm64. 1753s Preparing to unpack .../010-libjpeg-turbo8_2.1.5-3ubuntu2_arm64.deb ... 1753s Unpacking libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 1753s Selecting previously unselected package libjpeg8:arm64. 1753s Preparing to unpack .../011-libjpeg8_8c-2ubuntu11_arm64.deb ... 1753s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 1753s Selecting previously unselected package libpcsclite1:arm64. 1753s Preparing to unpack .../012-libpcsclite1_2.3.0-3_arm64.deb ... 1753s Unpacking libpcsclite1:arm64 (2.3.0-3) ... 1753s Selecting previously unselected package openjdk-21-jre-headless:arm64. 1753s Preparing to unpack .../013-openjdk-21-jre-headless_21.0.5+11-1_arm64.deb ... 1753s Unpacking openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1754s Selecting previously unselected package default-jre-headless. 1754s Preparing to unpack .../014-default-jre-headless_2%3a1.21-76_arm64.deb ... 1754s Unpacking default-jre-headless (2:1.21-76) ... 1754s Selecting previously unselected package libgdk-pixbuf2.0-common. 1754s Preparing to unpack .../015-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 1754s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1754s Selecting previously unselected package libdeflate0:arm64. 1754s Preparing to unpack .../016-libdeflate0_1.22-1_arm64.deb ... 1754s Unpacking libdeflate0:arm64 (1.22-1) ... 1754s Selecting previously unselected package libjbig0:arm64. 1754s Preparing to unpack .../017-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 1754s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 1754s Selecting previously unselected package liblerc4:arm64. 1754s Preparing to unpack .../018-liblerc4_4.0.0+ds-5ubuntu1_arm64.deb ... 1754s Unpacking liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 1754s Selecting previously unselected package libsharpyuv0:arm64. 1754s Preparing to unpack .../019-libsharpyuv0_1.4.0-0.1_arm64.deb ... 1754s Unpacking libsharpyuv0:arm64 (1.4.0-0.1) ... 1754s Selecting previously unselected package libwebp7:arm64. 1754s Preparing to unpack .../020-libwebp7_1.4.0-0.1_arm64.deb ... 1754s Unpacking libwebp7:arm64 (1.4.0-0.1) ... 1754s Selecting previously unselected package libtiff6:arm64. 1754s Preparing to unpack .../021-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 1754s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1754s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 1754s Preparing to unpack .../022-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_arm64.deb ... 1754s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1754s Selecting previously unselected package gtk-update-icon-cache. 1754s Preparing to unpack .../023-gtk-update-icon-cache_4.17.1+ds-2_arm64.deb ... 1754s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1754s 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. 1754s Unpacking gtk-update-icon-cache (4.17.1+ds-2) ... 1754s Selecting previously unselected package hicolor-icon-theme. 1754s Preparing to unpack .../024-hicolor-icon-theme_0.18-1_all.deb ... 1754s Unpacking hicolor-icon-theme (0.18-1) ... 1755s Selecting previously unselected package humanity-icon-theme. 1755s Preparing to unpack .../025-humanity-icon-theme_0.6.16_all.deb ... 1755s Unpacking humanity-icon-theme (0.6.16) ... 1755s Selecting previously unselected package ubuntu-mono. 1755s Preparing to unpack .../026-ubuntu-mono_24.04-0ubuntu1_all.deb ... 1755s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 1755s Selecting previously unselected package adwaita-icon-theme. 1755s Preparing to unpack .../027-adwaita-icon-theme_47.0-2_all.deb ... 1755s Unpacking adwaita-icon-theme (47.0-2) ... 1756s Selecting previously unselected package at-spi2-common. 1756s Preparing to unpack .../028-at-spi2-common_2.54.0-1_all.deb ... 1756s Unpacking at-spi2-common (2.54.0-1) ... 1756s Selecting previously unselected package libatk1.0-0t64:arm64. 1756s Preparing to unpack .../029-libatk1.0-0t64_2.54.0-1_arm64.deb ... 1756s Unpacking libatk1.0-0t64:arm64 (2.54.0-1) ... 1756s Selecting previously unselected package libxi6:arm64. 1756s Preparing to unpack .../030-libxi6_2%3a1.8.2-1_arm64.deb ... 1756s Unpacking libxi6:arm64 (2:1.8.2-1) ... 1756s Selecting previously unselected package libatspi2.0-0t64:arm64. 1756s Preparing to unpack .../031-libatspi2.0-0t64_2.54.0-1_arm64.deb ... 1756s Unpacking libatspi2.0-0t64:arm64 (2.54.0-1) ... 1756s Selecting previously unselected package libatk-bridge2.0-0t64:arm64. 1756s Preparing to unpack .../032-libatk-bridge2.0-0t64_2.54.0-1_arm64.deb ... 1756s Unpacking libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 1756s Selecting previously unselected package fonts-dejavu-mono. 1756s Preparing to unpack .../033-fonts-dejavu-mono_2.37-8_all.deb ... 1756s Unpacking fonts-dejavu-mono (2.37-8) ... 1756s Selecting previously unselected package fonts-dejavu-core. 1756s Preparing to unpack .../034-fonts-dejavu-core_2.37-8_all.deb ... 1756s Unpacking fonts-dejavu-core (2.37-8) ... 1756s Selecting previously unselected package fontconfig-config. 1756s Preparing to unpack .../035-fontconfig-config_2.15.0-1.1ubuntu2_arm64.deb ... 1756s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 1756s Selecting previously unselected package libfontconfig1:arm64. 1756s Preparing to unpack .../036-libfontconfig1_2.15.0-1.1ubuntu2_arm64.deb ... 1756s Unpacking libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1756s Selecting previously unselected package libpixman-1-0:arm64. 1756s Preparing to unpack .../037-libpixman-1-0_0.44.0-3_arm64.deb ... 1756s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 1756s Selecting previously unselected package libxcb-render0:arm64. 1756s Preparing to unpack .../038-libxcb-render0_1.17.0-2_arm64.deb ... 1756s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 1756s Selecting previously unselected package libxcb-shm0:arm64. 1757s Preparing to unpack .../039-libxcb-shm0_1.17.0-2_arm64.deb ... 1757s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 1757s Selecting previously unselected package libxrender1:arm64. 1757s Preparing to unpack .../040-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 1757s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 1757s Selecting previously unselected package libcairo2:arm64. 1757s Preparing to unpack .../041-libcairo2_1.18.2-2_arm64.deb ... 1757s Unpacking libcairo2:arm64 (1.18.2-2) ... 1757s Selecting previously unselected package libcairo-gobject2:arm64. 1757s Preparing to unpack .../042-libcairo-gobject2_1.18.2-2_arm64.deb ... 1757s Unpacking libcairo-gobject2:arm64 (1.18.2-2) ... 1757s Selecting previously unselected package libcolord2:arm64. 1757s Preparing to unpack .../043-libcolord2_1.4.7-1build2_arm64.deb ... 1757s Unpacking libcolord2:arm64 (1.4.7-1build2) ... 1757s Selecting previously unselected package libavahi-common-data:arm64. 1757s Preparing to unpack .../044-libavahi-common-data_0.8-14ubuntu1_arm64.deb ... 1757s Unpacking libavahi-common-data:arm64 (0.8-14ubuntu1) ... 1757s Selecting previously unselected package libavahi-common3:arm64. 1757s Preparing to unpack .../045-libavahi-common3_0.8-14ubuntu1_arm64.deb ... 1757s Unpacking libavahi-common3:arm64 (0.8-14ubuntu1) ... 1757s Selecting previously unselected package libavahi-client3:arm64. 1757s Preparing to unpack .../046-libavahi-client3_0.8-14ubuntu1_arm64.deb ... 1757s Unpacking libavahi-client3:arm64 (0.8-14ubuntu1) ... 1757s Selecting previously unselected package libcups2t64:arm64. 1757s Preparing to unpack .../047-libcups2t64_2.4.11-0ubuntu2_arm64.deb ... 1757s Unpacking libcups2t64:arm64 (2.4.11-0ubuntu2) ... 1757s Selecting previously unselected package libepoxy0:arm64. 1757s Preparing to unpack .../048-libepoxy0_1.5.10-2_arm64.deb ... 1757s Unpacking libepoxy0:arm64 (1.5.10-2) ... 1757s Selecting previously unselected package libgraphite2-3:arm64. 1757s Preparing to unpack .../049-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 1757s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1757s Selecting previously unselected package libharfbuzz0b:arm64. 1757s Preparing to unpack .../050-libharfbuzz0b_10.1.0-1_arm64.deb ... 1757s Unpacking libharfbuzz0b:arm64 (10.1.0-1) ... 1757s Selecting previously unselected package fontconfig. 1757s Preparing to unpack .../051-fontconfig_2.15.0-1.1ubuntu2_arm64.deb ... 1757s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 1757s Selecting previously unselected package libthai-data. 1757s Preparing to unpack .../052-libthai-data_0.1.29-2build1_all.deb ... 1757s Unpacking libthai-data (0.1.29-2build1) ... 1757s Selecting previously unselected package libdatrie1:arm64. 1757s Preparing to unpack .../053-libdatrie1_0.2.13-3build1_arm64.deb ... 1757s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 1757s Selecting previously unselected package libthai0:arm64. 1757s Preparing to unpack .../054-libthai0_0.1.29-2build1_arm64.deb ... 1757s Unpacking libthai0:arm64 (0.1.29-2build1) ... 1757s Selecting previously unselected package libpango-1.0-0:arm64. 1757s Preparing to unpack .../055-libpango-1.0-0_1.55.0+ds-3_arm64.deb ... 1757s Unpacking libpango-1.0-0:arm64 (1.55.0+ds-3) ... 1757s Selecting previously unselected package libpangoft2-1.0-0:arm64. 1757s Preparing to unpack .../056-libpangoft2-1.0-0_1.55.0+ds-3_arm64.deb ... 1757s Unpacking libpangoft2-1.0-0:arm64 (1.55.0+ds-3) ... 1757s Selecting previously unselected package libpangocairo-1.0-0:arm64. 1757s Preparing to unpack .../057-libpangocairo-1.0-0_1.55.0+ds-3_arm64.deb ... 1757s Unpacking libpangocairo-1.0-0:arm64 (1.55.0+ds-3) ... 1757s Selecting previously unselected package libwayland-client0:arm64. 1758s Preparing to unpack .../058-libwayland-client0_1.23.0-1_arm64.deb ... 1758s Unpacking libwayland-client0:arm64 (1.23.0-1) ... 1758s Selecting previously unselected package libwayland-cursor0:arm64. 1758s Preparing to unpack .../059-libwayland-cursor0_1.23.0-1_arm64.deb ... 1758s Unpacking libwayland-cursor0:arm64 (1.23.0-1) ... 1758s Selecting previously unselected package libwayland-egl1:arm64. 1758s Preparing to unpack .../060-libwayland-egl1_1.23.0-1_arm64.deb ... 1758s Unpacking libwayland-egl1:arm64 (1.23.0-1) ... 1758s Selecting previously unselected package libxcomposite1:arm64. 1758s Preparing to unpack .../061-libxcomposite1_1%3a0.4.6-1_arm64.deb ... 1758s Unpacking libxcomposite1:arm64 (1:0.4.6-1) ... 1758s Selecting previously unselected package libxfixes3:arm64. 1758s Preparing to unpack .../062-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 1758s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 1758s Selecting previously unselected package libxcursor1:arm64. 1758s Preparing to unpack .../063-libxcursor1_1%3a1.2.2-1_arm64.deb ... 1758s Unpacking libxcursor1:arm64 (1:1.2.2-1) ... 1758s Selecting previously unselected package libxdamage1:arm64. 1758s Preparing to unpack .../064-libxdamage1_1%3a1.1.6-1build1_arm64.deb ... 1758s Unpacking libxdamage1:arm64 (1:1.1.6-1build1) ... 1758s Selecting previously unselected package libxinerama1:arm64. 1758s Preparing to unpack .../065-libxinerama1_2%3a1.1.4-3build1_arm64.deb ... 1758s Unpacking libxinerama1:arm64 (2:1.1.4-3build1) ... 1758s Selecting previously unselected package libxrandr2:arm64. 1758s Preparing to unpack .../066-libxrandr2_2%3a1.5.4-1_arm64.deb ... 1758s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 1758s Selecting previously unselected package libdconf1:arm64. 1758s Preparing to unpack .../067-libdconf1_0.40.0-4build2_arm64.deb ... 1758s Unpacking libdconf1:arm64 (0.40.0-4build2) ... 1758s Selecting previously unselected package dconf-service. 1758s Preparing to unpack .../068-dconf-service_0.40.0-4build2_arm64.deb ... 1758s Unpacking dconf-service (0.40.0-4build2) ... 1758s Selecting previously unselected package dconf-gsettings-backend:arm64. 1758s Preparing to unpack .../069-dconf-gsettings-backend_0.40.0-4build2_arm64.deb ... 1758s Unpacking dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1758s Selecting previously unselected package libgtk-3-common. 1758s Preparing to unpack .../070-libgtk-3-common_3.24.43-4ubuntu1_all.deb ... 1758s Unpacking libgtk-3-common (3.24.43-4ubuntu1) ... 1758s Selecting previously unselected package libgtk-3-0t64:arm64. 1758s Preparing to unpack .../071-libgtk-3-0t64_3.24.43-4ubuntu1_arm64.deb ... 1758s Unpacking libgtk-3-0t64:arm64 (3.24.43-4ubuntu1) ... 1758s Selecting previously unselected package libglvnd0:arm64. 1758s Preparing to unpack .../072-libglvnd0_1.7.0-1build1_arm64.deb ... 1758s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 1758s Selecting previously unselected package libglapi-mesa:arm64. 1758s Preparing to unpack .../073-libglapi-mesa_24.2.8-1ubuntu1_arm64.deb ... 1758s Unpacking libglapi-mesa:arm64 (24.2.8-1ubuntu1) ... 1758s Selecting previously unselected package libx11-xcb1:arm64. 1758s Preparing to unpack .../074-libx11-xcb1_2%3a1.8.10-2_arm64.deb ... 1758s Unpacking libx11-xcb1:arm64 (2:1.8.10-2) ... 1758s Selecting previously unselected package libxcb-dri2-0:arm64. 1758s Preparing to unpack .../075-libxcb-dri2-0_1.17.0-2_arm64.deb ... 1758s Unpacking libxcb-dri2-0:arm64 (1.17.0-2) ... 1758s Selecting previously unselected package libxcb-dri3-0:arm64. 1758s Preparing to unpack .../076-libxcb-dri3-0_1.17.0-2_arm64.deb ... 1758s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 1759s Selecting previously unselected package libxcb-glx0:arm64. 1759s Preparing to unpack .../077-libxcb-glx0_1.17.0-2_arm64.deb ... 1759s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 1759s Selecting previously unselected package libxcb-present0:arm64. 1759s Preparing to unpack .../078-libxcb-present0_1.17.0-2_arm64.deb ... 1759s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 1759s Selecting previously unselected package libxcb-randr0:arm64. 1759s Preparing to unpack .../079-libxcb-randr0_1.17.0-2_arm64.deb ... 1759s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 1759s Selecting previously unselected package libxcb-sync1:arm64. 1759s Preparing to unpack .../080-libxcb-sync1_1.17.0-2_arm64.deb ... 1759s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 1759s Selecting previously unselected package libxcb-xfixes0:arm64. 1759s Preparing to unpack .../081-libxcb-xfixes0_1.17.0-2_arm64.deb ... 1759s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 1759s Selecting previously unselected package libxshmfence1:arm64. 1759s Preparing to unpack .../082-libxshmfence1_1.3-1build5_arm64.deb ... 1759s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 1759s Selecting previously unselected package libxxf86vm1:arm64. 1759s Preparing to unpack .../083-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 1759s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1759s Selecting previously unselected package libdrm-radeon1:arm64. 1759s Preparing to unpack .../084-libdrm-radeon1_2.4.123-1_arm64.deb ... 1759s Unpacking libdrm-radeon1:arm64 (2.4.123-1) ... 1759s Selecting previously unselected package mesa-libgallium:arm64. 1759s Preparing to unpack .../085-mesa-libgallium_24.2.8-1ubuntu1_arm64.deb ... 1759s Unpacking mesa-libgallium:arm64 (24.2.8-1ubuntu1) ... 1759s Selecting previously unselected package libvulkan1:arm64. 1759s Preparing to unpack .../086-libvulkan1_1.3.296.0-1_arm64.deb ... 1759s Unpacking libvulkan1:arm64 (1.3.296.0-1) ... 1759s Selecting previously unselected package libwayland-server0:arm64. 1759s Preparing to unpack .../087-libwayland-server0_1.23.0-1_arm64.deb ... 1759s Unpacking libwayland-server0:arm64 (1.23.0-1) ... 1759s Selecting previously unselected package libgbm1:arm64. 1759s Preparing to unpack .../088-libgbm1_24.2.8-1ubuntu1_arm64.deb ... 1759s Unpacking libgbm1:arm64 (24.2.8-1ubuntu1) ... 1759s Selecting previously unselected package libgl1-mesa-dri:arm64. 1759s Preparing to unpack .../089-libgl1-mesa-dri_24.2.8-1ubuntu1_arm64.deb ... 1759s Unpacking libgl1-mesa-dri:arm64 (24.2.8-1ubuntu1) ... 1759s Selecting previously unselected package libglx-mesa0:arm64. 1759s Preparing to unpack .../090-libglx-mesa0_24.2.8-1ubuntu1_arm64.deb ... 1759s Unpacking libglx-mesa0:arm64 (24.2.8-1ubuntu1) ... 1759s Selecting previously unselected package libglx0:arm64. 1759s Preparing to unpack .../091-libglx0_1.7.0-1build1_arm64.deb ... 1759s Unpacking libglx0:arm64 (1.7.0-1build1) ... 1759s Selecting previously unselected package libgl1:arm64. 1759s Preparing to unpack .../092-libgl1_1.7.0-1build1_arm64.deb ... 1759s Unpacking libgl1:arm64 (1.7.0-1build1) ... 1759s Selecting previously unselected package libasound2-data. 1759s Preparing to unpack .../093-libasound2-data_1.2.12-1_all.deb ... 1759s Unpacking libasound2-data (1.2.12-1) ... 1759s Selecting previously unselected package libasound2t64:arm64. 1759s Preparing to unpack .../094-libasound2t64_1.2.12-1_arm64.deb ... 1759s Unpacking libasound2t64:arm64 (1.2.12-1) ... 1759s Selecting previously unselected package libgif7:arm64. 1759s Preparing to unpack .../095-libgif7_5.2.2-1ubuntu1_arm64.deb ... 1759s Unpacking libgif7:arm64 (5.2.2-1ubuntu1) ... 1760s Selecting previously unselected package x11-common. 1760s Preparing to unpack .../096-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1760s Unpacking x11-common (1:7.7+23ubuntu3) ... 1760s Selecting previously unselected package libxtst6:arm64. 1760s Preparing to unpack .../097-libxtst6_2%3a1.2.3-1.1build1_arm64.deb ... 1760s Unpacking libxtst6:arm64 (2:1.2.3-1.1build1) ... 1760s Selecting previously unselected package openjdk-21-jre:arm64. 1760s Preparing to unpack .../098-openjdk-21-jre_21.0.5+11-1_arm64.deb ... 1760s Unpacking openjdk-21-jre:arm64 (21.0.5+11-1) ... 1760s Selecting previously unselected package default-jre. 1760s Preparing to unpack .../099-default-jre_2%3a1.21-76_arm64.deb ... 1760s Unpacking default-jre (2:1.21-76) ... 1760s Selecting previously unselected package libhamcrest-java. 1760s Preparing to unpack .../100-libhamcrest-java_2.2-2_all.deb ... 1760s Unpacking libhamcrest-java (2.2-2) ... 1760s Selecting previously unselected package junit4. 1760s Preparing to unpack .../101-junit4_4.13.2-5_all.deb ... 1760s Unpacking junit4 (4.13.2-5) ... 1760s Selecting previously unselected package libcommons-cli-java. 1760s Preparing to unpack .../102-libcommons-cli-java_1.6.0-1_all.deb ... 1760s Unpacking libcommons-cli-java (1.6.0-1) ... 1760s Selecting previously unselected package libapache-pom-java. 1760s Preparing to unpack .../103-libapache-pom-java_33-2_all.deb ... 1760s Unpacking libapache-pom-java (33-2) ... 1760s Selecting previously unselected package libcommons-parent-java. 1760s Preparing to unpack .../104-libcommons-parent-java_56-1_all.deb ... 1760s Unpacking libcommons-parent-java (56-1) ... 1760s Selecting previously unselected package libcommons-io-java. 1760s Preparing to unpack .../105-libcommons-io-java_2.17.0-1_all.deb ... 1760s Unpacking libcommons-io-java (2.17.0-1) ... 1760s Selecting previously unselected package libdropwizard-metrics-java. 1760s Preparing to unpack .../106-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1760s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1760s Selecting previously unselected package libfindbugs-annotations-java. 1760s Preparing to unpack .../107-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1760s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1760s Selecting previously unselected package libatinject-jsr330-api-java. 1760s Preparing to unpack .../108-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 1760s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 1760s Selecting previously unselected package liberror-prone-java. 1760s Preparing to unpack .../109-liberror-prone-java_2.18.0-1_all.deb ... 1760s Unpacking liberror-prone-java (2.18.0-1) ... 1760s Selecting previously unselected package libjsr305-java. 1760s Preparing to unpack .../110-libjsr305-java_0.1~+svn49-11_all.deb ... 1760s Unpacking libjsr305-java (0.1~+svn49-11) ... 1760s Selecting previously unselected package libguava-java. 1760s Preparing to unpack .../111-libguava-java_32.0.1-1_all.deb ... 1760s Unpacking libguava-java (32.0.1-1) ... 1760s Selecting previously unselected package libjackson2-annotations-java. 1760s Preparing to unpack .../112-libjackson2-annotations-java_2.14.0-1_all.deb ... 1760s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1760s Selecting previously unselected package libjackson2-core-java. 1760s Preparing to unpack .../113-libjackson2-core-java_2.14.1-1_all.deb ... 1760s Unpacking libjackson2-core-java (2.14.1-1) ... 1760s Selecting previously unselected package libjackson2-databind-java. 1760s Preparing to unpack .../114-libjackson2-databind-java_2.14.0-1_all.deb ... 1760s Unpacking libjackson2-databind-java (2.14.0-1) ... 1760s Selecting previously unselected package libasm-java. 1760s Preparing to unpack .../115-libasm-java_9.7.1-1_all.deb ... 1760s Unpacking libasm-java (9.7.1-1) ... 1760s Selecting previously unselected package libel-api-java. 1760s Preparing to unpack .../116-libel-api-java_3.0.0-3_all.deb ... 1760s Unpacking libel-api-java (3.0.0-3) ... 1760s Selecting previously unselected package libjsp-api-java. 1760s Preparing to unpack .../117-libjsp-api-java_2.3.4-3_all.deb ... 1760s Unpacking libjsp-api-java (2.3.4-3) ... 1760s Selecting previously unselected package libservlet-api-java. 1760s Preparing to unpack .../118-libservlet-api-java_4.0.1-2_all.deb ... 1760s Unpacking libservlet-api-java (4.0.1-2) ... 1761s Selecting previously unselected package libwebsocket-api-java. 1761s Preparing to unpack .../119-libwebsocket-api-java_1.1-2_all.deb ... 1761s Unpacking libwebsocket-api-java (1.1-2) ... 1761s Selecting previously unselected package libjetty9-java. 1761s Preparing to unpack .../120-libjetty9-java_9.4.56-1_all.deb ... 1761s Unpacking libjetty9-java (9.4.56-1) ... 1761s Selecting previously unselected package libjnr-constants-java. 1761s Preparing to unpack .../121-libjnr-constants-java_0.10.4-2_all.deb ... 1761s Unpacking libjnr-constants-java (0.10.4-2) ... 1761s Selecting previously unselected package libjffi-jni:arm64. 1761s Preparing to unpack .../122-libjffi-jni_1.3.13+ds-1_arm64.deb ... 1761s Unpacking libjffi-jni:arm64 (1.3.13+ds-1) ... 1761s Selecting previously unselected package libjffi-java. 1761s Preparing to unpack .../123-libjffi-java_1.3.13+ds-1_all.deb ... 1761s Unpacking libjffi-java (1.3.13+ds-1) ... 1761s Selecting previously unselected package libjnr-x86asm-java. 1761s Preparing to unpack .../124-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 1761s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 1761s Selecting previously unselected package libjnr-ffi-java. 1761s Preparing to unpack .../125-libjnr-ffi-java_2.2.15-2_all.deb ... 1761s Unpacking libjnr-ffi-java (2.2.15-2) ... 1761s Selecting previously unselected package libjnr-enxio-java. 1761s Preparing to unpack .../126-libjnr-enxio-java_0.32.16-1_all.deb ... 1761s Unpacking libjnr-enxio-java (0.32.16-1) ... 1761s Selecting previously unselected package libjnr-posix-java. 1761s Preparing to unpack .../127-libjnr-posix-java_3.1.18-1_all.deb ... 1761s Unpacking libjnr-posix-java (3.1.18-1) ... 1761s Selecting previously unselected package libjnr-unixsocket-java. 1761s Preparing to unpack .../128-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1761s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1761s Selecting previously unselected package libactivation-java. 1761s Preparing to unpack .../129-libactivation-java_1.2.0-2_all.deb ... 1761s Unpacking libactivation-java (1.2.0-2) ... 1761s Selecting previously unselected package libmail-java. 1761s Preparing to unpack .../130-libmail-java_1.6.5-3_all.deb ... 1761s Unpacking libmail-java (1.6.5-3) ... 1761s Selecting previously unselected package libcommons-logging-java. 1761s Preparing to unpack .../131-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1761s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1761s Selecting previously unselected package libjaxb-api-java. 1761s Preparing to unpack .../132-libjaxb-api-java_2.3.1-1_all.deb ... 1761s Unpacking libjaxb-api-java (2.3.1-1) ... 1761s Selecting previously unselected package libspring-core-java. 1761s Preparing to unpack .../133-libspring-core-java_4.3.30-2ubuntu1_all.deb ... 1761s Unpacking libspring-core-java (4.3.30-2ubuntu1) ... 1761s Selecting previously unselected package libspring-beans-java. 1761s Preparing to unpack .../134-libspring-beans-java_4.3.30-2ubuntu1_all.deb ... 1761s Unpacking libspring-beans-java (4.3.30-2ubuntu1) ... 1761s Selecting previously unselected package libtaglibs-standard-spec-java. 1761s Preparing to unpack .../135-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1761s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1761s Selecting previously unselected package libtaglibs-standard-impl-java. 1761s Preparing to unpack .../136-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1761s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1761s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1761s Preparing to unpack .../137-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1761s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1761s Selecting previously unselected package libeclipse-jdt-core-java. 1761s Preparing to unpack .../138-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1761s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1761s Selecting previously unselected package libtomcat9-java. 1761s Preparing to unpack .../139-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1761s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1762s Selecting previously unselected package libjetty9-extra-java. 1762s Preparing to unpack .../140-libjetty9-extra-java_9.4.56-1_all.deb ... 1762s Unpacking libjetty9-extra-java (9.4.56-1) ... 1762s Selecting previously unselected package libjctools-java. 1762s Preparing to unpack .../141-libjctools-java_2.0.2-1_all.deb ... 1762s Unpacking libjctools-java (2.0.2-1) ... 1762s Selecting previously unselected package libnetty-java. 1762s Preparing to unpack .../142-libnetty-java_1%3a4.1.48-10_all.deb ... 1762s Unpacking libnetty-java (1:4.1.48-10) ... 1762s Selecting previously unselected package libslf4j-java. 1762s Preparing to unpack .../143-libslf4j-java_1.7.32-1_all.deb ... 1762s Unpacking libslf4j-java (1.7.32-1) ... 1762s Selecting previously unselected package libsnappy1v5:arm64. 1762s Preparing to unpack .../144-libsnappy1v5_1.2.1-1_arm64.deb ... 1762s Unpacking libsnappy1v5:arm64 (1.2.1-1) ... 1762s Selecting previously unselected package libsnappy-jni. 1762s Preparing to unpack .../145-libsnappy-jni_1.1.10.7-1_arm64.deb ... 1762s Unpacking libsnappy-jni (1.1.10.7-1) ... 1762s Selecting previously unselected package libsnappy-java. 1762s Preparing to unpack .../146-libsnappy-java_1.1.10.7-1_all.deb ... 1762s Unpacking libsnappy-java (1.1.10.7-1) ... 1762s Selecting previously unselected package libapr1t64:arm64. 1762s Preparing to unpack .../147-libapr1t64_1.7.5-1_arm64.deb ... 1762s Unpacking libapr1t64:arm64 (1.7.5-1) ... 1762s Selecting previously unselected package libnetty-tcnative-jni. 1762s Preparing to unpack .../148-libnetty-tcnative-jni_2.0.28-1build4_arm64.deb ... 1762s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1762s Selecting previously unselected package libnetty-tcnative-java. 1762s Preparing to unpack .../149-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1762s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1762s Selecting previously unselected package liblog4j1.2-java. 1762s Preparing to unpack .../150-liblog4j1.2-java_1.2.17-11_all.deb ... 1762s Unpacking liblog4j1.2-java (1.2.17-11) ... 1762s Selecting previously unselected package libzookeeper-java. 1762s Preparing to unpack .../151-libzookeeper-java_3.9.3-1_all.deb ... 1762s Unpacking libzookeeper-java (3.9.3-1) ... 1762s Selecting previously unselected package zookeeper. 1762s Preparing to unpack .../152-zookeeper_3.9.3-1_all.deb ... 1762s Unpacking zookeeper (3.9.3-1) ... 1762s Selecting previously unselected package zookeeperd. 1762s Preparing to unpack .../153-zookeeperd_3.9.3-1_all.deb ... 1762s Unpacking zookeeperd (3.9.3-1) ... 1762s Selecting previously unselected package fonts-font-awesome. 1762s Preparing to unpack .../154-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1762s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1762s Selecting previously unselected package libcares2:arm64. 1762s Preparing to unpack .../155-libcares2_1.34.4-2.1_arm64.deb ... 1762s Unpacking libcares2:arm64 (1.34.4-2.1) ... 1762s Selecting previously unselected package libev4t64:arm64. 1762s Preparing to unpack .../156-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 1762s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 1762s Selecting previously unselected package libio-pty-perl. 1762s Preparing to unpack .../157-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 1762s Unpacking libio-pty-perl (1:1.20-1build3) ... 1762s Selecting previously unselected package libipc-run-perl. 1762s Preparing to unpack .../158-libipc-run-perl_20231003.0-2_all.deb ... 1762s Unpacking libipc-run-perl (20231003.0-2) ... 1762s Selecting previously unselected package libjs-jquery. 1762s Preparing to unpack .../159-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1762s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1762s Selecting previously unselected package libjs-underscore. 1763s Preparing to unpack .../160-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1763s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1763s Selecting previously unselected package libjs-sphinxdoc. 1763s Preparing to unpack .../161-libjs-sphinxdoc_8.1.3-4_all.deb ... 1763s Unpacking libjs-sphinxdoc (8.1.3-4) ... 1763s Selecting previously unselected package libpq5:arm64. 1763s Preparing to unpack .../162-libpq5_17.2-1_arm64.deb ... 1763s Unpacking libpq5:arm64 (17.2-1) ... 1763s Selecting previously unselected package libpython3.13-stdlib:arm64. 1763s Preparing to unpack .../163-libpython3.13-stdlib_3.13.1-2_arm64.deb ... 1763s Unpacking libpython3.13-stdlib:arm64 (3.13.1-2) ... 1763s Selecting previously unselected package libtime-duration-perl. 1763s Preparing to unpack .../164-libtime-duration-perl_1.21-2_all.deb ... 1763s Unpacking libtime-duration-perl (1.21-2) ... 1763s Selecting previously unselected package libtimedate-perl. 1763s Preparing to unpack .../165-libtimedate-perl_2.3300-2_all.deb ... 1763s Unpacking libtimedate-perl (2.3300-2) ... 1763s Selecting previously unselected package libxslt1.1:arm64. 1763s Preparing to unpack .../166-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 1763s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 1763s Selecting previously unselected package moreutils. 1763s Preparing to unpack .../167-moreutils_0.69-1_arm64.deb ... 1763s Unpacking moreutils (0.69-1) ... 1763s Selecting previously unselected package python3-ydiff. 1763s Preparing to unpack .../168-python3-ydiff_1.4.2-1_all.deb ... 1763s Unpacking python3-ydiff (1.4.2-1) ... 1763s Selecting previously unselected package python3-cdiff. 1763s Preparing to unpack .../169-python3-cdiff_1.4.2-1_all.deb ... 1763s Unpacking python3-cdiff (1.4.2-1) ... 1763s Selecting previously unselected package python3-colorama. 1763s Preparing to unpack .../170-python3-colorama_0.4.6-4_all.deb ... 1763s Unpacking python3-colorama (0.4.6-4) ... 1763s Selecting previously unselected package python3-click. 1763s Preparing to unpack .../171-python3-click_8.1.7-2_all.deb ... 1763s Unpacking python3-click (8.1.7-2) ... 1763s Selecting previously unselected package python3-dateutil. 1763s Preparing to unpack .../172-python3-dateutil_2.9.0-3_all.deb ... 1763s Unpacking python3-dateutil (2.9.0-3) ... 1763s Selecting previously unselected package python3-wcwidth. 1763s Preparing to unpack .../173-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1763s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1763s Selecting previously unselected package python3-prettytable. 1763s Preparing to unpack .../174-python3-prettytable_3.12.0-1_all.deb ... 1763s Unpacking python3-prettytable (3.12.0-1) ... 1763s Selecting previously unselected package python3-psutil. 1763s Preparing to unpack .../175-python3-psutil_5.9.8-2build3_arm64.deb ... 1763s Unpacking python3-psutil (5.9.8-2build3) ... 1763s Selecting previously unselected package python3-psycopg2. 1763s Preparing to unpack .../176-python3-psycopg2_2.9.10-1_arm64.deb ... 1763s Unpacking python3-psycopg2 (2.9.10-1) ... 1763s Selecting previously unselected package python3-greenlet. 1763s Preparing to unpack .../177-python3-greenlet_3.1.0-1_arm64.deb ... 1763s Unpacking python3-greenlet (3.1.0-1) ... 1763s Selecting previously unselected package python3-dnspython. 1763s Preparing to unpack .../178-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1763s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1763s Selecting previously unselected package python3-eventlet. 1763s Preparing to unpack .../179-python3-eventlet_0.36.1-11ubuntu1_all.deb ... 1763s Unpacking python3-eventlet (0.36.1-11ubuntu1) ... 1764s Selecting previously unselected package python3-zope.event. 1764s Preparing to unpack .../180-python3-zope.event_5.0-0.1_all.deb ... 1764s Unpacking python3-zope.event (5.0-0.1) ... 1764s Selecting previously unselected package python3-zope.interface. 1764s Preparing to unpack .../181-python3-zope.interface_7.2-1_arm64.deb ... 1764s Unpacking python3-zope.interface (7.2-1) ... 1764s Selecting previously unselected package python3-gevent. 1764s Preparing to unpack .../182-python3-gevent_24.11.1-1_arm64.deb ... 1764s Unpacking python3-gevent (24.11.1-1) ... 1764s Selecting previously unselected package python3-kerberos. 1764s Preparing to unpack .../183-python3-kerberos_1.1.14-3.1build10_arm64.deb ... 1764s Unpacking python3-kerberos (1.1.14-3.1build10) ... 1764s Selecting previously unselected package python3-pure-sasl. 1764s Preparing to unpack .../184-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 1764s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 1764s Selecting previously unselected package python3-six. 1764s Preparing to unpack .../185-python3-six_1.17.0-1_all.deb ... 1764s Unpacking python3-six (1.17.0-1) ... 1764s Selecting previously unselected package python3-kazoo. 1764s Preparing to unpack .../186-python3-kazoo_2.9.0-2_all.deb ... 1764s Unpacking python3-kazoo (2.9.0-2) ... 1764s Selecting previously unselected package patroni. 1764s Preparing to unpack .../187-patroni_3.3.4-1_all.deb ... 1764s Unpacking patroni (3.3.4-1) ... 1764s Selecting previously unselected package sphinx-rtd-theme-common. 1764s Preparing to unpack .../188-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 1764s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 1764s Selecting previously unselected package patroni-doc. 1764s Preparing to unpack .../189-patroni-doc_3.3.4-1_all.deb ... 1764s Unpacking patroni-doc (3.3.4-1) ... 1764s Selecting previously unselected package postgresql-client-16. 1764s Preparing to unpack .../190-postgresql-client-16_16.4-3_arm64.deb ... 1764s Unpacking postgresql-client-16 (16.4-3) ... 1764s Selecting previously unselected package postgresql-16. 1764s Preparing to unpack .../191-postgresql-16_16.4-3_arm64.deb ... 1764s Unpacking postgresql-16 (16.4-3) ... 1764s Selecting previously unselected package postgresql. 1765s Preparing to unpack .../192-postgresql_16+262_all.deb ... 1765s Unpacking postgresql (16+262) ... 1765s Selecting previously unselected package python3-parse. 1765s Preparing to unpack .../193-python3-parse_1.20.2-1_all.deb ... 1765s Unpacking python3-parse (1.20.2-1) ... 1765s Selecting previously unselected package python3-parse-type. 1765s Preparing to unpack .../194-python3-parse-type_0.6.4-1_all.deb ... 1765s Unpacking python3-parse-type (0.6.4-1) ... 1765s Selecting previously unselected package python3-behave. 1765s Preparing to unpack .../195-python3-behave_1.2.6-6_all.deb ... 1765s Unpacking python3-behave (1.2.6-6) ... 1765s Selecting previously unselected package python3.13. 1765s Preparing to unpack .../196-python3.13_3.13.1-2_arm64.deb ... 1765s Unpacking python3.13 (3.13.1-2) ... 1765s Selecting previously unselected package python3-coverage. 1765s Preparing to unpack .../197-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 1765s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 1765s Setting up postgresql-client-common (262) ... 1765s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1765s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 1765s Setting up liblcms2-2:arm64 (2.16-2) ... 1765s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1765s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 1765s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 1765s Setting up libjackson2-annotations-java (2.14.0-1) ... 1765s Setting up libsharpyuv0:arm64 (1.4.0-0.1) ... 1765s Setting up libwayland-server0:arm64 (1.23.0-1) ... 1765s Setting up libx11-xcb1:arm64 (2:1.8.10-2) ... 1765s Setting up libslf4j-java (1.7.32-1) ... 1765s Setting up fonts-lato (2.015-1) ... 1765s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1765s Setting up libxdamage1:arm64 (1:1.1.6-1build1) ... 1765s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 1765s Setting up liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 1765s Setting up libjsr305-java (0.1~+svn49-11) ... 1765s Setting up hicolor-icon-theme (0.18-1) ... 1765s Setting up libxi6:arm64 (2:1.8.2-1) ... 1765s Setting up java-common (0.76) ... 1765s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 1765s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 1765s Setting up libcommons-cli-java (1.6.0-1) ... 1765s Setting up libio-pty-perl (1:1.20-1build3) ... 1765s Setting up python3-colorama (0.4.6-4) ... 1765s Setting up libxcb-render0:arm64 (1.17.0-2) ... 1765s Setting up python3-zope.event (5.0-0.1) ... 1765s Setting up python3-zope.interface (7.2-1) ... 1766s Setting up libdrm-radeon1:arm64 (2.4.123-1) ... 1766s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 1766s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 1766s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1766s Setting up python3-ydiff (1.4.2-1) ... 1766s Setting up libasm-java (9.7.1-1) ... 1766s Setting up x11-common (1:7.7+23ubuntu3) ... 1766s Setting up libpq5:arm64 (17.2-1) ... 1766s Setting up libdeflate0:arm64 (1.22-1) ... 1766s Setting up python3-kerberos (1.1.14-3.1build10) ... 1766s Setting up liblog4j1.2-java (1.2.17-11) ... 1767s Setting up libel-api-java (3.0.0-3) ... 1767s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 1767s Setting up python3-click (8.1.7-2) ... 1767s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 1767s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 1767s Setting up libcolord2:arm64 (1.4.7-1build2) ... 1767s Setting up python3-psutil (5.9.8-2build3) ... 1767s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1767s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1767s Setting up libsnappy1v5:arm64 (1.2.1-1) ... 1767s Setting up libxcb-present0:arm64 (1.17.0-2) ... 1767s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1767s Setting up libdconf1:arm64 (0.40.0-4build2) ... 1767s Setting up libjctools-java (2.0.2-1) ... 1767s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1767s Setting up python3-six (1.17.0-1) ... 1768s Setting up libpython3.13-minimal:arm64 (3.13.1-2) ... 1768s Setting up libasound2-data (1.2.12-1) ... 1768s Setting up libasound2t64:arm64 (1.2.12-1) ... 1768s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1768s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1768s Setting up libepoxy0:arm64 (1.5.10-2) ... 1768s Setting up ssl-cert (1.1.3ubuntu1) ... 1769s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1769s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 1769s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 1769s Setting up libapache-pom-java (33-2) ... 1769s Setting up libavahi-common-data:arm64 (0.8-14ubuntu1) ... 1769s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 1769s Setting up libatspi2.0-0t64:arm64 (2.54.0-1) ... 1769s Setting up libwebsocket-api-java (1.1-2) ... 1769s Setting up python3-greenlet (3.1.0-1) ... 1769s Setting up libxinerama1:arm64 (2:1.1.4-3build1) ... 1769s Setting up fonts-dejavu-mono (2.37-8) ... 1769s Setting up libcares2:arm64 (1.34.4-2.1) ... 1769s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 1769s Setting up python3-psycopg2 (2.9.10-1) ... 1769s Setting up fonts-dejavu-core (2.37-8) ... 1769s Setting up libipc-run-perl (20231003.0-2) ... 1769s Setting up libpcsclite1:arm64 (2.3.0-3) ... 1769s Setting up libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 1769s Setting up libactivation-java (1.2.0-2) ... 1769s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1769s Setting up libhamcrest-java (2.2-2) ... 1769s Setting up libglapi-mesa:arm64 (24.2.8-1ubuntu1) ... 1769s Setting up libjsp-api-java (2.3.4-3) ... 1769s Setting up libvulkan1:arm64 (1.3.296.0-1) ... 1769s Setting up libtime-duration-perl (1.21-2) ... 1769s Setting up libwebp7:arm64 (1.4.0-0.1) ... 1769s Setting up libtimedate-perl (2.3300-2) ... 1769s Setting up libxcb-dri2-0:arm64 (1.17.0-2) ... 1769s Setting up libgif7:arm64 (5.2.2-1ubuntu1) ... 1769s Setting up libxshmfence1:arm64 (1.3-1build5) ... 1769s Setting up libmail-java (1.6.5-3) ... 1769s Setting up at-spi2-common (2.54.0-1) ... 1769s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1770s Setting up libnetty-java (1:4.1.48-10) ... 1770s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 1770s Setting up python3-parse (1.20.2-1) ... 1770s Setting up libapr1t64:arm64 (1.7.5-1) ... 1770s Setting up libjson-perl (4.10000-1) ... 1770s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 1770s Setting up libservlet-api-java (4.0.1-2) ... 1770s Setting up libjackson2-core-java (2.14.1-1) ... 1770s Setting up python3.13-minimal (3.13.1-2) ... 1771s Setting up libharfbuzz0b:arm64 (10.1.0-1) ... 1771s Setting up libthai-data (0.1.29-2build1) ... 1771s Setting up python3-dateutil (2.9.0-3) ... 1771s Setting up libjffi-jni:arm64 (1.3.13+ds-1) ... 1771s Setting up libwayland-egl1:arm64 (1.23.0-1) ... 1771s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1771s Setting up ca-certificates-java (20240118) ... 1771s No JRE found. Skipping Java certificates setup. 1771s Setting up python3-prettytable (3.12.0-1) ... 1772s Setting up libsnappy-jni (1.1.10.7-1) ... 1772s Setting up libxcomposite1:arm64 (1:0.4.6-1) ... 1772s Setting up libpython3.13-stdlib:arm64 (3.13.1-2) ... 1772s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1772s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 1772s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1772s Setting up libjnr-constants-java (0.10.4-2) ... 1772s Setting up libwayland-client0:arm64 (1.23.0-1) ... 1772s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 1772s Setting up libjaxb-api-java (2.3.1-1) ... 1772s Setting up libjffi-java (1.3.13+ds-1) ... 1772s Setting up mesa-libgallium:arm64 (24.2.8-1ubuntu1) ... 1772s Setting up libjetty9-java (9.4.56-1) ... 1772s Setting up moreutils (0.69-1) ... 1772s Setting up libatk1.0-0t64:arm64 (2.54.0-1) ... 1772s Setting up openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1772s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 1772s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1772s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1772s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1772s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1772s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 1772s Setting up libgbm1:arm64 (24.2.8-1ubuntu1) ... 1772s Setting up python3.13 (3.13.1-2) ... 1773s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 1773s Setting up libxtst6:arm64 (2:1.2.3-1.1build1) ... 1773s Setting up libxcursor1:arm64 (1:1.2.2-1) ... 1773s Setting up postgresql-client-16 (16.4-3) ... 1774s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 1774s Setting up python3-cdiff (1.4.2-1) ... 1774s Setting up libgl1-mesa-dri:arm64 (24.2.8-1ubuntu1) ... 1774s Setting up libcommons-parent-java (56-1) ... 1774s Setting up libavahi-common3:arm64 (0.8-14ubuntu1) ... 1774s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1774s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 1774s Setting up dconf-service (0.40.0-4build2) ... 1774s Setting up python3-gevent (24.11.1-1) ... 1775s Setting up libjackson2-databind-java (2.14.0-1) ... 1775s Setting up libthai0:arm64 (0.1.29-2build1) ... 1775s Setting up python3-parse-type (0.6.4-1) ... 1775s Setting up python3-eventlet (0.36.1-11ubuntu1) ... 1775s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1775s Setting up python3-kazoo (2.9.0-2) ... 1776s Setting up postgresql-common (262) ... 1776s Creating config file /etc/postgresql-common/createcluster.conf with new version 1776s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1776s Removing obsolete dictionary files: 1777s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1777s Setting up libjs-sphinxdoc (8.1.3-4) ... 1777s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1777s Setting up libwayland-cursor0:arm64 (1.23.0-1) ... 1777s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1777s Setting up python3-behave (1.2.6-6) ... 1778s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1778s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1778s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1778s """Registers a custom type that will be available to "parse" 1778s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1778s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1778s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1778s """Registers a custom type that will be available to "parse" 1778s Setting up libsnappy-java (1.1.10.7-1) ... 1778s Setting up libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1778s Setting up patroni (3.3.4-1) ... 1778s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1779s Setting up libavahi-client3:arm64 (0.8-14ubuntu1) ... 1779s Setting up libjnr-ffi-java (2.2.15-2) ... 1779s Setting up libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 1779s Setting up gtk-update-icon-cache (4.17.1+ds-2) ... 1779s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 1781s Regenerating fonts cache... done. 1781s Setting up libglx-mesa0:arm64 (24.2.8-1ubuntu1) ... 1781s Setting up postgresql-16 (16.4-3) ... 1781s Creating new PostgreSQL cluster 16/main ... 1781s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1781s The files belonging to this database system will be owned by user "postgres". 1781s This user must also own the server process. 1781s 1781s The database cluster will be initialized with locale "C.UTF-8". 1781s The default database encoding has accordingly been set to "UTF8". 1781s The default text search configuration will be set to "english". 1781s 1781s Data page checksums are disabled. 1781s 1781s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1781s creating subdirectories ... ok 1781s selecting dynamic shared memory implementation ... posix 1781s selecting default max_connections ... 100 1781s selecting default shared_buffers ... 128MB 1781s selecting default time zone ... Etc/UTC 1781s creating configuration files ... ok 1781s running bootstrap script ... ok 1782s performing post-bootstrap initialization ... ok 1782s syncing data to disk ... ok 1785s Setting up libglx0:arm64 (1.7.0-1build1) ... 1785s Setting up libspring-core-java (4.3.30-2ubuntu1) ... 1785s Setting up dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1785s Setting up libcommons-io-java (2.17.0-1) ... 1785s Setting up patroni-doc (3.3.4-1) ... 1785s Setting up libpango-1.0-0:arm64 (1.55.0+ds-3) ... 1785s Setting up libcairo2:arm64 (1.18.2-2) ... 1785s Setting up libjnr-enxio-java (0.32.16-1) ... 1785s Setting up libgl1:arm64 (1.7.0-1build1) ... 1785s Setting up libcairo-gobject2:arm64 (1.18.2-2) ... 1785s Setting up postgresql (16+262) ... 1785s Setting up libpangoft2-1.0-0:arm64 (1.55.0+ds-3) ... 1785s Setting up libcups2t64:arm64 (2.4.11-0ubuntu2) ... 1785s Setting up libgtk-3-common (3.24.43-4ubuntu1) ... 1785s Setting up libjnr-posix-java (3.1.18-1) ... 1785s Setting up libpangocairo-1.0-0:arm64 (1.55.0+ds-3) ... 1785s Setting up libspring-beans-java (4.3.30-2ubuntu1) ... 1785s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1785s Setting up libjetty9-extra-java (9.4.56-1) ... 1785s Setting up libguava-java (32.0.1-1) ... 1785s Setting up adwaita-icon-theme (47.0-2) ... 1785s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1785s Setting up liberror-prone-java (2.18.0-1) ... 1785s Setting up humanity-icon-theme (0.6.16) ... 1786s Setting up ubuntu-mono (24.04-0ubuntu1) ... 1786s Processing triggers for systemd (257-2ubuntu1) ... 1786s Processing triggers for man-db (2.13.0-1) ... 1787s Processing triggers for libglib2.0-0t64:arm64 (2.82.4-1) ... 1787s Setting up libgtk-3-0t64:arm64 (3.24.43-4ubuntu1) ... 1787s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1787s Processing triggers for ca-certificates-java (20240118) ... 1788s Adding debian:ACCVRAIZ1.pem 1788s Adding debian:AC_RAIZ_FNMT-RCM.pem 1788s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1788s Adding debian:ANF_Secure_Server_Root_CA.pem 1788s Adding debian:Actalis_Authentication_Root_CA.pem 1788s Adding debian:AffirmTrust_Commercial.pem 1788s Adding debian:AffirmTrust_Networking.pem 1788s Adding debian:AffirmTrust_Premium.pem 1788s Adding debian:AffirmTrust_Premium_ECC.pem 1788s Adding debian:Amazon_Root_CA_1.pem 1788s Adding debian:Amazon_Root_CA_2.pem 1788s Adding debian:Amazon_Root_CA_3.pem 1788s Adding debian:Amazon_Root_CA_4.pem 1788s Adding debian:Atos_TrustedRoot_2011.pem 1788s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1788s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1788s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1788s Adding debian:BJCA_Global_Root_CA1.pem 1788s Adding debian:BJCA_Global_Root_CA2.pem 1788s Adding debian:Baltimore_CyberTrust_Root.pem 1788s Adding debian:Buypass_Class_2_Root_CA.pem 1788s Adding debian:Buypass_Class_3_Root_CA.pem 1788s Adding debian:CA_Disig_Root_R2.pem 1788s Adding debian:CFCA_EV_ROOT.pem 1788s Adding debian:COMODO_Certification_Authority.pem 1788s Adding debian:COMODO_ECC_Certification_Authority.pem 1788s Adding debian:COMODO_RSA_Certification_Authority.pem 1788s Adding debian:Certainly_Root_E1.pem 1788s Adding debian:Certainly_Root_R1.pem 1788s Adding debian:Certigna.pem 1788s Adding debian:Certigna_Root_CA.pem 1788s Adding debian:Certum_EC-384_CA.pem 1788s Adding debian:Certum_Trusted_Network_CA.pem 1788s Adding debian:Certum_Trusted_Network_CA_2.pem 1788s Adding debian:Certum_Trusted_Root_CA.pem 1788s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1788s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1788s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1788s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1788s Adding debian:Comodo_AAA_Services_root.pem 1788s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1788s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1788s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1788s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1788s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1788s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1788s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1788s Adding debian:DigiCert_Global_Root_CA.pem 1788s Adding debian:DigiCert_Global_Root_G2.pem 1788s Adding debian:DigiCert_Global_Root_G3.pem 1788s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1788s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1788s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1788s Adding debian:DigiCert_Trusted_Root_G4.pem 1788s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1788s Adding debian:Entrust_Root_Certification_Authority.pem 1788s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1788s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1788s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1788s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1788s Adding debian:GLOBALTRUST_2020.pem 1788s Adding debian:GTS_Root_R1.pem 1788s Adding debian:GTS_Root_R2.pem 1788s Adding debian:GTS_Root_R3.pem 1788s Adding debian:GTS_Root_R4.pem 1788s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1788s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1788s Adding debian:GlobalSign_Root_CA.pem 1788s Adding debian:GlobalSign_Root_CA_-_R3.pem 1788s Adding debian:GlobalSign_Root_CA_-_R6.pem 1788s Adding debian:GlobalSign_Root_E46.pem 1788s Adding debian:GlobalSign_Root_R46.pem 1788s Adding debian:Go_Daddy_Class_2_CA.pem 1788s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1788s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1788s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1788s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1788s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1788s Adding debian:HiPKI_Root_CA_-_G1.pem 1788s Adding debian:Hongkong_Post_Root_CA_3.pem 1788s Adding debian:ISRG_Root_X1.pem 1788s Adding debian:ISRG_Root_X2.pem 1788s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1788s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1788s Adding debian:Izenpe.com.pem 1788s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1788s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1788s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1788s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1788s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1788s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1788s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1788s Adding debian:QuoVadis_Root_CA_1_G3.pem 1788s Adding debian:QuoVadis_Root_CA_2.pem 1788s Adding debian:QuoVadis_Root_CA_2_G3.pem 1788s Adding debian:QuoVadis_Root_CA_3.pem 1788s Adding debian:QuoVadis_Root_CA_3_G3.pem 1788s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1788s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1788s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1788s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1788s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1788s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1788s Adding debian:SZAFIR_ROOT_CA2.pem 1788s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1788s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1788s Adding debian:SecureSign_RootCA11.pem 1788s Adding debian:SecureTrust_CA.pem 1788s Adding debian:Secure_Global_CA.pem 1788s Adding debian:Security_Communication_ECC_RootCA1.pem 1788s Adding debian:Security_Communication_RootCA2.pem 1788s Adding debian:Security_Communication_RootCA3.pem 1788s Adding debian:Security_Communication_Root_CA.pem 1788s Adding debian:Starfield_Class_2_CA.pem 1788s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1788s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1788s Adding debian:SwissSign_Gold_CA_-_G2.pem 1788s Adding debian:SwissSign_Silver_CA_-_G2.pem 1788s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1788s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1788s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1788s Adding debian:TWCA_Global_Root_CA.pem 1788s Adding debian:TWCA_Root_Certification_Authority.pem 1788s Adding debian:TeliaSonera_Root_CA_v1.pem 1788s Adding debian:Telia_Root_CA_v2.pem 1788s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1788s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1788s Adding debian:Trustwave_Global_Certification_Authority.pem 1788s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1788s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1788s Adding debian:TunTrust_Root_CA.pem 1788s Adding debian:UCA_Extended_Validation_Root.pem 1788s Adding debian:UCA_Global_G2_Root.pem 1788s Adding debian:USERTrust_ECC_Certification_Authority.pem 1788s Adding debian:USERTrust_RSA_Certification_Authority.pem 1788s Adding debian:XRamp_Global_CA_Root.pem 1788s Adding debian:certSIGN_ROOT_CA.pem 1788s Adding debian:certSIGN_Root_CA_G2.pem 1788s Adding debian:e-Szigno_Root_CA_2017.pem 1788s Adding debian:ePKI_Root_Certification_Authority.pem 1788s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1788s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1788s Adding debian:emSign_Root_CA_-_C1.pem 1788s Adding debian:emSign_Root_CA_-_G1.pem 1788s Adding debian:vTrus_ECC_Root_CA.pem 1788s Adding debian:vTrus_Root_CA.pem 1788s done. 1788s Setting up openjdk-21-jre:arm64 (21.0.5+11-1) ... 1788s Setting up junit4 (4.13.2-5) ... 1788s Setting up default-jre-headless (2:1.21-76) ... 1788s Setting up default-jre (2:1.21-76) ... 1788s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1788s Setting up libzookeeper-java (3.9.3-1) ... 1788s Setting up zookeeper (3.9.3-1) ... 1788s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1788s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1788s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1788s Setting up zookeeperd (3.9.3-1) ... 1791s autopkgtest [01:24:01]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1791s autopkgtest [01:24:01]: test acceptance-zookeeper: [----------------------- 1796s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1796s ++ ls -1r /usr/lib/postgresql/ 1796s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1796s + '[' 16 == 10 -o 16 == 11 ']' 1796s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1796s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=zookeeper PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave -e dcs_failsafe_mode | ts' 1796s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1797s Jan 09 01:24:07 Feature: basic replication # features/basic_replication.feature:1 1797s Jan 09 01:24:07 We should check that the basic bootstrapping, replication and failover works. 1797s Jan 09 01:24:07 Scenario: check replication of a single table # features/basic_replication.feature:4 1797s Jan 09 01:24:07 Given I start postgres0 # features/steps/basic_replication.py:8 1800s Jan 09 01:24:10 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1800s Jan 09 01:24:10 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1800s Jan 09 01:24:10 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 1800s Jan 09 01:24:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 1800s Jan 09 01:24:10 When I start postgres1 # features/steps/basic_replication.py:8 1803s Jan 09 01:24:13 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1806s Jan 09 01:24:16 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1806s Jan 09 01:24:16 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1806s Jan 09 01:24:16 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1807s Jan 09 01:24:17 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1807s Jan 09 01:24:17 1807s Jan 09 01:24:17 Scenario: check restart of sync replica # features/basic_replication.feature:17 1807s Jan 09 01:24:17 Given I shut down postgres2 # features/steps/basic_replication.py:29 1808s Jan 09 01:24:18 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1808s Jan 09 01:24:18 When I start postgres2 # features/steps/basic_replication.py:8 1811s Jan 09 01:24:21 And I shut down postgres1 # features/steps/basic_replication.py:29 1814s Jan 09 01:24:24 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1815s Jan 09 01:24:25 When I start postgres1 # features/steps/basic_replication.py:8 1818s Jan 09 01:24:28 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1818s Jan 09 01:24:28 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1818s Jan 09 01:24:28 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1818s Jan 09 01:24:28 1818s Jan 09 01:24:28 Scenario: check stuck sync replica # features/basic_replication.feature:28 1818s Jan 09 01:24:28 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 1818s Jan 09 01:24:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1818s Jan 09 01:24:28 And I create table on postgres0 # features/steps/basic_replication.py:73 1818s Jan 09 01:24:28 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1819s Jan 09 01:24:29 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1819s Jan 09 01:24:29 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1819s Jan 09 01:24:29 And I load data on postgres0 # features/steps/basic_replication.py:84 1820s Jan 09 01:24:30 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1823s Jan 09 01:24:33 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1823s Jan 09 01:24:33 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1824s Jan 09 01:24:34 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1824s Jan 09 01:24:34 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 1824s Jan 09 01:24:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 1824s Jan 09 01:24:34 And I drop table on postgres0 # features/steps/basic_replication.py:73 1824s Jan 09 01:24:34 1824s Jan 09 01:24:34 Scenario: check multi sync replication # features/basic_replication.feature:44 1824s Jan 09 01:24:34 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 1824s Jan 09 01:24:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 1824s Jan 09 01:24:34 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1828s Jan 09 01:24:38 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1828s Jan 09 01:24:38 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1828s Jan 09 01:24:38 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 1828s Jan 09 01:24:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1828s Jan 09 01:24:38 And I shut down postgres1 # features/steps/basic_replication.py:29 1831s Jan 09 01:24:41 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1832s Jan 09 01:24:42 When I start postgres1 # features/steps/basic_replication.py:8 1835s Jan 09 01:24:45 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1835s Jan 09 01:24:45 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1836s Jan 09 01:24:46 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1836s Jan 09 01:24:46 1836s Jan 09 01:24:46 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1836s Jan 09 01:24:46 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1837s Jan 09 01:24:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1837s Jan 09 01:24:47 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1839s Jan 09 01:24:49 And I shut down postgres0 # features/steps/basic_replication.py:29 1840s Jan 09 01:24:50 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1842s Jan 09 01:24:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1842s Jan 09 01:24:52 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1861s Jan 09 01:25:11 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1863s Jan 09 01:25:13 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1863s Jan 09 01:25:13 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 1863s Jan 09 01:25:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1863s Jan 09 01:25:13 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1863s Jan 09 01:25:13 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1867s Jan 09 01:25:17 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1867s Jan 09 01:25:17 1867s Jan 09 01:25:17 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1867s Jan 09 01:25:17 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1867s Jan 09 01:25:17 And I start postgres0 # features/steps/basic_replication.py:8 1867s Jan 09 01:25:17 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1871s Jan 09 01:25:21 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1871s Jan 09 01:25:21 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1875s Jan 09 01:25:25 1875s Jan 09 01:25:25 @reject-duplicate-name 1875s Jan 09 01:25:25 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1875s Jan 09 01:25:25 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1877s Jan 09 01:25:27 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 1881s Jan 09 01:25:31 1881s Jan 09 01:25:31 Feature: cascading replication # features/cascading_replication.feature:1 1881s Jan 09 01:25:31 We should check that patroni can do base backup and streaming from the replica 1881s Jan 09 01:25:31 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1881s Jan 09 01:25:31 Given I start postgres0 # features/steps/basic_replication.py:8 1884s Jan 09 01:25:34 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1884s Jan 09 01:25:34 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1887s Jan 09 01:25:37 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1888s Jan 09 01:25:38 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1888s Jan 09 01:25:38 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1888s Jan 09 01:25:38 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1888s Jan 09 01:25:38 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1892s Jan 09 01:25:41 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1893s Jan 09 01:25:43 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1898s Jan 09 01:25:48 1898s Jan 09 01:25:48 Feature: citus # features/citus.feature:1 1898s Jan 09 01:25:48 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1898s Jan 09 01:25:48 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1898s Jan 09 01:25:48 Given I start postgres0 in citus group 0 # None 1898s Jan 09 01:25:48 And I start postgres2 in citus group 1 # None 1898s Jan 09 01:25:48 Then postgres0 is a leader in a group 0 after 10 seconds # None 1898s Jan 09 01:25:48 And postgres2 is a leader in a group 1 after 10 seconds # None 1898s Jan 09 01:25:48 When I start postgres1 in citus group 0 # None 1898s Jan 09 01:25:48 And I start postgres3 in citus group 1 # None 1898s Jan 09 01:25:48 Then replication works from postgres0 to postgres1 after 15 seconds # None 1898s Jan 09 01:25:48 Then replication works from postgres2 to postgres3 after 15 seconds # None 1898s Jan 09 01:25:48 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1898s Jan 09 01:25:48 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1898s Jan 09 01:25:48 1898s Jan 09 01:25:48 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1898s Jan 09 01:25:48 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1898s Jan 09 01:25:48 Then postgres1 role is the primary after 10 seconds # None 1898s Jan 09 01:25:48 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1898s Jan 09 01:25:48 And replication works from postgres1 to postgres0 after 15 seconds # None 1898s Jan 09 01:25:48 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1898s Jan 09 01:25:48 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1898s Jan 09 01:25:48 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1898s Jan 09 01:25:48 Then postgres0 role is the primary after 10 seconds # None 1898s Jan 09 01:25:48 And replication works from postgres0 to postgres1 after 15 seconds # None 1898s Jan 09 01:25:48 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1898s Jan 09 01:25:48 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1898s Jan 09 01:25:48 1898s Jan 09 01:25:48 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1898s Jan 09 01:25:48 Given I create a distributed table on postgres0 # None 1898s Jan 09 01:25:48 And I start a thread inserting data on postgres0 # None 1898s Jan 09 01:25:48 When I run patronictl.py switchover batman --group 1 --force # None 1898s Jan 09 01:25:48 Then I receive a response returncode 0 # None 1898s Jan 09 01:25:48 And postgres3 role is the primary after 10 seconds # None 1898s Jan 09 01:25:48 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1898s Jan 09 01:25:48 And replication works from postgres3 to postgres2 after 15 seconds # None 1898s Jan 09 01:25:48 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1898s Jan 09 01:25:48 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1898s Jan 09 01:25:48 And a thread is still alive # None 1898s Jan 09 01:25:48 When I run patronictl.py switchover batman --group 1 --force # None 1898s Jan 09 01:25:48 Then I receive a response returncode 0 # None 1898s Jan 09 01:25:48 And postgres2 role is the primary after 10 seconds # None 1898s Jan 09 01:25:48 And replication works from postgres2 to postgres3 after 15 seconds # None 1898s Jan 09 01:25:48 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1898s Jan 09 01:25:48 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1898s Jan 09 01:25:48 And a thread is still alive # None 1898s Jan 09 01:25:48 When I stop a thread # None 1898s Jan 09 01:25:48 Then a distributed table on postgres0 has expected rows # None 1898s SKIP FEATURE citus: Citus extenstion isn't available 1898s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1898s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1898s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1898s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1898s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 1898s Jan 09 01:25:48 1898s Jan 09 01:25:48 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1898s Jan 09 01:25:48 Given I cleanup a distributed table on postgres0 # None 1898s Jan 09 01:25:48 And I start a thread inserting data on postgres0 # None 1898s Jan 09 01:25:48 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1898s Jan 09 01:25:48 Then I receive a response returncode 0 # None 1898s Jan 09 01:25:48 And postgres2 role is the primary after 10 seconds # None 1898s Jan 09 01:25:48 And replication works from postgres2 to postgres3 after 15 seconds # None 1898s Jan 09 01:25:48 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1898s Jan 09 01:25:48 And a thread is still alive # None 1898s Jan 09 01:25:48 When I stop a thread # None 1898s Jan 09 01:25:48 Then a distributed table on postgres0 has expected rows # None 1898s Jan 09 01:25:48 1898s Jan 09 01:25:48 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1898s Jan 09 01:25:48 Given I start postgres4 in citus group 2 # None 1898s Jan 09 01:25:48 Then postgres4 is a leader in a group 2 after 10 seconds # None 1898s Jan 09 01:25:48 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1898s Jan 09 01:25:48 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1898s Jan 09 01:25:48 Then I receive a response returncode 0 # None 1898s Jan 09 01:25:48 And I receive a response output "+ttl: 20" # None 1898s Jan 09 01:25:48 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1898s Jan 09 01:25:48 When I shut down postgres4 # None 1898s Jan 09 01:25:48 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1898s Jan 09 01:25:48 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1898s Jan 09 01:25:48 Then a transaction finishes in 20 seconds # None 1898s Jan 09 01:25:48 1898s Jan 09 01:25:48 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1898s Jan 09 01:25:48 We should check that patroni can bootstrap a new cluster from a backup 1898s Jan 09 01:25:48 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1898s Jan 09 01:25:48 Given I start postgres0 # features/steps/basic_replication.py:8 1901s Jan 09 01:25:51 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1901s Jan 09 01:25:51 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1901s Jan 09 01:25:51 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1905s Jan 09 01:25:55 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1906s Jan 09 01:25:56 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1906s Jan 09 01:25:56 1906s Jan 09 01:25:56 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1906s Jan 09 01:25:56 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1906s Jan 09 01:25:56 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1906s Jan 09 01:25:56 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1911s Jan 09 01:26:01 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1911s Jan 09 01:26:01 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1918s Jan 09 01:26:07 1918s Jan 09 01:26:07 Feature: ignored slots # features/ignored_slots.feature:1 1918s Jan 09 01:26:07 1918s Jan 09 01:26:07 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1918s Jan 09 01:26:07 Given I start postgres1 # features/steps/basic_replication.py:8 1921s Jan 09 01:26:11 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1921s Jan 09 01:26:11 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1921s Jan 09 01:26:11 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 1921s Jan 09 01:26:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1921s Jan 09 01:26:11 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1921s Jan 09 01:26:11 When I shut down postgres1 # features/steps/basic_replication.py:29 1923s Jan 09 01:26:13 And I start postgres1 # features/steps/basic_replication.py:8 1926s Jan 09 01:26:16 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1926s Jan 09 01:26:16 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1927s Jan 09 01:26:17 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1927s Jan 09 01:26:17 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1927s Jan 09 01:26:17 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1927s Jan 09 01:26:17 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1927s Jan 09 01:26:17 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1927s Jan 09 01:26:17 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1927s Jan 09 01:26:17 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1927s Jan 09 01:26:17 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1927s Jan 09 01:26:17 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1927s Jan 09 01:26:17 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1927s Jan 09 01:26:17 When I start postgres0 # features/steps/basic_replication.py:8 1930s Jan 09 01:26:20 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1931s Jan 09 01:26:21 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1931s Jan 09 01:26:21 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1932s Jan 09 01:26:22 When I shut down postgres1 # features/steps/basic_replication.py:29 1934s Jan 09 01:26:24 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1935s Jan 09 01:26:25 When I start postgres1 # features/steps/basic_replication.py:8 1938s Jan 09 01:26:28 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1938s Jan 09 01:26:28 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1938s Jan 09 01:26:28 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1940s Jan 09 01:26:30 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1940s Jan 09 01:26:30 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1940s Jan 09 01:26:30 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1940s Jan 09 01:26:30 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1940s Jan 09 01:26:30 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1940s Jan 09 01:26:30 When I shut down postgres0 # features/steps/basic_replication.py:29 1942s Jan 09 01:26:32 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1943s Jan 09 01:26:33 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1943s Jan 09 01:26:33 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1943s Jan 09 01:26:33 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1943s Jan 09 01:26:33 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1945s Jan 09 01:26:35 1945s Jan 09 01:26:35 Feature: nostream node # features/nostream_node.feature:1 1945s Jan 09 01:26:35 1945s Jan 09 01:26:35 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1945s Jan 09 01:26:35 When I start postgres0 # features/steps/basic_replication.py:8 1948s Jan 09 01:26:38 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1951s Jan 09 01:26:41 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1952s Jan 09 01:26:42 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1957s Jan 09 01:26:47 1957s Jan 09 01:26:47 @slot-advance 1957s Jan 09 01:26:47 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1957s Jan 09 01:26:47 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1957s Jan 09 01:26:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1957s Jan 09 01:26:47 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1959s Jan 09 01:26:49 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1960s Jan 09 01:26:50 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1963s Jan 09 01:26:53 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1964s Jan 09 01:26:54 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1964s Jan 09 01:26:54 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1970s Jan 09 01:27:00 1970s Jan 09 01:27:00 Feature: patroni api # features/patroni_api.feature:1 1970s Jan 09 01:27:00 We should check that patroni correctly responds to valid and not-valid API requests. 1970s Jan 09 01:27:00 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1970s Jan 09 01:27:00 Given I start postgres0 # features/steps/basic_replication.py:8 1973s Jan 09 01:27:03 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1973s Jan 09 01:27:03 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1973s Jan 09 01:27:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1973s Jan 09 01:27:03 And I receive a response state running # features/steps/patroni_api.py:98 1973s Jan 09 01:27:03 And I receive a response role master # features/steps/patroni_api.py:98 1973s Jan 09 01:27:03 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1973s Jan 09 01:27:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 1973s Jan 09 01:27:03 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1973s Jan 09 01:27:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1973s Jan 09 01:27:03 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1973s Jan 09 01:27:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 1973s Jan 09 01:27:03 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1973s Jan 09 01:27:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 1973s Jan 09 01:27:03 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1973s Jan 09 01:27:03 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1974s Jan 09 01:27:04 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1974s Jan 09 01:27:04 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1974s Jan 09 01:27:04 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1974s Jan 09 01:27:04 Then I receive a response code 412 # features/steps/patroni_api.py:98 1974s Jan 09 01:27:04 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1974s Jan 09 01:27:04 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1974s Jan 09 01:27:04 Then I receive a response code 400 # features/steps/patroni_api.py:98 1974s Jan 09 01:27:04 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1974s Jan 09 01:27:04 Then I receive a response code 400 # features/steps/patroni_api.py:98 1974s Jan 09 01:27:04 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1974s Jan 09 01:27:04 1974s Jan 09 01:27:04 Scenario: check local configuration reload # features/patroni_api.feature:32 1974s Jan 09 01:27:04 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1974s Jan 09 01:27:04 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1974s Jan 09 01:27:04 Then I receive a response code 202 # features/steps/patroni_api.py:98 1974s Jan 09 01:27:04 1974s Jan 09 01:27:04 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1974s Jan 09 01:27:04 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 1975s Jan 09 01:27:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 1975s Jan 09 01:27:04 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1977s Jan 09 01:27:07 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1977s Jan 09 01:27:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1977s Jan 09 01:27:07 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1977s Jan 09 01:27:07 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1977s Jan 09 01:27:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1977s Jan 09 01:27:07 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1977s Jan 09 01:27:07 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1981s Jan 09 01:27:11 1981s Jan 09 01:27:11 Scenario: check the scheduled restart # features/patroni_api.feature:49 1981s Jan 09 01:27:11 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1982s Jan 09 01:27:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1982s Jan 09 01:27:12 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1982s Jan 09 01:27:12 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1982s Jan 09 01:27:12 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 1982s Jan 09 01:27:12 Then I receive a response code 202 # features/steps/patroni_api.py:98 1982s Jan 09 01:27:12 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1990s Jan 09 01:27:20 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1990s Jan 09 01:27:20 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 1990s Jan 09 01:27:20 Then I receive a response code 202 # features/steps/patroni_api.py:98 1990s Jan 09 01:27:20 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 1997s Jan 09 01:27:27 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1998s Jan 09 01:27:28 1998s Jan 09 01:27:28 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1998s Jan 09 01:27:28 Given I start postgres1 # features/steps/basic_replication.py:8 2001s Jan 09 01:27:31 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2002s Jan 09 01:27:32 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2004s Jan 09 01:27:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2004s Jan 09 01:27:34 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2004s Jan 09 01:27:34 waiting for server to shut down.... done 2004s Jan 09 01:27:34 server stopped 2004s Jan 09 01:27:34 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2004s Jan 09 01:27:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 2004s Jan 09 01:27:34 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2005s Jan 09 01:27:35 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2008s Jan 09 01:27:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2008s Jan 09 01:27:38 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2009s Jan 09 01:27:39 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2011s Jan 09 01:27:41 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2011s Jan 09 01:27:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2011s Jan 09 01:27:41 And I receive a response state running # features/steps/patroni_api.py:98 2011s Jan 09 01:27:41 And I receive a response role replica # features/steps/patroni_api.py:98 2011s Jan 09 01:27:41 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2014s Jan 09 01:27:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2014s Jan 09 01:27:44 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2014s Jan 09 01:27:44 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2015s Jan 09 01:27:45 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2015s Jan 09 01:27:45 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2018s Jan 09 01:27:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2018s Jan 09 01:27:48 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2018s Jan 09 01:27:48 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2019s Jan 09 01:27:49 2019s Jan 09 01:27:49 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2019s Jan 09 01:27:49 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 2021s Jan 09 01:27:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 2021s Jan 09 01:27:51 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2021s Jan 09 01:27:51 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2021s Jan 09 01:27:51 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2026s Jan 09 01:27:56 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2026s Jan 09 01:27:56 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2027s Jan 09 01:27:57 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2027s Jan 09 01:27:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 2027s Jan 09 01:27:57 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2027s Jan 09 01:27:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 2027s Jan 09 01:27:57 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2027s Jan 09 01:27:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 2027s Jan 09 01:27:57 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2027s Jan 09 01:27:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 2027s Jan 09 01:27:57 2027s Jan 09 01:27:57 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2027s Jan 09 01:27:57 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2029s Jan 09 01:27:59 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2029s Jan 09 01:27:59 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2029s Jan 09 01:27:59 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2030s Jan 09 01:28:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2030s Jan 09 01:28:00 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2032s Jan 09 01:28:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2032s Jan 09 01:28:02 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2042s Jan 09 01:28:12 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2043s Jan 09 01:28:13 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2045s Jan 09 01:28:15 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2045s Jan 09 01:28:15 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2046s Jan 09 01:28:16 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2046s Jan 09 01:28:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2046s Jan 09 01:28:16 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2046s Jan 09 01:28:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 2046s Jan 09 01:28:16 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2046s Jan 09 01:28:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 2046s Jan 09 01:28:16 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2046s Jan 09 01:28:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2050s Jan 09 01:28:20 2050s Jan 09 01:28:20 Feature: permanent slots # features/permanent_slots.feature:1 2050s Jan 09 01:28:20 2050s Jan 09 01:28:20 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2050s Jan 09 01:28:20 Given I start postgres0 # features/steps/basic_replication.py:8 2053s Jan 09 01:28:23 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2053s Jan 09 01:28:23 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2053s Jan 09 01:28:23 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 2053s Jan 09 01:28:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2053s Jan 09 01:28:23 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2053s Jan 09 01:28:23 When I start postgres1 # features/steps/basic_replication.py:8 2057s Jan 09 01:28:26 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 2060s Jan 09 01:28:30 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2063s Jan 09 01:28:33 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2063s Jan 09 01:28:33 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2063s Jan 09 01:28:33 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2063s Jan 09 01:28:33 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2063s Jan 09 01:28:33 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 2063s Jan 09 01:28:33 2063s Jan 09 01:28:33 @slot-advance 2063s Jan 09 01:28:33 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2063s Jan 09 01:28:33 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2065s Jan 09 01:28:35 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 2065s Jan 09 01:28:35 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2066s Jan 09 01:28:36 2066s Jan 09 01:28:36 @slot-advance 2066s Jan 09 01:28:36 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2066s Jan 09 01:28:36 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2071s Jan 09 01:28:41 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2071s Jan 09 01:28:41 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2072s Jan 09 01:28:42 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2072s Jan 09 01:28:42 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2072s Jan 09 01:28:42 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2072s Jan 09 01:28:42 2072s Jan 09 01:28:42 @slot-advance 2072s Jan 09 01:28:42 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2072s Jan 09 01:28:42 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2072s Jan 09 01:28:42 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2072s Jan 09 01:28:42 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2072s Jan 09 01:28:42 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 2072s Jan 09 01:28:42 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 2072s Jan 09 01:28:42 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2072s Jan 09 01:28:42 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2072s Jan 09 01:28:42 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2072s Jan 09 01:28:42 2072s Jan 09 01:28:42 @slot-advance 2072s Jan 09 01:28:42 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2072s Jan 09 01:28:42 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2072s Jan 09 01:28:42 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2072s Jan 09 01:28:42 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2072s Jan 09 01:28:42 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2075s Jan 09 01:28:45 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2075s Jan 09 01:28:45 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2075s Jan 09 01:28:45 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2075s Jan 09 01:28:45 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2075s Jan 09 01:28:45 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2075s Jan 09 01:28:45 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2075s Jan 09 01:28:45 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2075s Jan 09 01:28:45 2075s Jan 09 01:28:45 @slot-advance 2075s Jan 09 01:28:45 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 2075s Jan 09 01:28:45 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 2075s Jan 09 01:28:45 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 2075s Jan 09 01:28:45 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 2076s Jan 09 01:28:45 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 2076s Jan 09 01:28:45 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 2076s Jan 09 01:28:45 2076s Jan 09 01:28:45 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 2076s Jan 09 01:28:45 Given I shut down postgres3 # features/steps/basic_replication.py:29 2076s Jan 09 01:28:46 And I shut down postgres2 # features/steps/basic_replication.py:29 2077s Jan 09 01:28:47 And I shut down postgres0 # features/steps/basic_replication.py:29 2079s Jan 09 01:28:49 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2079s Jan 09 01:28:49 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2079s Jan 09 01:28:49 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2079s Jan 09 01:28:49 When I start postgres0 # features/steps/basic_replication.py:8 2082s Jan 09 01:28:52 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 2082s Jan 09 01:28:52 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2083s Jan 09 01:28:52 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2086s Jan 09 01:28:56 2086s Jan 09 01:28:56 Feature: priority replication # features/priority_failover.feature:1 2086s Jan 09 01:28:56 We should check that we can give nodes priority during failover 2086s Jan 09 01:28:56 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2086s Jan 09 01:28:56 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2089s Jan 09 01:28:59 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2092s Jan 09 01:29:02 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2093s Jan 09 01:29:03 When I shut down postgres0 # features/steps/basic_replication.py:29 2095s Jan 09 01:29:05 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 2097s Jan 09 01:29:07 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2097s Jan 09 01:29:07 When I start postgres0 # features/steps/basic_replication.py:8 2100s Jan 09 01:29:10 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2101s Jan 09 01:29:11 2101s Jan 09 01:29:11 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2101s Jan 09 01:29:11 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2104s Jan 09 01:29:14 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2108s Jan 09 01:29:18 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2109s Jan 09 01:29:19 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2110s Jan 09 01:29:20 When I shut down postgres0 # features/steps/basic_replication.py:29 2112s Jan 09 01:29:22 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2112s Jan 09 01:29:22 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 2112s Jan 09 01:29:22 2112s Jan 09 01:29:22 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2112s Jan 09 01:29:22 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2112s Jan 09 01:29:22 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2112s Jan 09 01:29:22 Then I receive a response code 202 # features/steps/patroni_api.py:98 2112s Jan 09 01:29:22 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 2114s Jan 09 01:29:24 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2115s Jan 09 01:29:25 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2115s Jan 09 01:29:25 Then I receive a response code 412 # features/steps/patroni_api.py:98 2115s Jan 09 01:29:25 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2115s Jan 09 01:29:25 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2115s Jan 09 01:29:25 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2115s Jan 09 01:29:25 Then I receive a response code 202 # features/steps/patroni_api.py:98 2115s Jan 09 01:29: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 2116s Jan 09 01:29:26 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2117s Jan 09 01:29:27 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2120s Jan 09 01:29:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 2120s Jan 09 01:29:30 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2125s Jan 09 01:29:35 2125s Jan 09 01:29:35 Feature: recovery # features/recovery.feature:1 2125s Jan 09 01:29:35 We want to check that crashed postgres is started back 2125s Jan 09 01:29:35 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2125s Jan 09 01:29:35 Given I start postgres0 # features/steps/basic_replication.py:8 2128s Jan 09 01:29:38 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2129s Jan 09 01:29:39 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2129s Jan 09 01:29:39 When I start postgres1 # features/steps/basic_replication.py:8 2132s Jan 09 01:29:42 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2132s Jan 09 01:29:42 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2133s Jan 09 01:29:43 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2133s Jan 09 01:29:43 waiting for server to shut down.... done 2133s Jan 09 01:29:43 server stopped 2133s Jan 09 01:29:43 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2135s Jan 09 01:29:45 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2135s Jan 09 01:29:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 2135s Jan 09 01:29:45 And I receive a response role master # features/steps/patroni_api.py:98 2135s Jan 09 01:29:45 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2135s Jan 09 01:29:45 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2136s Jan 09 01:29:46 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2138s Jan 09 01:29:48 2138s Jan 09 01:29:48 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2138s Jan 09 01:29:48 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 2138s Jan 09 01:29:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 2138s Jan 09 01:29:48 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2138s Jan 09 01:29:48 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2138s Jan 09 01:29:48 waiting for server to shut down.... done 2138s Jan 09 01:29:48 server stopped 2138s Jan 09 01:29:48 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2140s Jan 09 01:29:50 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2144s Jan 09 01:29:54 2144s Jan 09 01:29:54 Feature: standby cluster # features/standby_cluster.feature:1 2144s Jan 09 01:29:54 2144s Jan 09 01:29:54 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2144s Jan 09 01:29:54 Given I start postgres1 # features/steps/basic_replication.py:8 2147s Jan 09 01:29:57 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2147s Jan 09 01:29:57 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2147s Jan 09 01:29:57 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 2147s Jan 09 01:29:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 2147s Jan 09 01:29:57 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2147s Jan 09 01:29:57 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2151s Jan 09 01:30:00 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 2151s Jan 09 01:30:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2151s Jan 09 01:30:01 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2151s Jan 09 01:30:01 When I start postgres0 # features/steps/basic_replication.py:8 2154s Jan 09 01:30:04 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2155s Jan 09 01:30:05 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2156s Jan 09 01:30:06 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2156s Jan 09 01:30:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2156s Jan 09 01:30:06 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2156s Jan 09 01:30:06 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2156s Jan 09 01:30:06 2156s Jan 09 01:30:06 @slot-advance 2156s Jan 09 01:30:06 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2156s Jan 09 01:30:06 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2158s Jan 09 01:30:08 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2163s Jan 09 01:30:13 2163s Jan 09 01:30:13 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2163s Jan 09 01:30:13 When I shut down postgres1 # features/steps/basic_replication.py:29 2165s Jan 09 01:30:15 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2165s Jan 09 01:30:15 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2166s Jan 09 01:30:16 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2166s Jan 09 01:30:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2166s Jan 09 01:30:16 2166s Jan 09 01:30:16 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2166s Jan 09 01:30:16 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2169s Jan 09 01:30:19 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2169s Jan 09 01:30:19 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2169s Jan 09 01:30:19 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2169s Jan 09 01:30:19 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2170s Jan 09 01:30:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 2170s Jan 09 01:30:20 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2170s Jan 09 01:30:20 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2173s Jan 09 01:30:23 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2173s Jan 09 01:30:23 Then I receive a response code 503 # features/steps/patroni_api.py:98 2173s Jan 09 01:30:23 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2173s Jan 09 01:30:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2173s Jan 09 01:30:23 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2173s Jan 09 01:30:23 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2173s Jan 09 01:30:23 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2176s Jan 09 01:30:26 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2176s Jan 09 01:30:26 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2177s Jan 09 01:30:27 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2177s Jan 09 01:30:27 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2177s Jan 09 01:30:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2177s Jan 09 01:30:27 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2177s Jan 09 01:30:27 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2177s Jan 09 01:30:27 2177s Jan 09 01:30:27 Scenario: check switchover # features/standby_cluster.feature:57 2177s Jan 09 01:30:27 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2180s Jan 09 01:30:30 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2180s Jan 09 01:30:30 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2182s Jan 09 01:30:32 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 2182s Jan 09 01:30:32 2182s Jan 09 01:30:32 Scenario: check failover # features/standby_cluster.feature:63 2182s Jan 09 01:30:32 When I kill postgres2 # features/steps/basic_replication.py:34 2183s Jan 09 01:30:33 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2184s Jan 09 01:30:33 waiting for server to shut down.... done 2184s Jan 09 01:30:33 server stopped 2184s Jan 09 01:30:33 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2205s Jan 09 01:30:55 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2205s Jan 09 01:30:55 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2205s Jan 09 01:30:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 2205s Jan 09 01:30:55 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2205s Jan 09 01:30:55 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2206s Jan 09 01:30:56 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 2210s Jan 09 01:31:00 2210s Jan 09 01:31:00 Feature: watchdog # features/watchdog.feature:1 2210s Jan 09 01:31:00 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2210s Jan 09 01:31:00 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2210s Jan 09 01:31:00 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2213s Jan 09 01:31:03 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2213s Jan 09 01:31:03 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2213s Jan 09 01:31:03 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2214s Jan 09 01:31:04 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2214s Jan 09 01:31:04 2214s Jan 09 01:31:04 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2214s Jan 09 01:31:04 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2215s Jan 09 01:31:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2215s Jan 09 01:31:05 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2215s Jan 09 01:31:05 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2219s Jan 09 01:31:09 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2219s Jan 09 01:31:09 2219s Jan 09 01:31:09 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2219s Jan 09 01:31:09 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2221s Jan 09 01:31:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2221s Jan 09 01:31:11 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2223s Jan 09 01:31:13 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2223s Jan 09 01:31:13 2223s Jan 09 01:31:13 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2223s Jan 09 01:31:13 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2223s Jan 09 01:31:13 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2224s Jan 09 01:31:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2224s Jan 09 01:31:14 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2224s Jan 09 01:31:14 2224s Jan 09 01:31:14 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2224s Jan 09 01:31:14 Given I shut down postgres0 # features/steps/basic_replication.py:29 2227s Jan 09 01:31:16 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2227s Jan 09 01:31:16 2227s Jan 09 01:31:16 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2227s Jan 09 01:31:16 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2227s Jan 09 01:31:16 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2230s Jan 09 01:31:20 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2231s Jan 09 01:31:21 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2231s Jan 09 01:31:21 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2258s Jan 09 01:31:48 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.10054.XUPCsxUx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.10110.XvRPnLlx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.10222.XZZeSfBx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.10347.XaWokTdx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.10486.XWLlBCfx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.10534.XfBkVvzx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.10541.XkPaWvHx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.10546.XwYEaUSx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.10562.Xijcwprx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.6612.XmyPcwyx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.6658.XMHjvHVx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.6706.XByWMLJx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.6776.XJrpUsix 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.6825.XtETokEx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.6900.XASyAvHx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.6951.XTkJGipx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.6956.XZbSHhYx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7059.XquNLowx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7163.XHUqmCvx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7177.XsYKxZLx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7222.XtSLREBx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7271.XVxpOeAx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7402.XlDeSJhx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7449.XAEYnTsx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7507.XlwRIZVx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7607.XDbMiOTx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7664.XwAZUDpx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7729.XEQnfCbx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7823.XsIfLRXx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7928.XPuhqytx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.7973.XTSsQejx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8039.XcmcnUvx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8074.XJzZpNwx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8189.XreBBXYx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8240.XgpBllxx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8260.XDVilFMx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8301.XKCaDwlx 2258s Jan 09 01:31:48 Skipping duplicate data .coverage.autopkgtest.8355.XmkZpawx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8362.XcRpGyVx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8402.XeNowxDx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8448.XhoLTTNx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8620.XEYEMHex 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8624.XJYSaXCx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8632.XSEpkGfx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8776.XnJNCPVx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8824.XsPAbfAx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8867.XEPCOvqx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8913.XyrLDqRx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.8959.XqHqDEWx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.9112.XZGEXYKx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.9183.XQuiJDux 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.9228.XIEIXVWx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.9304.XecwQwIx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.9383.XPymfyYx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.9431.XMFRBnBx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.9793.XHNjRQex 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.9838.XdKxMUSx 2258s Jan 09 01:31:48 Combined data file .coverage.autopkgtest.9990.XoESMHyx 2260s Jan 09 01:31:50 Name Stmts Miss Cover 2260s Jan 09 01:31:50 -------------------------------------------------------------------------------------------------------- 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/api.py 780 292 63% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 91 86% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 289 69 76% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/ha.py 1270 390 69% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 172 79% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 215 74% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 36 90% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/utils.py 370 122 67% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/six.py 506 259 49% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2260s Jan 09 01:31:50 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2260s Jan 09 01:31:50 patroni/__init__.py 13 2 85% 2260s Jan 09 01:31:50 patroni/__main__.py 199 199 0% 2260s Jan 09 01:31:50 patroni/api.py 780 780 0% 2260s Jan 09 01:31:50 patroni/async_executor.py 96 69 28% 2260s Jan 09 01:31:50 patroni/collections.py 56 15 73% 2260s Jan 09 01:31:50 patroni/config.py 371 194 48% 2260s Jan 09 01:31:50 patroni/config_generator.py 212 212 0% 2260s Jan 09 01:31:50 patroni/ctl.py 936 411 56% 2260s Jan 09 01:31:50 patroni/daemon.py 76 76 0% 2260s Jan 09 01:31:50 patroni/dcs/__init__.py 654 274 58% 2260s Jan 09 01:31:50 patroni/dcs/consul.py 484 484 0% 2260s Jan 09 01:31:50 patroni/dcs/etcd3.py 679 679 0% 2260s Jan 09 01:31:50 patroni/dcs/etcd.py 603 603 0% 2260s Jan 09 01:31:50 patroni/dcs/exhibitor.py 62 62 0% 2260s Jan 09 01:31:50 patroni/dcs/kubernetes.py 940 940 0% 2260s Jan 09 01:31:50 patroni/dcs/raft.py 319 319 0% 2260s Jan 09 01:31:50 patroni/dcs/zookeeper.py 289 150 48% 2260s Jan 09 01:31:50 patroni/dynamic_loader.py 35 7 80% 2260s Jan 09 01:31:50 patroni/exceptions.py 16 1 94% 2260s Jan 09 01:31:50 patroni/file_perm.py 43 15 65% 2260s Jan 09 01:31:50 patroni/global_config.py 81 18 78% 2260s Jan 09 01:31:50 patroni/ha.py 1270 1270 0% 2260s Jan 09 01:31:50 patroni/log.py 221 175 21% 2260s Jan 09 01:31:50 patroni/postgresql/__init__.py 822 652 21% 2260s Jan 09 01:31:50 patroni/postgresql/available_parameters/__init__.py 24 6 75% 2260s Jan 09 01:31:50 patroni/postgresql/bootstrap.py 255 225 12% 2260s Jan 09 01:31:50 patroni/postgresql/callback_executor.py 55 34 38% 2260s Jan 09 01:31:50 patroni/postgresql/cancellable.py 104 84 19% 2260s Jan 09 01:31:50 patroni/postgresql/config.py 838 718 14% 2260s Jan 09 01:31:50 patroni/postgresql/connection.py 75 50 33% 2260s Jan 09 01:31:50 patroni/postgresql/misc.py 43 30 30% 2260s Jan 09 01:31:50 patroni/postgresql/mpp/__init__.py 89 21 76% 2260s Jan 09 01:31:50 patroni/postgresql/mpp/citus.py 259 259 0% 2260s Jan 09 01:31:50 patroni/postgresql/postmaster.py 170 139 18% 2260s Jan 09 01:31:50 patroni/postgresql/rewind.py 416 416 0% 2260s Jan 09 01:31:50 patroni/postgresql/slots.py 349 300 14% 2260s Jan 09 01:31:50 patroni/postgresql/sync.py 130 96 26% 2260s Jan 09 01:31:50 patroni/postgresql/validator.py 157 52 67% 2260s Jan 09 01:31:50 patroni/psycopg.py 46 32 30% 2260s Jan 09 01:31:50 patroni/raft_controller.py 22 22 0% 2260s Jan 09 01:31:50 patroni/request.py 58 6 90% 2260s Jan 09 01:31:50 patroni/scripts/__init__.py 0 0 100% 2260s Jan 09 01:31:50 patroni/scripts/aws.py 59 59 0% 2260s Jan 09 01:31:50 patroni/scripts/barman/__init__.py 0 0 100% 2260s Jan 09 01:31:50 patroni/scripts/barman/cli.py 51 51 0% 2260s Jan 09 01:31:50 patroni/scripts/barman/config_switch.py 51 51 0% 2260s Jan 09 01:31:50 patroni/scripts/barman/recover.py 37 37 0% 2260s Jan 09 01:31:50 patroni/scripts/barman/utils.py 94 94 0% 2260s Jan 09 01:31:50 patroni/scripts/wale_restore.py 207 207 0% 2260s Jan 09 01:31:50 patroni/tags.py 38 11 71% 2260s Jan 09 01:31:50 patroni/utils.py 370 246 34% 2260s Jan 09 01:31:50 patroni/validator.py 307 221 28% 2260s Jan 09 01:31:50 patroni/version.py 1 0 100% 2260s Jan 09 01:31:50 patroni/watchdog/__init__.py 2 2 0% 2260s Jan 09 01:31:50 patroni/watchdog/base.py 203 203 0% 2260s Jan 09 01:31:50 patroni/watchdog/linux.py 135 135 0% 2260s Jan 09 01:31:50 -------------------------------------------------------------------------------------------------------- 2260s Jan 09 01:31:50 TOTAL 40053 24024 40% 2260s Jan 09 01:31:50 11 features passed, 0 failed, 1 skipped 2260s Jan 09 01:31:50 44 scenarios passed, 0 failed, 5 skipped 2260s Jan 09 01:31:50 445 steps passed, 0 failed, 61 skipped, 0 undefined 2260s Jan 09 01:31:50 Took 6m56.608s 2260s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2260s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2260s + rm -f '/tmp/pgpass?' 2260s ++ id -u 2260s + '[' 0 -eq 0 ']' 2260s + '[' -x /etc/init.d/zookeeper ']' 2260s + /etc/init.d/zookeeper stop 2261s Stopping zookeeper (via systemctl): zookeeper.service. 2261s autopkgtest [01:31:51]: test acceptance-zookeeper: -----------------------] 2262s autopkgtest [01:31:52]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2262s acceptance-zookeeper PASS 2263s autopkgtest [01:31:53]: test acceptance-raft: preparing testbed 2366s autopkgtest [01:33:36]: testbed dpkg architecture: arm64 2366s autopkgtest [01:33:36]: testbed apt version: 2.9.18 2366s autopkgtest [01:33:36]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2366s autopkgtest [01:33:36]: testbed release detected to be: plucky 2367s autopkgtest [01:33:37]: updating testbed package index (apt update) 2367s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2368s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2368s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2368s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2368s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 2368s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [18.2 kB] 2368s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [128 kB] 2368s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [802 kB] 2368s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [234 kB] 2368s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 2368s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [983 kB] 2368s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [22.9 kB] 2368s Fetched 2328 kB in 1s (2441 kB/s) 2369s Reading package lists... 2370s Reading package lists... 2370s Building dependency tree... 2370s Reading state information... 2370s Calculating upgrade... 2371s The following packages will be upgraded: 2371s libgpgme11t64 python3-oauthlib 2371s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2371s Need to get 232 kB of archives. 2371s After this operation, 0 B of additional disk space will be used. 2371s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgpgme11t64 arm64 1.24.1-2ubuntu1 [142 kB] 2371s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oauthlib all 3.2.2-3 [89.9 kB] 2372s Fetched 232 kB in 0s (552 kB/s) 2372s (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 ... 80185 files and directories currently installed.) 2372s Preparing to unpack .../libgpgme11t64_1.24.1-2ubuntu1_arm64.deb ... 2372s Unpacking libgpgme11t64:arm64 (1.24.1-2ubuntu1) over (1.24.0-2ubuntu1) ... 2372s Preparing to unpack .../python3-oauthlib_3.2.2-3_all.deb ... 2372s Unpacking python3-oauthlib (3.2.2-3) over (3.2.2-2) ... 2372s Setting up python3-oauthlib (3.2.2-3) ... 2372s Setting up libgpgme11t64:arm64 (1.24.1-2ubuntu1) ... 2372s Processing triggers for libc-bin (2.40-4ubuntu1) ... 2373s Reading package lists... 2373s Building dependency tree... 2373s Reading state information... 2374s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2374s autopkgtest [01:33:44]: upgrading testbed (apt dist-upgrade and autopurge) 2374s Reading package lists... 2374s Building dependency tree... 2374s Reading state information... 2375s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 2375s Starting 2 pkgProblemResolver with broken count: 0 2375s Done 2375s Entering ResolveByKeep 2376s 2376s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2376s Reading package lists... 2377s Building dependency tree... 2377s Reading state information... 2377s Starting pkgProblemResolver with broken count: 0 2377s Starting 2 pkgProblemResolver with broken count: 0 2377s Done 2378s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2381s Reading package lists... 2381s Building dependency tree... 2381s Reading state information... 2382s Starting pkgProblemResolver with broken count: 0 2382s Starting 2 pkgProblemResolver with broken count: 0 2382s Done 2382s The following NEW packages will be installed: 2382s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2382s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libpython3.13-minimal 2382s libpython3.13-stdlib libtime-duration-perl libtimedate-perl libxslt1.1 2382s moreutils patroni patroni-doc postgresql postgresql-16 postgresql-client-16 2382s postgresql-client-common postgresql-common python3-behave python3-cdiff 2382s python3-click python3-colorama python3-coverage python3-dateutil 2382s python3-parse python3-parse-type python3-prettytable python3-psutil 2382s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2382s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert 2383s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 2383s Need to get 29.5 MB of archives. 2383s After this operation, 110 MB of additional disk space will be used. 2383s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 2383s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 2383s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 2383s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.3ubuntu1 [18.7 kB] 2383s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 2383s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-2 [879 kB] 2383s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-2 [2262 kB] 2383s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2383s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 2383s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 2383s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2383s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2383s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 2383s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 2383s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-2 [2061 kB] 2383s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 2383s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 2383s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu2 [168 kB] 2383s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 2383s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 2383s Get:21 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 2383s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 2383s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 2383s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 2383s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2383s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 2384s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 2384s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 2384s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 2384s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.4-1 [269 kB] 2384s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 2384s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.4-1 [508 kB] 2384s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 2384s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 2384s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 2384s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 2384s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 2384s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 2384s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-6 [98.6 kB] 2384s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-2 [729 kB] 2384s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 2384s Preconfiguring packages ... 2384s Fetched 29.5 MB in 2s (18.8 MB/s) 2385s Selecting previously unselected package fonts-lato. 2385s (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 ... 80185 files and directories currently installed.) 2385s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2385s Unpacking fonts-lato (2.015-1) ... 2385s Selecting previously unselected package libjson-perl. 2385s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2385s Unpacking libjson-perl (4.10000-1) ... 2385s Selecting previously unselected package postgresql-client-common. 2385s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 2385s Unpacking postgresql-client-common (262) ... 2385s Selecting previously unselected package ssl-cert. 2385s Preparing to unpack .../03-ssl-cert_1.1.3ubuntu1_all.deb ... 2385s Unpacking ssl-cert (1.1.3ubuntu1) ... 2385s Selecting previously unselected package postgresql-common. 2385s Preparing to unpack .../04-postgresql-common_262_all.deb ... 2385s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2385s Unpacking postgresql-common (262) ... 2385s Selecting previously unselected package libpython3.13-minimal:arm64. 2385s Preparing to unpack .../05-libpython3.13-minimal_3.13.1-2_arm64.deb ... 2385s Unpacking libpython3.13-minimal:arm64 (3.13.1-2) ... 2385s Selecting previously unselected package python3.13-minimal. 2385s Preparing to unpack .../06-python3.13-minimal_3.13.1-2_arm64.deb ... 2385s Unpacking python3.13-minimal (3.13.1-2) ... 2385s Selecting previously unselected package fonts-font-awesome. 2385s Preparing to unpack .../07-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2385s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2385s Selecting previously unselected package libio-pty-perl. 2385s Preparing to unpack .../08-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 2385s Unpacking libio-pty-perl (1:1.20-1build3) ... 2385s Selecting previously unselected package libipc-run-perl. 2385s Preparing to unpack .../09-libipc-run-perl_20231003.0-2_all.deb ... 2385s Unpacking libipc-run-perl (20231003.0-2) ... 2385s Selecting previously unselected package libjs-jquery. 2385s Preparing to unpack .../10-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2385s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2385s Selecting previously unselected package libjs-underscore. 2385s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2385s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2385s Selecting previously unselected package libjs-sphinxdoc. 2385s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-4_all.deb ... 2385s Unpacking libjs-sphinxdoc (8.1.3-4) ... 2385s Selecting previously unselected package libpq5:arm64. 2385s Preparing to unpack .../13-libpq5_17.2-1_arm64.deb ... 2385s Unpacking libpq5:arm64 (17.2-1) ... 2385s Selecting previously unselected package libpython3.13-stdlib:arm64. 2385s Preparing to unpack .../14-libpython3.13-stdlib_3.13.1-2_arm64.deb ... 2385s Unpacking libpython3.13-stdlib:arm64 (3.13.1-2) ... 2385s Selecting previously unselected package libtime-duration-perl. 2385s Preparing to unpack .../15-libtime-duration-perl_1.21-2_all.deb ... 2385s Unpacking libtime-duration-perl (1.21-2) ... 2385s Selecting previously unselected package libtimedate-perl. 2386s Preparing to unpack .../16-libtimedate-perl_2.3300-2_all.deb ... 2386s Unpacking libtimedate-perl (2.3300-2) ... 2386s Selecting previously unselected package libxslt1.1:arm64. 2386s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_arm64.deb ... 2386s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 2386s Selecting previously unselected package moreutils. 2386s Preparing to unpack .../18-moreutils_0.69-1_arm64.deb ... 2386s Unpacking moreutils (0.69-1) ... 2386s Selecting previously unselected package python3-ydiff. 2386s Preparing to unpack .../19-python3-ydiff_1.4.2-1_all.deb ... 2386s Unpacking python3-ydiff (1.4.2-1) ... 2386s Selecting previously unselected package python3-cdiff. 2386s Preparing to unpack .../20-python3-cdiff_1.4.2-1_all.deb ... 2386s Unpacking python3-cdiff (1.4.2-1) ... 2386s Selecting previously unselected package python3-colorama. 2386s Preparing to unpack .../21-python3-colorama_0.4.6-4_all.deb ... 2386s Unpacking python3-colorama (0.4.6-4) ... 2386s Selecting previously unselected package python3-click. 2386s Preparing to unpack .../22-python3-click_8.1.7-2_all.deb ... 2386s Unpacking python3-click (8.1.7-2) ... 2386s Selecting previously unselected package python3-dateutil. 2386s Preparing to unpack .../23-python3-dateutil_2.9.0-3_all.deb ... 2386s Unpacking python3-dateutil (2.9.0-3) ... 2386s Selecting previously unselected package python3-wcwidth. 2386s Preparing to unpack .../24-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2386s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2386s Selecting previously unselected package python3-prettytable. 2386s Preparing to unpack .../25-python3-prettytable_3.12.0-1_all.deb ... 2386s Unpacking python3-prettytable (3.12.0-1) ... 2386s Selecting previously unselected package python3-psutil. 2386s Preparing to unpack .../26-python3-psutil_5.9.8-2build3_arm64.deb ... 2386s Unpacking python3-psutil (5.9.8-2build3) ... 2386s Selecting previously unselected package python3-psycopg2. 2386s Preparing to unpack .../27-python3-psycopg2_2.9.10-1_arm64.deb ... 2386s Unpacking python3-psycopg2 (2.9.10-1) ... 2386s Selecting previously unselected package python3-pysyncobj. 2386s Preparing to unpack .../28-python3-pysyncobj_0.3.12-1_all.deb ... 2386s Unpacking python3-pysyncobj (0.3.12-1) ... 2386s Selecting previously unselected package patroni. 2386s Preparing to unpack .../29-patroni_3.3.4-1_all.deb ... 2386s Unpacking patroni (3.3.4-1) ... 2386s Selecting previously unselected package sphinx-rtd-theme-common. 2386s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 2386s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2386s Selecting previously unselected package patroni-doc. 2386s Preparing to unpack .../31-patroni-doc_3.3.4-1_all.deb ... 2386s Unpacking patroni-doc (3.3.4-1) ... 2386s Selecting previously unselected package postgresql-client-16. 2386s Preparing to unpack .../32-postgresql-client-16_16.4-3_arm64.deb ... 2386s Unpacking postgresql-client-16 (16.4-3) ... 2386s Selecting previously unselected package postgresql-16. 2386s Preparing to unpack .../33-postgresql-16_16.4-3_arm64.deb ... 2386s Unpacking postgresql-16 (16.4-3) ... 2387s Selecting previously unselected package postgresql. 2387s Preparing to unpack .../34-postgresql_16+262_all.deb ... 2387s Unpacking postgresql (16+262) ... 2387s Selecting previously unselected package python3-parse. 2387s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 2387s Unpacking python3-parse (1.20.2-1) ... 2387s Selecting previously unselected package python3-six. 2387s Preparing to unpack .../36-python3-six_1.17.0-1_all.deb ... 2387s Unpacking python3-six (1.17.0-1) ... 2387s Selecting previously unselected package python3-parse-type. 2387s Preparing to unpack .../37-python3-parse-type_0.6.4-1_all.deb ... 2387s Unpacking python3-parse-type (0.6.4-1) ... 2387s Selecting previously unselected package python3-behave. 2387s Preparing to unpack .../38-python3-behave_1.2.6-6_all.deb ... 2387s Unpacking python3-behave (1.2.6-6) ... 2387s Selecting previously unselected package python3.13. 2387s Preparing to unpack .../39-python3.13_3.13.1-2_arm64.deb ... 2387s Unpacking python3.13 (3.13.1-2) ... 2387s Selecting previously unselected package python3-coverage. 2387s Preparing to unpack .../40-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 2387s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2387s Setting up postgresql-client-common (262) ... 2387s Setting up fonts-lato (2.015-1) ... 2387s Setting up libio-pty-perl (1:1.20-1build3) ... 2387s Setting up python3-pysyncobj (0.3.12-1) ... 2387s Setting up python3-colorama (0.4.6-4) ... 2387s Setting up python3-ydiff (1.4.2-1) ... 2388s Setting up libpq5:arm64 (17.2-1) ... 2388s Setting up python3-click (8.1.7-2) ... 2388s Setting up python3-psutil (5.9.8-2build3) ... 2388s Setting up python3-six (1.17.0-1) ... 2389s Setting up libpython3.13-minimal:arm64 (3.13.1-2) ... 2389s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2389s Setting up ssl-cert (1.1.3ubuntu1) ... 2389s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2390s Setting up python3-psycopg2 (2.9.10-1) ... 2390s Setting up libipc-run-perl (20231003.0-2) ... 2390s Setting up libtime-duration-perl (1.21-2) ... 2390s Setting up libtimedate-perl (2.3300-2) ... 2390s Setting up python3-parse (1.20.2-1) ... 2390s Setting up libjson-perl (4.10000-1) ... 2390s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu2) ... 2390s Setting up python3.13-minimal (3.13.1-2) ... 2391s Setting up python3-dateutil (2.9.0-3) ... 2391s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2391s Setting up python3-prettytable (3.12.0-1) ... 2392s Setting up libpython3.13-stdlib:arm64 (3.13.1-2) ... 2392s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2392s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2392s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2392s Setting up moreutils (0.69-1) ... 2392s Setting up python3.13 (3.13.1-2) ... 2393s Setting up postgresql-client-16 (16.4-3) ... 2393s update-alternatives: using /usr/share/postgresql/16/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 2393s Setting up python3-cdiff (1.4.2-1) ... 2393s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2394s Setting up python3-parse-type (0.6.4-1) ... 2394s Setting up postgresql-common (262) ... 2394s Creating config file /etc/postgresql-common/createcluster.conf with new version 2394s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2394s Removing obsolete dictionary files: 2395s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2395s Setting up libjs-sphinxdoc (8.1.3-4) ... 2395s Setting up python3-behave (1.2.6-6) ... 2395s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2395s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2395s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2395s """Registers a custom type that will be available to "parse" 2395s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2395s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2396s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2396s """Registers a custom type that will be available to "parse" 2396s Setting up patroni (3.3.4-1) ... 2396s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2397s Setting up postgresql-16 (16.4-3) ... 2397s Creating new PostgreSQL cluster 16/main ... 2397s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2397s The files belonging to this database system will be owned by user "postgres". 2397s This user must also own the server process. 2397s 2397s The database cluster will be initialized with locale "C.UTF-8". 2397s The default database encoding has accordingly been set to "UTF8". 2397s The default text search configuration will be set to "english". 2397s 2397s Data page checksums are disabled. 2397s 2397s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2397s creating subdirectories ... ok 2397s selecting dynamic shared memory implementation ... posix 2397s selecting default max_connections ... 100 2397s selecting default shared_buffers ... 128MB 2397s selecting default time zone ... Etc/UTC 2397s creating configuration files ... ok 2397s running bootstrap script ... ok 2398s performing post-bootstrap initialization ... ok 2398s syncing data to disk ... ok 2401s Setting up patroni-doc (3.3.4-1) ... 2401s Setting up postgresql (16+262) ... 2401s Processing triggers for systemd (257-2ubuntu1) ... 2401s Processing triggers for man-db (2.13.0-1) ... 2403s Processing triggers for libc-bin (2.40-4ubuntu1) ... 2405s autopkgtest [01:34:15]: test acceptance-raft: debian/tests/acceptance raft 2405s autopkgtest [01:34:15]: test acceptance-raft: [----------------------- 2406s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2406s ++ ls -1r /usr/lib/postgresql/ 2406s ### PostgreSQL 16 acceptance-raft ### 2406s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2406s + '[' 16 == 10 -o 16 == 11 ']' 2406s + echo '### PostgreSQL 16 acceptance-raft ###' 2406s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=raft PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 2412s Jan 09 01:34:21 Feature: basic replication # features/basic_replication.feature:1 2412s Jan 09 01:34:21 We should check that the basic bootstrapping, replication and failover works. 2412s Jan 09 01:34:21 Scenario: check replication of a single table # features/basic_replication.feature:4 2412s Jan 09 01:34:21 Given I start postgres0 # features/steps/basic_replication.py:8 2421s Jan 09 01:34:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2421s Jan 09 01:34:31 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2421s Jan 09 01:34:31 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 2421s Jan 09 01:34:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 2421s Jan 09 01:34:31 When I start postgres1 # features/steps/basic_replication.py:8 2424s Jan 09 01:34:34 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2433s Jan 09 01:34:43 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2433s Jan 09 01:34:43 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2433s Jan 09 01:34:43 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2434s Jan 09 01:34:44 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2434s Jan 09 01:34:44 2434s Jan 09 01:34:44 Scenario: check restart of sync replica # features/basic_replication.feature:17 2434s Jan 09 01:34:44 Given I shut down postgres2 # features/steps/basic_replication.py:29 2435s Jan 09 01:34:45 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2435s Jan 09 01:34:45 When I start postgres2 # features/steps/basic_replication.py:8 2438s Jan 09 01:34:48 And I shut down postgres1 # features/steps/basic_replication.py:29 2441s Jan 09 01:34:51 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2442s Jan 09 01:34:52 When I start postgres1 # features/steps/basic_replication.py:8 2445s Jan 09 01:34:55 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2445s Jan 09 01:34:55 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2445s Jan 09 01:34:55 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2445s Jan 09 01:34:55 2445s Jan 09 01:34:55 Scenario: check stuck sync replica # features/basic_replication.feature:28 2445s Jan 09 01:34:55 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 2445s Jan 09 01:34:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 2445s Jan 09 01:34:55 And I create table on postgres0 # features/steps/basic_replication.py:73 2445s Jan 09 01:34:55 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2446s Jan 09 01:34:56 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2446s Jan 09 01:34:56 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2446s Jan 09 01:34:56 And I load data on postgres0 # features/steps/basic_replication.py:84 2447s Jan 09 01:34:56 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2450s Jan 09 01:34:59 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2450s Jan 09 01:34:59 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2450s Jan 09 01:35:00 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2450s Jan 09 01:35:00 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 2450s Jan 09 01:35:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2450s Jan 09 01:35:00 And I drop table on postgres0 # features/steps/basic_replication.py:73 2450s Jan 09 01:35:00 2450s Jan 09 01:35:00 Scenario: check multi sync replication # features/basic_replication.feature:44 2450s Jan 09 01:35:00 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 2450s Jan 09 01:35:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2450s Jan 09 01:35:00 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2454s Jan 09 01:35:04 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2454s Jan 09 01:35:04 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2454s Jan 09 01:35:04 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 2454s Jan 09 01:35:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2454s Jan 09 01:35:04 And I shut down postgres1 # features/steps/basic_replication.py:29 2457s Jan 09 01:35:07 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2458s Jan 09 01:35:08 When I start postgres1 # features/steps/basic_replication.py:8 2461s Jan 09 01:35:11 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2462s Jan 09 01:35:12 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2462s Jan 09 01:35:12 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2462s Jan 09 01:35:12 2462s Jan 09 01:35:12 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2462s Jan 09 01:35:12 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2464s Jan 09 01:35:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2464s Jan 09 01:35:14 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2466s Jan 09 01:35:16 And I shut down postgres0 # features/steps/basic_replication.py:29 2467s Jan 09 01:35:17 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2470s Jan 09 01:35:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2470s Jan 09 01:35:20 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2488s Jan 09 01:35:38 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2490s Jan 09 01:35:40 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2490s Jan 09 01:35:40 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 2490s Jan 09 01:35:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2490s Jan 09 01:35:40 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2490s Jan 09 01:35:40 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2493s Jan 09 01:35:43 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2493s Jan 09 01:35:43 2493s Jan 09 01:35:43 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2493s Jan 09 01:35:43 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2493s Jan 09 01:35:43 And I start postgres0 # features/steps/basic_replication.py:8 2493s Jan 09 01:35:43 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2497s Jan 09 01:35:47 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2497s Jan 09 01:35:47 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2501s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2517s Jan 09 01:36:07 2517s Jan 09 01:36:07 @reject-duplicate-name 2517s Jan 09 01:36:07 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2517s Jan 09 01:36:07 Given I start duplicate postgres0 on port 8011 # None 2517s Jan 09 01:36:07 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 2517s Jan 09 01:36:07 2517s Jan 09 01:36:07 Feature: cascading replication # features/cascading_replication.feature:1 2517s Jan 09 01:36:07 We should check that patroni can do base backup and streaming from the replica 2517s Jan 09 01:36:07 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2517s Jan 09 01:36:07 Given I start postgres0 # features/steps/basic_replication.py:8 2526s Jan 09 01:36:16 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2526s Jan 09 01:36:16 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2536s Jan 09 01:36:26 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2537s Jan 09 01:36:27 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2537s Jan 09 01:36:27 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2537s Jan 09 01:36:27 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2537s Jan 09 01:36:27 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2546s Jan 09 01:36:36 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2547s Jan 09 01:36:37 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2562s Jan 09 01:36:52 2562s SKIP FEATURE citus: Citus extenstion isn't available 2562s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2562s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2562s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2562s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2562s SKIP Scenario check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node: Citus extenstion isn't available 2562s Jan 09 01:36:52 Feature: citus # features/citus.feature:1 2562s Jan 09 01:36:52 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2562s Jan 09 01:36:52 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2562s Jan 09 01:36:52 Given I start postgres0 in citus group 0 # None 2562s Jan 09 01:36:52 And I start postgres2 in citus group 1 # None 2562s Jan 09 01:36:52 Then postgres0 is a leader in a group 0 after 10 seconds # None 2562s Jan 09 01:36:52 And postgres2 is a leader in a group 1 after 10 seconds # None 2562s Jan 09 01:36:52 When I start postgres1 in citus group 0 # None 2562s Jan 09 01:36:52 And I start postgres3 in citus group 1 # None 2562s Jan 09 01:36:52 Then replication works from postgres0 to postgres1 after 15 seconds # None 2562s Jan 09 01:36:52 Then replication works from postgres2 to postgres3 after 15 seconds # None 2562s Jan 09 01:36:52 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2562s Jan 09 01:36:52 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2562s Jan 09 01:36:52 2562s Jan 09 01:36:52 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2562s Jan 09 01:36:52 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2562s Jan 09 01:36:52 Then postgres1 role is the primary after 10 seconds # None 2562s Jan 09 01:36:52 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2562s Jan 09 01:36:52 And replication works from postgres1 to postgres0 after 15 seconds # None 2562s Jan 09 01:36:52 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2562s Jan 09 01:36:52 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2562s Jan 09 01:36:52 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2562s Jan 09 01:36:52 Then postgres0 role is the primary after 10 seconds # None 2562s Jan 09 01:36:52 And replication works from postgres0 to postgres1 after 15 seconds # None 2562s Jan 09 01:36:52 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2562s Jan 09 01:36:52 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2562s Jan 09 01:36:52 2562s Jan 09 01:36:52 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2562s Jan 09 01:36:52 Given I create a distributed table on postgres0 # None 2562s Jan 09 01:36:52 And I start a thread inserting data on postgres0 # None 2562s Jan 09 01:36:52 When I run patronictl.py switchover batman --group 1 --force # None 2562s Jan 09 01:36:52 Then I receive a response returncode 0 # None 2562s Jan 09 01:36:52 And postgres3 role is the primary after 10 seconds # None 2562s Jan 09 01:36:52 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2562s Jan 09 01:36:52 And replication works from postgres3 to postgres2 after 15 seconds # None 2562s Jan 09 01:36:52 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2562s Jan 09 01:36:52 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2562s Jan 09 01:36:52 And a thread is still alive # None 2562s Jan 09 01:36:52 When I run patronictl.py switchover batman --group 1 --force # None 2562s Jan 09 01:36:52 Then I receive a response returncode 0 # None 2562s Jan 09 01:36:52 And postgres2 role is the primary after 10 seconds # None 2562s Jan 09 01:36:52 And replication works from postgres2 to postgres3 after 15 seconds # None 2562s Jan 09 01:36:52 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2562s Jan 09 01:36:52 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2562s Jan 09 01:36:52 And a thread is still alive # None 2562s Jan 09 01:36:52 When I stop a thread # None 2562s Jan 09 01:36:52 Then a distributed table on postgres0 has expected rows # None 2562s Jan 09 01:36:52 2562s Jan 09 01:36:52 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2562s Jan 09 01:36:52 Given I cleanup a distributed table on postgres0 # None 2562s Jan 09 01:36:52 And I start a thread inserting data on postgres0 # None 2562s Jan 09 01:36:52 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2562s Jan 09 01:36:52 Then I receive a response returncode 0 # None 2562s Jan 09 01:36:52 And postgres2 role is the primary after 10 seconds # None 2562s Jan 09 01:36:52 And replication works from postgres2 to postgres3 after 15 seconds # None 2562s Jan 09 01:36:52 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2562s Jan 09 01:36:52 And a thread is still alive # None 2562s Jan 09 01:36:52 When I stop a thread # None 2562s Jan 09 01:36:52 Then a distributed table on postgres0 has expected rows # None 2569s Jan 09 01:36:59 2569s Jan 09 01:36:59 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2569s Jan 09 01:36:59 Given I start postgres4 in citus group 2 # None 2569s Jan 09 01:36:59 Then postgres4 is a leader in a group 2 after 10 seconds # None 2569s Jan 09 01:36:59 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2569s Jan 09 01:36:59 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2569s Jan 09 01:36:59 Then I receive a response returncode 0 # None 2569s Jan 09 01:36:59 And I receive a response output "+ttl: 20" # None 2569s Jan 09 01:36:59 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2569s Jan 09 01:36:59 When I shut down postgres4 # None 2569s Jan 09 01:36:59 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2569s Jan 09 01:36:59 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2569s Jan 09 01:36:59 Then a transaction finishes in 20 seconds # None 2569s Jan 09 01:36:59 2569s Jan 09 01:36:59 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2569s Jan 09 01:36:59 We should check that patroni can bootstrap a new cluster from a backup 2569s Jan 09 01:36:59 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2569s Jan 09 01:36:59 Given I start postgres0 # features/steps/basic_replication.py:8 2572s Jan 09 01:37:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2573s Jan 09 01:37:03 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2573s Jan 09 01:37:03 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2583s Jan 09 01:37:13 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2584s Jan 09 01:37:14 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2584s Jan 09 01:37:14 2584s Jan 09 01:37:14 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2584s Jan 09 01:37:14 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2584s Jan 09 01:37:14 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2584s Jan 09 01:37:14 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2589s Jan 09 01:37:19 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2589s Jan 09 01:37:19 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2607s Jan 09 01:37:37 2607s Jan 09 01:37:37 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2607s Jan 09 01:37:37 We should check the basic dcs failsafe mode functioning 2607s Jan 09 01:37:37 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2607s Jan 09 01:37:37 Given I start postgres0 # features/steps/basic_replication.py:8 2611s Jan 09 01:37:41 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2611s Jan 09 01:37:41 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2611s Jan 09 01:37:41 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 2611s Jan 09 01:37:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2611s Jan 09 01:37:41 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2611s Jan 09 01:37:41 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2611s Jan 09 01:37:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2611s Jan 09 01:37:41 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2611s Jan 09 01:37:41 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 2611s Jan 09 01:37:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2611s Jan 09 01:37:41 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 2611s Jan 09 01:37:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2611s Jan 09 01:37:41 2611s Jan 09 01:37:41 @dcs-failsafe 2611s Jan 09 01:37:41 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2611s Jan 09 01:37:41 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2611s Jan 09 01:37:41 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 2615s Jan 09 01:37:45 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2615s Jan 09 01:37:45 2615s Jan 09 01:37:45 @dcs-failsafe 2615s Jan 09 01:37:45 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2615s Jan 09 01:37:45 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2615s Jan 09 01:37:45 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2616s Jan 09 01:37:46 And I shut down postgres0 # features/steps/basic_replication.py:29 2618s Jan 09 01:37:48 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2621s Jan 09 01:37:51 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2621s Jan 09 01:37:51 2621s Jan 09 01:37:51 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2621s Jan 09 01:37:51 Given I start postgres0 # features/steps/basic_replication.py:8 2624s Jan 09 01:37:54 And I start postgres1 # features/steps/basic_replication.py:8 2624s Jan 09 01:37:54 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2625s Jan 09 01:37:55 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2625s Jan 09 01:37:55 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2630s Jan 09 01:38:00 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2630s Jan 09 01:38:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2630s Jan 09 01:38:00 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2630s Jan 09 01:38:00 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2630s Jan 09 01:38:00 2630s Jan 09 01:38:00 @dcs-failsafe @slot-advance 2630s Jan 09 01:38:00 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2630s Jan 09 01:38:00 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2630s Jan 09 01:38:00 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2633s Jan 09 01:38:03 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2633s Jan 09 01:38:03 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2633s Jan 09 01:38:03 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 2639s Jan 09 01:38:09 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2639s Jan 09 01:38:09 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2639s Jan 09 01:38:09 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2639s Jan 09 01:38:09 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2639s Jan 09 01:38:09 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2639s Jan 09 01:38:09 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2646s Jan 09 01:38:16 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2646s Jan 09 01:38:16 2646s Jan 09 01:38:16 @dcs-failsafe 2646s Jan 09 01:38:16 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2646s Jan 09 01:38:16 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2646s Jan 09 01:38:16 And I kill postgres1 # features/steps/basic_replication.py:34 2647s Jan 09 01:38:17 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2647s Jan 09 01:38:17 waiting for server to shut down.... done 2647s Jan 09 01:38:17 server stopped 2647s Jan 09 01:38:17 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2650s Jan 09 01:38:20 2650s Jan 09 01:38:20 @dcs-failsafe 2650s Jan 09 01:38:20 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2650s Jan 09 01:38:20 Given I kill postgres0 # features/steps/basic_replication.py:34 2651s Jan 09 01:38:21 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2651s Jan 09 01:38:21 waiting for server to shut down.... done 2651s Jan 09 01:38:21 server stopped 2651s Jan 09 01:38:21 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2651s Jan 09 01:38:21 When I start postgres1 # features/steps/basic_replication.py:8 2654s Jan 09 01:38:24 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2655s Jan 09 01:38:25 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2657s Jan 09 01:38:27 2657s Jan 09 01:38:27 @dcs-failsafe 2657s Jan 09 01:38:27 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2657s Jan 09 01:38:27 Given I start postgres0 # features/steps/basic_replication.py:8 2661s Jan 09 01:38:31 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2666s Jan 09 01:38:36 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2666s Jan 09 01:38:36 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2666s Jan 09 01:38:36 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2666s Jan 09 01:38:36 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2667s Jan 09 01:38:37 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2668s Jan 09 01:38:38 2668s Jan 09 01:38:38 @dcs-failsafe @slot-advance 2668s Jan 09 01:38:38 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2668s Jan 09 01:38:38 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 2668s Jan 09 01:38:38 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2672s Jan 09 01:38:42 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2673s Jan 09 01:38:43 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2673s Jan 09 01:38:43 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2675s Jan 09 01:38:45 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2675s Jan 09 01:38:45 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2675s Jan 09 01:38:45 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2675s Jan 09 01:38:45 2675s Jan 09 01:38:45 @dcs-failsafe 2675s Jan 09 01:38:45 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 2675s Jan 09 01:38:45 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2675s Jan 09 01:38:45 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 2680s Jan 09 01:38:50 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2680s Jan 09 01:38:50 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2680s Jan 09 01:38:50 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2680s Jan 09 01:38:50 2680s Jan 09 01:38:50 @dcs-failsafe @slot-advance 2680s Jan 09 01:38:50 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 2680s Jan 09 01:38:50 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2680s Jan 09 01:38:50 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2681s Jan 09 01:38:51 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2681s Jan 09 01:38:51 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2681s Jan 09 01:38:51 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2687s Jan 09 01:38:57 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2687s Jan 09 01:38:57 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2687s Jan 09 01:38:57 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2687s Jan 09 01:38:57 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2687s Jan 09 01:38:57 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2699s Jan 09 01:39:09 2699s Jan 09 01:39:09 Feature: ignored slots # features/ignored_slots.feature:1 2699s Jan 09 01:39:09 2699s Jan 09 01:39:09 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2699s Jan 09 01:39:09 Given I start postgres1 # features/steps/basic_replication.py:8 2703s Jan 09 01:39:13 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2703s Jan 09 01:39:13 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2703s Jan 09 01:39: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 2704s Jan 09 01:39:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 2704s Jan 09 01:39:13 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2704s Jan 09 01:39:14 When I shut down postgres1 # features/steps/basic_replication.py:29 2706s Jan 09 01:39:16 And I start postgres1 # features/steps/basic_replication.py:8 2709s Jan 09 01:39:19 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2712s Jan 09 01:39:22 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2713s Jan 09 01:39:23 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2713s Jan 09 01:39:23 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2713s Jan 09 01:39:23 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2713s Jan 09 01:39:23 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2713s Jan 09 01:39:23 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2713s Jan 09 01:39:23 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2713s Jan 09 01:39:23 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2713s Jan 09 01:39:23 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2713s Jan 09 01:39:23 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2713s Jan 09 01:39:23 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2713s Jan 09 01:39:23 When I start postgres0 # features/steps/basic_replication.py:8 2716s Jan 09 01:39:26 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2717s Jan 09 01:39:27 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2717s Jan 09 01:39:27 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2718s Jan 09 01:39:28 When I shut down postgres1 # features/steps/basic_replication.py:29 2720s Jan 09 01:39:30 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2721s Jan 09 01:39:31 When I start postgres1 # features/steps/basic_replication.py:8 2724s Jan 09 01:39:34 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2724s Jan 09 01:39:34 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2725s Jan 09 01:39:35 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2727s Jan 09 01:39:37 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2727s Jan 09 01:39:37 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2727s Jan 09 01:39:37 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2727s Jan 09 01:39:37 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2727s Jan 09 01:39:37 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2727s Jan 09 01:39:37 When I shut down postgres0 # features/steps/basic_replication.py:29 2729s Jan 09 01:39:39 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2730s Jan 09 01:39:40 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2730s Jan 09 01:39:40 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2730s Jan 09 01:39:40 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2730s Jan 09 01:39:40 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2738s Jan 09 01:39:48 2738s Jan 09 01:39:48 Feature: nostream node # features/nostream_node.feature:1 2738s Jan 09 01:39:48 2738s Jan 09 01:39:48 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2738s Jan 09 01:39:48 When I start postgres0 # features/steps/basic_replication.py:8 2747s Jan 09 01:39:57 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2750s Jan 09 01:40:00 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2751s Jan 09 01:40:01 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2756s Jan 09 01:40:06 2756s Jan 09 01:40:06 @slot-advance 2756s Jan 09 01:40:06 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2756s Jan 09 01:40:06 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 2756s Jan 09 01:40:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2756s Jan 09 01:40:06 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2759s Jan 09 01:40:09 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2760s Jan 09 01:40:10 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2764s Jan 09 01:40:14 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2770s Jan 09 01:40:20 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2770s Jan 09 01:40:20 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2788s Jan 09 01:40:38 2788s Jan 09 01:40:38 Feature: patroni api # features/patroni_api.feature:1 2788s Jan 09 01:40:38 We should check that patroni correctly responds to valid and not-valid API requests. 2788s Jan 09 01:40:38 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2788s Jan 09 01:40:38 Given I start postgres0 # features/steps/basic_replication.py:8 2791s Jan 09 01:40:41 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2791s Jan 09 01:40:41 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2791s Jan 09 01:40:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2791s Jan 09 01:40:41 And I receive a response state running # features/steps/patroni_api.py:98 2791s Jan 09 01:40:41 And I receive a response role master # features/steps/patroni_api.py:98 2791s Jan 09 01:40:41 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2791s Jan 09 01:40:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 2791s Jan 09 01:40:41 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2791s Jan 09 01:40:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2791s Jan 09 01:40:41 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2791s Jan 09 01:40:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 2791s Jan 09 01:40:41 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2791s Jan 09 01:40:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 2791s Jan 09 01:40:41 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2791s Jan 09 01:40:41 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2793s Jan 09 01:40:42 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2793s Jan 09 01:40:42 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2793s Jan 09 01:40:43 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2793s Jan 09 01:40:43 Then I receive a response code 412 # features/steps/patroni_api.py:98 2793s Jan 09 01:40:43 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2793s Jan 09 01:40:43 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2793s Jan 09 01:40:43 Then I receive a response code 400 # features/steps/patroni_api.py:98 2793s Jan 09 01:40:43 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2793s Jan 09 01:40:43 Then I receive a response code 400 # features/steps/patroni_api.py:98 2793s Jan 09 01:40:43 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2793s Jan 09 01:40:43 2793s Jan 09 01:40:43 Scenario: check local configuration reload # features/patroni_api.feature:32 2793s Jan 09 01:40:43 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2793s Jan 09 01:40:43 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2793s Jan 09 01:40:43 Then I receive a response code 202 # features/steps/patroni_api.py:98 2793s Jan 09 01:40:43 2793s Jan 09 01:40:43 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2793s Jan 09 01:40:43 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 2793s Jan 09 01:40:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 2793s Jan 09 01:40:43 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2795s Jan 09 01:40:45 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2795s Jan 09 01:40:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 2795s Jan 09 01:40:45 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2795s Jan 09 01:40:45 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2795s Jan 09 01:40:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 2795s Jan 09 01:40:45 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2795s Jan 09 01:40:45 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2799s Jan 09 01:40:49 2799s Jan 09 01:40:49 Scenario: check the scheduled restart # features/patroni_api.feature:49 2799s Jan 09 01:40:49 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2801s Jan 09 01:40:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2801s Jan 09 01:40:51 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2801s Jan 09 01:40:51 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2801s Jan 09 01:40:51 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 2801s Jan 09 01:40:51 Then I receive a response code 202 # features/steps/patroni_api.py:98 2801s Jan 09 01:40:51 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2809s Jan 09 01:40:59 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2809s Jan 09 01:40:59 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 2809s Jan 09 01:40:59 Then I receive a response code 202 # features/steps/patroni_api.py:98 2809s Jan 09 01:40:59 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 2816s Jan 09 01:41:06 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2817s Jan 09 01:41:07 2817s Jan 09 01:41:07 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2817s Jan 09 01:41:07 Given I start postgres1 # features/steps/basic_replication.py:8 2820s Jan 09 01:41:10 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2821s Jan 09 01:41:11 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2823s Jan 09 01:41:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2823s Jan 09 01:41:13 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2823s Jan 09 01:41:13 waiting for server to shut down.... done 2823s Jan 09 01:41:13 server stopped 2823s Jan 09 01:41:13 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2823s Jan 09 01:41:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 2823s Jan 09 01:41:13 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2824s Jan 09 01:41:14 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2827s Jan 09 01:41:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2827s Jan 09 01:41:17 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2828s Jan 09 01:41:18 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2830s Jan 09 01:41:20 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2830s Jan 09 01:41:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 2830s Jan 09 01:41:20 And I receive a response state running # features/steps/patroni_api.py:98 2830s Jan 09 01:41:20 And I receive a response role replica # features/steps/patroni_api.py:98 2830s Jan 09 01:41:20 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2834s Jan 09 01:41:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2834s Jan 09 01:41:24 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2834s Jan 09 01:41:24 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2835s Jan 09 01:41:25 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2835s Jan 09 01:41:25 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2837s Jan 09 01:41:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2837s Jan 09 01:41:27 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2837s Jan 09 01:41:27 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2838s Jan 09 01:41:28 2838s Jan 09 01:41:28 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2838s Jan 09 01:41:28 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 2840s Jan 09 01:41:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 2840s Jan 09 01:41:30 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2840s Jan 09 01:41:30 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2841s Jan 09 01:41:31 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2846s Jan 09 01:41:36 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2846s Jan 09 01:41:36 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2846s Jan 09 01:41:36 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2847s Jan 09 01:41:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 2847s Jan 09 01:41:36 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2847s Jan 09 01:41:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2847s Jan 09 01:41:37 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2847s Jan 09 01:41:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2847s Jan 09 01:41:37 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2847s Jan 09 01:41:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 2847s Jan 09 01:41:37 2847s Jan 09 01:41:37 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2847s Jan 09 01:41:37 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2848s Jan 09 01:41:38 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2848s Jan 09 01:41:38 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2848s Jan 09 01:41:38 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2850s Jan 09 01:41:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2850s Jan 09 01:41:40 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2852s Jan 09 01:41:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2852s Jan 09 01:41:41 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2862s Jan 09 01:41:51 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2863s Jan 09 01:41:52 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2865s Jan 09 01:41:55 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2865s Jan 09 01:41:55 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2866s Jan 09 01:41:56 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2866s Jan 09 01:41:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2866s Jan 09 01:41:56 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2866s Jan 09 01:41:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 2866s Jan 09 01:41:56 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2866s Jan 09 01:41:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 2866s Jan 09 01:41:56 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2866s Jan 09 01:41:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2876s Jan 09 01:42:06 2876s Jan 09 01:42:06 Feature: permanent slots # features/permanent_slots.feature:1 2876s Jan 09 01:42:06 2876s Jan 09 01:42:06 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2876s Jan 09 01:42:06 Given I start postgres0 # features/steps/basic_replication.py:8 2885s Jan 09 01:42:15 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2885s Jan 09 01:42:15 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2885s Jan 09 01:42:15 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 2885s Jan 09 01:42:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2885s Jan 09 01:42:15 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2885s Jan 09 01:42:15 When I start postgres1 # features/steps/basic_replication.py:8 2889s Jan 09 01:42:19 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 2893s Jan 09 01:42:22 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2897s Jan 09 01:42:27 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2897s Jan 09 01:42:27 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2897s Jan 09 01:42:27 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2897s Jan 09 01:42:27 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2897s Jan 09 01:42:27 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 2897s Jan 09 01:42:27 2897s Jan 09 01:42:27 @slot-advance 2897s Jan 09 01:42:27 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2897s Jan 09 01:42:27 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2899s Jan 09 01:42:29 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 2900s Jan 09 01:42:29 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2901s Jan 09 01:42:31 2901s Jan 09 01:42:31 @slot-advance 2901s Jan 09 01:42:31 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2901s Jan 09 01:42:31 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2906s Jan 09 01:42:36 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2906s Jan 09 01:42:36 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2907s Jan 09 01:42:37 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2907s Jan 09 01:42:37 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2907s Jan 09 01:42:37 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2907s Jan 09 01:42:37 2907s Jan 09 01:42:37 @slot-advance 2907s Jan 09 01:42:37 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2907s Jan 09 01:42:37 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2907s Jan 09 01:42:37 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2907s Jan 09 01:42:37 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2907s Jan 09 01:42:37 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 2907s Jan 09 01:42:37 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 2907s Jan 09 01:42:37 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2907s Jan 09 01:42:37 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2907s Jan 09 01:42:37 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2907s Jan 09 01:42:37 2907s Jan 09 01:42:37 @slot-advance 2907s Jan 09 01:42:37 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2907s Jan 09 01:42:37 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2907s Jan 09 01:42:37 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2907s Jan 09 01:42:37 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2907s Jan 09 01:42:37 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2908s Jan 09 01:42:38 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2908s Jan 09 01:42:38 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2908s Jan 09 01:42:38 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2908s Jan 09 01:42:38 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2910s Jan 09 01:42:40 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2910s Jan 09 01:42:40 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2910s Jan 09 01:42:40 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2910s Jan 09 01:42:40 2910s Jan 09 01:42:40 @slot-advance 2910s Jan 09 01:42:40 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 2910s Jan 09 01:42:40 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 2910s Jan 09 01:42:40 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 2910s Jan 09 01:42:40 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 2910s Jan 09 01:42:40 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 2910s Jan 09 01:42:40 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 2910s Jan 09 01:42:40 2910s Jan 09 01:42:40 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 2910s Jan 09 01:42:40 Given I shut down postgres3 # features/steps/basic_replication.py:29 2911s Jan 09 01:42:41 And I shut down postgres2 # features/steps/basic_replication.py:29 2912s Jan 09 01:42:42 And I shut down postgres0 # features/steps/basic_replication.py:29 2914s Jan 09 01:42:44 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2914s Jan 09 01:42:44 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2914s Jan 09 01:42:44 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2914s Jan 09 01:42:44 When I start postgres0 # features/steps/basic_replication.py:8 2917s Jan 09 01:42:47 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 2917s Jan 09 01:42:47 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2918s Jan 09 01:42:48 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2933s Jan 09 01:43:03 2933s Jan 09 01:43:03 Feature: priority replication # features/priority_failover.feature:1 2933s Jan 09 01:43:03 We should check that we can give nodes priority during failover 2933s Jan 09 01:43:03 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2933s Jan 09 01:43:03 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2936s Jan 09 01:43:06 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2939s Jan 09 01:43:09 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2940s Jan 09 01:43:10 When I shut down postgres0 # features/steps/basic_replication.py:29 2942s Jan 09 01:43:12 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 2944s Jan 09 01:43:14 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2944s Jan 09 01:43:14 When I start postgres0 # features/steps/basic_replication.py:8 2947s Jan 09 01:43:17 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2950s Jan 09 01:43:20 2950s Jan 09 01:43:20 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2950s Jan 09 01:43:20 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2953s Jan 09 01:43:23 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2958s Jan 09 01:43:27 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2959s Jan 09 01:43:29 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2960s Jan 09 01:43:30 When I shut down postgres0 # features/steps/basic_replication.py:29 2962s Jan 09 01:43:32 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2963s Jan 09 01:43:33 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 2963s Jan 09 01:43:33 2963s Jan 09 01:43:33 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2963s Jan 09 01:43:33 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2963s Jan 09 01:43:33 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2963s Jan 09 01:43:33 Then I receive a response code 202 # features/steps/patroni_api.py:98 2963s Jan 09 01:43:33 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 2965s Jan 09 01:43:35 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2966s Jan 09 01:43:36 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2966s Jan 09 01:43:36 Then I receive a response code 412 # features/steps/patroni_api.py:98 2966s Jan 09 01:43:36 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2966s Jan 09 01:43:36 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2966s Jan 09 01:43:36 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2966s Jan 09 01:43:36 Then I receive a response code 202 # features/steps/patroni_api.py:98 2966s Jan 09 01:43:36 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2968s Jan 09 01:43:38 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2969s Jan 09 01:43:39 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2972s Jan 09 01:43:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 2972s Jan 09 01:43:42 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2986s Jan 09 01:43:55 2986s Jan 09 01:43:55 Feature: recovery # features/recovery.feature:1 2986s Jan 09 01:43:55 We want to check that crashed postgres is started back 2986s Jan 09 01:43:55 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2986s Jan 09 01:43:55 Given I start postgres0 # features/steps/basic_replication.py:8 2989s Jan 09 01:43:59 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2990s Jan 09 01:44:00 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2990s Jan 09 01:44:00 When I start postgres1 # features/steps/basic_replication.py:8 2993s Jan 09 01:44:03 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2993s Jan 09 01:44:03 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2994s Jan 09 01:44:04 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2994s Jan 09 01:44:04 waiting for server to shut down.... done 2994s Jan 09 01:44:04 server stopped 2994s Jan 09 01:44:04 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2996s Jan 09 01:44:06 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2996s Jan 09 01:44:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2996s Jan 09 01:44:06 And I receive a response role master # features/steps/patroni_api.py:98 2996s Jan 09 01:44:06 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2996s Jan 09 01:44:06 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2997s Jan 09 01:44:07 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3000s Jan 09 01:44:10 3000s Jan 09 01:44:10 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 3000s Jan 09 01:44:10 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 3000s Jan 09 01:44:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 3000s Jan 09 01:44:10 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3000s Jan 09 01:44:10 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3000s Jan 09 01:44:10 waiting for server to shut down.... done 3000s Jan 09 01:44:10 server stopped 3000s Jan 09 01:44:10 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3002s Jan 09 01:44:12 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3013s Jan 09 01:44:22 3013s Jan 09 01:44:22 Feature: standby cluster # features/standby_cluster.feature:1 3013s Jan 09 01:44:22 3013s Jan 09 01:44:22 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 3013s Jan 09 01:44:22 Given I start postgres1 # features/steps/basic_replication.py:8 3016s Jan 09 01:44:25 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3016s Jan 09 01:44:25 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3016s Jan 09 01:44:25 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 3016s Jan 09 01:44:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 3016s Jan 09 01:44:26 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3016s Jan 09 01:44:26 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3019s Jan 09 01:44:29 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 3019s Jan 09 01:44:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 3019s Jan 09 01:44:29 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3019s Jan 09 01:44:29 When I start postgres0 # features/steps/basic_replication.py:8 3022s Jan 09 01:44:32 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3023s Jan 09 01:44:33 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 3024s Jan 09 01:44:34 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3024s Jan 09 01:44:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 3024s Jan 09 01:44:34 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3024s Jan 09 01:44:34 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3024s Jan 09 01:44:34 3024s Jan 09 01:44:34 @slot-advance 3024s Jan 09 01:44:34 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 3024s Jan 09 01:44:34 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3027s Jan 09 01:44:37 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3032s Jan 09 01:44:42 3032s Jan 09 01:44:42 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 3032s Jan 09 01:44:42 When I shut down postgres1 # features/steps/basic_replication.py:29 3034s Jan 09 01:44:44 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3034s Jan 09 01:44:44 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 3035s Jan 09 01:44:45 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3035s Jan 09 01:44:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 3035s Jan 09 01:44:45 3035s Jan 09 01:44:45 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 3035s Jan 09 01:44:45 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 3038s Jan 09 01:44:48 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3041s Jan 09 01:44:51 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3041s Jan 09 01:44:51 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3041s Jan 09 01:44:51 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 3041s Jan 09 01:44:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 3041s Jan 09 01:44:51 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3041s Jan 09 01:44:51 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3044s Jan 09 01:44:54 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3044s Jan 09 01:44:54 Then I receive a response code 503 # features/steps/patroni_api.py:98 3044s Jan 09 01:44:54 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 3044s Jan 09 01:44:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 3044s Jan 09 01:44:54 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3044s Jan 09 01:44:54 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3044s Jan 09 01:44:54 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 3047s Jan 09 01:44:57 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 3047s Jan 09 01:44:57 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 3048s Jan 09 01:44:58 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3048s Jan 09 01:44:58 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 3048s Jan 09 01:44:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 3048s Jan 09 01:44:58 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3048s Jan 09 01:44:58 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3048s Jan 09 01:44:58 3048s Jan 09 01:44:58 Scenario: check switchover # features/standby_cluster.feature:57 3048s Jan 09 01:44:58 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 3052s Jan 09 01:45:02 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3052s Jan 09 01:45:02 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 3054s Jan 09 01:45:04 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 3054s Jan 09 01:45:04 3054s Jan 09 01:45:04 Scenario: check failover # features/standby_cluster.feature:63 3054s Jan 09 01:45:04 When I kill postgres2 # features/steps/basic_replication.py:34 3055s Jan 09 01:45:05 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 3055s Jan 09 01:45:05 waiting for server to shut down.... done 3055s Jan 09 01:45:05 server stopped 3055s Jan 09 01:45:05 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 3074s Jan 09 01:45:24 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3074s Jan 09 01:45:24 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3074s Jan 09 01:45:24 Then I receive a response code 503 # features/steps/patroni_api.py:98 3074s Jan 09 01:45:24 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3074s Jan 09 01:45:24 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3075s Jan 09 01:45:25 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 3090s Jan 09 01:45:40 3090s Jan 09 01:45:40 Feature: watchdog # features/watchdog.feature:1 3090s Jan 09 01:45:40 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3090s Jan 09 01:45:40 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3090s Jan 09 01:45:40 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 3094s Jan 09 01:45:44 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3094s Jan 09 01:45:44 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3094s Jan 09 01:45:44 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3094s Jan 09 01:45:44 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 3094s Jan 09 01:45:44 3094s Jan 09 01:45:44 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3094s Jan 09 01:45:44 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 3095s Jan 09 01:45:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3095s Jan 09 01:45:45 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 3095s Jan 09 01:45:45 When I sleep for 4 seconds # features/steps/patroni_api.py:39 3099s Jan 09 01:45:49 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 3099s Jan 09 01:45:49 3099s Jan 09 01:45:49 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3099s Jan 09 01:45:49 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3101s Jan 09 01:45:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3101s Jan 09 01:45:51 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3103s Jan 09 01:45:53 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3103s Jan 09 01:45:53 3103s Jan 09 01:45:53 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3103s Jan 09 01:45:53 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3103s Jan 09 01:45:53 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3105s Jan 09 01:45:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3105s Jan 09 01:45:55 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3106s Jan 09 01:45:56 3106s Jan 09 01:45:56 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3106s Jan 09 01:45:56 Given I shut down postgres0 # features/steps/basic_replication.py:29 3108s Jan 09 01:45:58 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3108s Jan 09 01:45:58 3108s Jan 09 01:45:58 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3108s Jan 09 01:45:58 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3108s Jan 09 01:45:58 And I start postgres0 with watchdog # features/steps/watchdog.py:16 3111s Jan 09 01:46:01 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3113s Jan 09 01:46:03 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 3113s Jan 09 01:46:03 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 3145s Jan 09 01:46:35 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4318.XqIVVCvx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4321.XrRGNnTx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4366.XlrmkWrx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4405.XyWMGLzx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4462.XcsfzUNx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4507.XyPQwZax 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4583.XINhdIhx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4632.XPyCJUPx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4636.XiJTagox 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4725.Xqptymmx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4835.XRLzVtNx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4838.XhNniTWx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4883.XOdpjpjx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.4933.XusALHAx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5059.XbtIKwvx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5063.XoHRAEGx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5066.XDjbRCkx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5112.XcWvMdDx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5169.XCNzGBFx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5259.XydmyYqx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5262.XdIKZefx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5589.XTbVGbRx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5662.XmSHdLcx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5720.XZEwJyfx 3147s Jan 09 01:46:37 Skipping duplicate data .coverage.autopkgtest.5993.XgklYnBx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.5997.XfeGgVBx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6050.XPffTcXx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6112.XElENbrx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6203.XAseIOex 3147s Jan 09 01:46:37 Skipping duplicate data .coverage.autopkgtest.6299.XpnznpYx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6302.Xwvheibx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6346.XTZXjFKx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6413.XHAqRbfx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6452.XOMaWGkx 3147s Jan 09 01:46:37 Skipping duplicate data .coverage.autopkgtest.6581.XTtqTTfx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6584.XxeUaRex 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6634.XGgiqRcx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6650.XZSBXKMx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6690.XjHLhpnx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6739.XVbzStEx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6745.XDxZiXDx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6784.XOIrLmJx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6829.XWYqnzJx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.6999.XIPdEIKx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7002.XuCCAZtx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7009.XxDitaXx 3147s Jan 09 01:46:37 Skipping duplicate data .coverage.autopkgtest.7144.XCKRyVax 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7147.XiJKdNzx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7196.XZzXcylx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7245.XhYHEIWx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7282.XxHcAWLx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7336.XQqncOKx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7470.XbwfJLOx 3147s Jan 09 01:46:37 Skipping duplicate data .coverage.autopkgtest.7552.XrBQYhgx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7555.XyzkEPAx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7599.XOclJCCx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7672.XuOvBJFx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7754.XwBogIhx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.7802.XMZORsIx 3147s Jan 09 01:46:37 Skipping duplicate data .coverage.autopkgtest.8166.XeVQNNrx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8169.XxBEJkxx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8213.XmwmkQmx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8353.XdbrBhyx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8356.XEPcmPsx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8419.XJmWOeox 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8474.XbbqmsRx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8578.XSqGpMBx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8693.XVKcGNpx 3147s Jan 09 01:46:37 Skipping duplicate data .coverage.autopkgtest.8826.XgxEiFBx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8830.XWoJOVCx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8874.XyNEtJQx 3147s Jan 09 01:46:37 Skipping duplicate data .coverage.autopkgtest.8877.XOPmhYux 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8881.XWVVrqjx 3147s Jan 09 01:46:37 Combined data file .coverage.autopkgtest.8893.XwoUHSAx 3147s Jan 09 01:46:37 Skipping duplicate data .coverage.autopkgtest.8960.XcaVmhex 3149s Jan 09 01:46:39 Name Stmts Miss Cover 3149s Jan 09 01:46:39 ---------------------------------------------------------------------------------------------------------- 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 135 67 50% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 1 96% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 13 82% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 3 94% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 104 37 64% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/cryptography/utils.py 76 25 67% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/api.py 780 289 63% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 83 87% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 42 87% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/ha.py 1270 314 75% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 171 79% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 217 74% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 35 90% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/utils.py 370 122 67% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 491 53% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 107 54% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3149s Jan 09 01:46:39 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3149s Jan 09 01:46:39 patroni/__init__.py 13 2 85% 3149s Jan 09 01:46:39 patroni/__main__.py 199 199 0% 3149s Jan 09 01:46:39 patroni/api.py 780 780 0% 3149s Jan 09 01:46:39 patroni/async_executor.py 96 69 28% 3149s Jan 09 01:46:39 patroni/collections.py 56 15 73% 3149s Jan 09 01:46:39 patroni/config.py 371 189 49% 3149s Jan 09 01:46:39 patroni/config_generator.py 212 212 0% 3149s Jan 09 01:46:39 patroni/ctl.py 936 411 56% 3149s Jan 09 01:46:39 patroni/daemon.py 76 6 92% 3149s Jan 09 01:46:39 patroni/dcs/__init__.py 654 273 58% 3149s Jan 09 01:46:39 patroni/dcs/consul.py 484 484 0% 3149s Jan 09 01:46:39 patroni/dcs/etcd3.py 679 679 0% 3149s Jan 09 01:46:39 patroni/dcs/etcd.py 603 603 0% 3149s Jan 09 01:46:39 patroni/dcs/exhibitor.py 62 62 0% 3149s Jan 09 01:46:39 patroni/dcs/kubernetes.py 940 940 0% 3149s Jan 09 01:46:39 patroni/dcs/raft.py 319 73 77% 3149s Jan 09 01:46:39 patroni/dcs/zookeeper.py 289 289 0% 3149s Jan 09 01:46:39 patroni/dynamic_loader.py 35 7 80% 3149s Jan 09 01:46:39 patroni/exceptions.py 16 1 94% 3149s Jan 09 01:46:39 patroni/file_perm.py 43 15 65% 3149s Jan 09 01:46:39 patroni/global_config.py 81 18 78% 3149s Jan 09 01:46:39 patroni/ha.py 1270 1270 0% 3149s Jan 09 01:46:39 patroni/log.py 221 95 57% 3149s Jan 09 01:46:39 patroni/postgresql/__init__.py 822 652 21% 3149s Jan 09 01:46:39 patroni/postgresql/available_parameters/__init__.py 24 3 88% 3149s Jan 09 01:46:39 patroni/postgresql/bootstrap.py 255 225 12% 3149s Jan 09 01:46:39 patroni/postgresql/callback_executor.py 55 34 38% 3149s Jan 09 01:46:39 patroni/postgresql/cancellable.py 104 84 19% 3149s Jan 09 01:46:39 patroni/postgresql/config.py 838 718 14% 3149s Jan 09 01:46:39 patroni/postgresql/connection.py 75 50 33% 3149s Jan 09 01:46:39 patroni/postgresql/misc.py 43 30 30% 3149s Jan 09 01:46:39 patroni/postgresql/mpp/__init__.py 89 21 76% 3149s Jan 09 01:46:39 patroni/postgresql/mpp/citus.py 259 259 0% 3149s Jan 09 01:46:39 patroni/postgresql/postmaster.py 170 139 18% 3149s Jan 09 01:46:39 patroni/postgresql/rewind.py 416 416 0% 3149s Jan 09 01:46:39 patroni/postgresql/slots.py 349 300 14% 3149s Jan 09 01:46:39 patroni/postgresql/sync.py 130 96 26% 3149s Jan 09 01:46:39 patroni/postgresql/validator.py 157 52 67% 3149s Jan 09 01:46:39 patroni/psycopg.py 46 32 30% 3149s Jan 09 01:46:39 patroni/raft_controller.py 22 1 95% 3149s Jan 09 01:46:39 patroni/request.py 58 6 90% 3149s Jan 09 01:46:39 patroni/scripts/__init__.py 0 0 100% 3149s Jan 09 01:46:39 patroni/scripts/aws.py 59 59 0% 3149s Jan 09 01:46:39 patroni/scripts/barman/__init__.py 0 0 100% 3149s Jan 09 01:46:39 patroni/scripts/barman/cli.py 51 51 0% 3149s Jan 09 01:46:39 patroni/scripts/barman/config_switch.py 51 51 0% 3149s Jan 09 01:46:39 patroni/scripts/barman/recover.py 37 37 0% 3149s Jan 09 01:46:39 patroni/scripts/barman/utils.py 94 94 0% 3149s Jan 09 01:46:39 patroni/scripts/wale_restore.py 207 207 0% 3149s Jan 09 01:46:39 patroni/tags.py 38 11 71% 3149s Jan 09 01:46:39 patroni/utils.py 370 233 37% 3149s Jan 09 01:46:39 patroni/validator.py 307 221 28% 3149s Jan 09 01:46:39 patroni/version.py 1 0 100% 3149s Jan 09 01:46:39 patroni/watchdog/__init__.py 2 2 0% 3149s Jan 09 01:46:39 patroni/watchdog/base.py 203 203 0% 3149s Jan 09 01:46:39 patroni/watchdog/linux.py 135 135 0% 3149s Jan 09 01:46:39 ---------------------------------------------------------------------------------------------------------- 3149s Jan 09 01:46:39 TOTAL 40175 22851 43% 3149s Jan 09 01:46:39 12 features passed, 0 failed, 1 skipped 3149s Jan 09 01:46:39 54 scenarios passed, 0 failed, 6 skipped 3149s Jan 09 01:46:39 525 steps passed, 0 failed, 63 skipped, 0 undefined 3149s Jan 09 01:46:39 Took 9m25.499s 3149s ### End 16 acceptance-raft ### 3149s + echo '### End 16 acceptance-raft ###' 3149s + rm -f '/tmp/pgpass?' 3149s ++ id -u 3149s + '[' 1000 -eq 0 ']' 3149s autopkgtest [01:46:39]: test acceptance-raft: -----------------------] 3150s acceptance-raft PASS 3150s autopkgtest [01:46:40]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3150s autopkgtest [01:46:40]: test test: preparing testbed 3245s autopkgtest [01:48:15]: testbed dpkg architecture: arm64 3245s autopkgtest [01:48:15]: testbed apt version: 2.9.18 3246s autopkgtest [01:48:16]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3246s autopkgtest [01:48:16]: testbed release detected to be: plucky 3247s autopkgtest [01:48:17]: updating testbed package index (apt update) 3247s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 3247s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 3247s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 3247s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 3248s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 3248s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [18.2 kB] 3248s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [128 kB] 3248s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [802 kB] 3248s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [234 kB] 3248s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 3248s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [983 kB] 3248s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [22.9 kB] 3248s Fetched 2328 kB in 1s (2414 kB/s) 3249s Reading package lists... 3249s Reading package lists... 3250s Building dependency tree... 3250s Reading state information... 3250s Calculating upgrade... 3251s The following packages will be upgraded: 3251s libgpgme11t64 python3-oauthlib 3251s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3251s Need to get 232 kB of archives. 3251s After this operation, 0 B of additional disk space will be used. 3251s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libgpgme11t64 arm64 1.24.1-2ubuntu1 [142 kB] 3251s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-oauthlib all 3.2.2-3 [89.9 kB] 3252s Fetched 232 kB in 0s (548 kB/s) 3252s (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 ... 80185 files and directories currently installed.) 3252s Preparing to unpack .../libgpgme11t64_1.24.1-2ubuntu1_arm64.deb ... 3252s Unpacking libgpgme11t64:arm64 (1.24.1-2ubuntu1) over (1.24.0-2ubuntu1) ... 3252s Preparing to unpack .../python3-oauthlib_3.2.2-3_all.deb ... 3252s Unpacking python3-oauthlib (3.2.2-3) over (3.2.2-2) ... 3252s Setting up python3-oauthlib (3.2.2-3) ... 3253s Setting up libgpgme11t64:arm64 (1.24.1-2ubuntu1) ... 3253s Processing triggers for libc-bin (2.40-4ubuntu1) ... 3253s Reading package lists... 3253s Building dependency tree... 3253s Reading state information... 3254s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3254s autopkgtest [01:48:24]: upgrading testbed (apt dist-upgrade and autopurge) 3254s Reading package lists... 3254s Building dependency tree... 3254s Reading state information... 3255s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 3255s Starting 2 pkgProblemResolver with broken count: 0 3255s Done 3256s Entering ResolveByKeep 3256s 3257s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3257s Reading package lists... 3257s Building dependency tree... 3257s Reading state information... 3258s Starting pkgProblemResolver with broken count: 0 3258s Starting 2 pkgProblemResolver with broken count: 0 3258s Done 3258s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3261s Reading package lists... 3262s Building dependency tree... 3262s Reading state information... 3262s Starting pkgProblemResolver with broken count: 0 3262s Starting 2 pkgProblemResolver with broken count: 0 3262s Done 3263s The following NEW packages will be installed: 3263s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 3263s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 3263s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 3263s libjs-underscore libpq5 libpython3.13-minimal libpython3.13-stdlib patroni 3263s patroni-doc python3-aiohappyeyeballs python3-aiohttp python3-aiosignal 3263s python3-async-timeout python3-boto3 python3-botocore python3-cachetools 3263s python3-cdiff python3-click python3-colorama python3-consul python3-coverage 3263s python3-dateutil python3-dnspython python3-etcd python3-eventlet 3263s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 3263s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 3263s python3-kerberos python3-kubernetes python3-mccabe python3-mock 3263s python3-multidict python3-packaging python3-pluggy python3-prettytable 3263s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 3263s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 3263s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 3263s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 3263s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 3263s python3-zope.event python3-zope.interface python3.13 python3.13-minimal 3263s sphinx-rtd-theme-common 3263s 0 upgraded, 74 newly installed, 0 to remove and 0 not upgraded. 3263s Need to get 23.0 MB of archives. 3263s After this operation, 187 MB of additional disk space will be used. 3263s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 3263s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-2 [879 kB] 3263s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-2 [2262 kB] 3264s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3264s Get:5 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 3264s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3264s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.34.4-2.1 [100 kB] 3264s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 3264s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 3264s Get:10 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 3264s Get:11 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 3264s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3264s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 3264s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.2-1 [141 kB] 3264s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-2 [2061 kB] 3264s Get:16 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.4.2-1 [19.0 kB] 3264s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.4.2-1 [1778 B] 3264s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 3264s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 3264s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-3 [80.2 kB] 3264s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 3264s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.12.0-1 [36.5 kB] 3264s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build3 [196 kB] 3264s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.10-1 [150 kB] 3264s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 3264s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-6 [32.1 kB] 3264s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-consul all 1.5.1+dfsg-1 [21.7 kB] 3264s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.1.0-1 [173 kB] 3264s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-11ubuntu1 [275 kB] 3264s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 3264s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 7.2-1 [141 kB] 3264s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.11.1-1 [1010 kB] 3264s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build10 [21.3 kB] 3264s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 3264s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.17.0-1 [13.2 kB] 3264s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 3264s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-multidict arm64 6.1.0-1build1 [38.3 kB] 3264s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-yarl arm64 1.13.1-1build1 [110 kB] 3264s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-async-timeout all 5.0.1-1 [6830 B] 3264s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohappyeyeballs all 2.4.4-2 [10.6 kB] 3264s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-frozenlist arm64 1.5.0-1build1 [59.0 kB] 3264s Get:42 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiosignal all 1.3.2-1 [5182 B] 3264s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohttp arm64 3.10.11-1 [334 kB] 3264s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 3264s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1 all 0.6.0-1 [57.8 kB] 3264s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1-modules all 0.4.1-1 [80.2 kB] 3264s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyu2f all 0.1.5-4 [22.9 kB] 3264s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-responses all 0.25.3-1 [54.3 kB] 3264s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 3264s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 3264s Get:51 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 3264s Get:52 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-websocket all 1.8.0-2 [38.5 kB] 3264s Get:53 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kubernetes all 30.1.0-1 [386 kB] 3264s Get:54 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 3264s Get:55 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.4-1 [269 kB] 3264s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 3264s Get:57 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.4-1 [508 kB] 3264s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 3264s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 3264s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 3264s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 3264s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-2 [729 kB] 3264s Get:63 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 3264s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 3264s Get:65 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycodestyle all 2.12.1-1 [30.1 kB] 3264s Get:66 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyflakes all 3.2.0-2 [52.9 kB] 3264s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-flake8 all 7.1.1-2 [44.1 kB] 3264s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 3264s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 3264s Get:70 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 3264s Get:71 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.4-1 [252 kB] 3264s Get:72 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 3264s Get:73 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 3264s Get:74 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 3265s Fetched 23.0 MB in 2s (14.1 MB/s) 3265s Selecting previously unselected package fonts-lato. 3265s (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 ... 80185 files and directories currently installed.) 3265s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3265s Unpacking fonts-lato (2.015-1) ... 3265s Selecting previously unselected package libpython3.13-minimal:arm64. 3265s Preparing to unpack .../01-libpython3.13-minimal_3.13.1-2_arm64.deb ... 3265s Unpacking libpython3.13-minimal:arm64 (3.13.1-2) ... 3265s Selecting previously unselected package python3.13-minimal. 3265s Preparing to unpack .../02-python3.13-minimal_3.13.1-2_arm64.deb ... 3265s Unpacking python3.13-minimal (3.13.1-2) ... 3265s Selecting previously unselected package libjs-jquery. 3265s Preparing to unpack .../03-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3265s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3265s Selecting previously unselected package libjs-jquery-hotkeys. 3265s Preparing to unpack .../04-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 3265s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3265s Selecting previously unselected package fonts-font-awesome. 3265s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3265s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3266s Selecting previously unselected package libcares2:arm64. 3266s Preparing to unpack .../06-libcares2_1.34.4-2.1_arm64.deb ... 3266s Unpacking libcares2:arm64 (1.34.4-2.1) ... 3266s Selecting previously unselected package libev4t64:arm64. 3266s Preparing to unpack .../07-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 3266s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 3266s Selecting previously unselected package libjs-jquery-metadata. 3266s Preparing to unpack .../08-libjs-jquery-metadata_12-4_all.deb ... 3266s Unpacking libjs-jquery-metadata (12-4) ... 3266s Selecting previously unselected package libjs-jquery-tablesorter. 3266s Preparing to unpack .../09-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 3266s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3266s Selecting previously unselected package libjs-jquery-throttle-debounce. 3266s Preparing to unpack .../10-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 3266s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3266s Selecting previously unselected package libjs-underscore. 3266s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3266s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3266s Selecting previously unselected package libjs-sphinxdoc. 3266s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-4_all.deb ... 3266s Unpacking libjs-sphinxdoc (8.1.3-4) ... 3266s Selecting previously unselected package libpq5:arm64. 3266s Preparing to unpack .../13-libpq5_17.2-1_arm64.deb ... 3266s Unpacking libpq5:arm64 (17.2-1) ... 3266s Selecting previously unselected package libpython3.13-stdlib:arm64. 3266s Preparing to unpack .../14-libpython3.13-stdlib_3.13.1-2_arm64.deb ... 3266s Unpacking libpython3.13-stdlib:arm64 (3.13.1-2) ... 3266s Selecting previously unselected package python3-ydiff. 3266s Preparing to unpack .../15-python3-ydiff_1.4.2-1_all.deb ... 3266s Unpacking python3-ydiff (1.4.2-1) ... 3266s Selecting previously unselected package python3-cdiff. 3266s Preparing to unpack .../16-python3-cdiff_1.4.2-1_all.deb ... 3266s Unpacking python3-cdiff (1.4.2-1) ... 3266s Selecting previously unselected package python3-colorama. 3266s Preparing to unpack .../17-python3-colorama_0.4.6-4_all.deb ... 3266s Unpacking python3-colorama (0.4.6-4) ... 3266s Selecting previously unselected package python3-click. 3266s Preparing to unpack .../18-python3-click_8.1.7-2_all.deb ... 3266s Unpacking python3-click (8.1.7-2) ... 3266s Selecting previously unselected package python3-dateutil. 3266s Preparing to unpack .../19-python3-dateutil_2.9.0-3_all.deb ... 3266s Unpacking python3-dateutil (2.9.0-3) ... 3266s Selecting previously unselected package python3-wcwidth. 3266s Preparing to unpack .../20-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 3266s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 3266s Selecting previously unselected package python3-prettytable. 3266s Preparing to unpack .../21-python3-prettytable_3.12.0-1_all.deb ... 3266s Unpacking python3-prettytable (3.12.0-1) ... 3266s Selecting previously unselected package python3-psutil. 3266s Preparing to unpack .../22-python3-psutil_5.9.8-2build3_arm64.deb ... 3266s Unpacking python3-psutil (5.9.8-2build3) ... 3266s Selecting previously unselected package python3-psycopg2. 3266s Preparing to unpack .../23-python3-psycopg2_2.9.10-1_arm64.deb ... 3266s Unpacking python3-psycopg2 (2.9.10-1) ... 3266s Selecting previously unselected package python3-dnspython. 3266s Preparing to unpack .../24-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 3266s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 3266s Selecting previously unselected package python3-etcd. 3266s Preparing to unpack .../25-python3-etcd_0.4.5-6_all.deb ... 3266s Unpacking python3-etcd (0.4.5-6) ... 3266s Selecting previously unselected package python3-consul. 3266s Preparing to unpack .../26-python3-consul_1.5.1+dfsg-1_all.deb ... 3266s Unpacking python3-consul (1.5.1+dfsg-1) ... 3266s Selecting previously unselected package python3-greenlet. 3267s Preparing to unpack .../27-python3-greenlet_3.1.0-1_arm64.deb ... 3267s Unpacking python3-greenlet (3.1.0-1) ... 3267s Selecting previously unselected package python3-eventlet. 3267s Preparing to unpack .../28-python3-eventlet_0.36.1-11ubuntu1_all.deb ... 3267s Unpacking python3-eventlet (0.36.1-11ubuntu1) ... 3267s Selecting previously unselected package python3-zope.event. 3267s Preparing to unpack .../29-python3-zope.event_5.0-0.1_all.deb ... 3267s Unpacking python3-zope.event (5.0-0.1) ... 3267s Selecting previously unselected package python3-zope.interface. 3267s Preparing to unpack .../30-python3-zope.interface_7.2-1_arm64.deb ... 3267s Unpacking python3-zope.interface (7.2-1) ... 3267s Selecting previously unselected package python3-gevent. 3267s Preparing to unpack .../31-python3-gevent_24.11.1-1_arm64.deb ... 3267s Unpacking python3-gevent (24.11.1-1) ... 3267s Selecting previously unselected package python3-kerberos. 3267s Preparing to unpack .../32-python3-kerberos_1.1.14-3.1build10_arm64.deb ... 3267s Unpacking python3-kerberos (1.1.14-3.1build10) ... 3267s Selecting previously unselected package python3-pure-sasl. 3267s Preparing to unpack .../33-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 3267s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 3267s Selecting previously unselected package python3-six. 3267s Preparing to unpack .../34-python3-six_1.17.0-1_all.deb ... 3267s Unpacking python3-six (1.17.0-1) ... 3267s Selecting previously unselected package python3-kazoo. 3267s Preparing to unpack .../35-python3-kazoo_2.9.0-2_all.deb ... 3267s Unpacking python3-kazoo (2.9.0-2) ... 3267s Selecting previously unselected package python3-multidict. 3267s Preparing to unpack .../36-python3-multidict_6.1.0-1build1_arm64.deb ... 3267s Unpacking python3-multidict (6.1.0-1build1) ... 3267s Selecting previously unselected package python3-yarl. 3267s Preparing to unpack .../37-python3-yarl_1.13.1-1build1_arm64.deb ... 3267s Unpacking python3-yarl (1.13.1-1build1) ... 3267s Selecting previously unselected package python3-async-timeout. 3267s Preparing to unpack .../38-python3-async-timeout_5.0.1-1_all.deb ... 3267s Unpacking python3-async-timeout (5.0.1-1) ... 3267s Selecting previously unselected package python3-aiohappyeyeballs. 3267s Preparing to unpack .../39-python3-aiohappyeyeballs_2.4.4-2_all.deb ... 3267s Unpacking python3-aiohappyeyeballs (2.4.4-2) ... 3267s Selecting previously unselected package python3-frozenlist. 3267s Preparing to unpack .../40-python3-frozenlist_1.5.0-1build1_arm64.deb ... 3267s Unpacking python3-frozenlist (1.5.0-1build1) ... 3267s Selecting previously unselected package python3-aiosignal. 3267s Preparing to unpack .../41-python3-aiosignal_1.3.2-1_all.deb ... 3267s Unpacking python3-aiosignal (1.3.2-1) ... 3267s Selecting previously unselected package python3-aiohttp. 3267s Preparing to unpack .../42-python3-aiohttp_3.10.11-1_arm64.deb ... 3267s Unpacking python3-aiohttp (3.10.11-1) ... 3267s Selecting previously unselected package python3-cachetools. 3267s Preparing to unpack .../43-python3-cachetools_5.3.3-1_all.deb ... 3267s Unpacking python3-cachetools (5.3.3-1) ... 3267s Selecting previously unselected package python3-pyasn1. 3267s Preparing to unpack .../44-python3-pyasn1_0.6.0-1_all.deb ... 3267s Unpacking python3-pyasn1 (0.6.0-1) ... 3267s Selecting previously unselected package python3-pyasn1-modules. 3267s Preparing to unpack .../45-python3-pyasn1-modules_0.4.1-1_all.deb ... 3267s Unpacking python3-pyasn1-modules (0.4.1-1) ... 3267s Selecting previously unselected package python3-pyu2f. 3267s Preparing to unpack .../46-python3-pyu2f_0.1.5-4_all.deb ... 3267s Unpacking python3-pyu2f (0.1.5-4) ... 3267s Selecting previously unselected package python3-responses. 3267s Preparing to unpack .../47-python3-responses_0.25.3-1_all.deb ... 3267s Unpacking python3-responses (0.25.3-1) ... 3267s Selecting previously unselected package python3-rsa. 3267s Preparing to unpack .../48-python3-rsa_4.9-2_all.deb ... 3267s Unpacking python3-rsa (4.9-2) ... 3267s Selecting previously unselected package python3-google-auth. 3267s Preparing to unpack .../49-python3-google-auth_2.28.2-3_all.deb ... 3267s Unpacking python3-google-auth (2.28.2-3) ... 3267s Selecting previously unselected package python3-requests-oauthlib. 3267s Preparing to unpack .../50-python3-requests-oauthlib_1.3.1-1_all.deb ... 3267s Unpacking python3-requests-oauthlib (1.3.1-1) ... 3267s Selecting previously unselected package python3-websocket. 3267s Preparing to unpack .../51-python3-websocket_1.8.0-2_all.deb ... 3267s Unpacking python3-websocket (1.8.0-2) ... 3267s Selecting previously unselected package python3-kubernetes. 3267s Preparing to unpack .../52-python3-kubernetes_30.1.0-1_all.deb ... 3267s Unpacking python3-kubernetes (30.1.0-1) ... 3268s Selecting previously unselected package python3-pysyncobj. 3268s Preparing to unpack .../53-python3-pysyncobj_0.3.12-1_all.deb ... 3268s Unpacking python3-pysyncobj (0.3.12-1) ... 3268s Selecting previously unselected package patroni. 3268s Preparing to unpack .../54-patroni_3.3.4-1_all.deb ... 3268s Unpacking patroni (3.3.4-1) ... 3268s Selecting previously unselected package sphinx-rtd-theme-common. 3268s Preparing to unpack .../55-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 3268s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 3268s Selecting previously unselected package patroni-doc. 3268s Preparing to unpack .../56-patroni-doc_3.3.4-1_all.deb ... 3268s Unpacking patroni-doc (3.3.4-1) ... 3268s Selecting previously unselected package python3-jmespath. 3268s Preparing to unpack .../57-python3-jmespath_1.0.1-1_all.deb ... 3268s Unpacking python3-jmespath (1.0.1-1) ... 3268s Selecting previously unselected package python3-botocore. 3268s Preparing to unpack .../58-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 3268s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 3268s Selecting previously unselected package python3-s3transfer. 3268s Preparing to unpack .../59-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 3268s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 3268s Selecting previously unselected package python3-boto3. 3268s Preparing to unpack .../60-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 3268s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3269s Selecting previously unselected package python3.13. 3269s Preparing to unpack .../61-python3.13_3.13.1-2_arm64.deb ... 3269s Unpacking python3.13 (3.13.1-2) ... 3269s Selecting previously unselected package python3-coverage. 3269s Preparing to unpack .../62-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 3269s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 3269s Selecting previously unselected package python3-mccabe. 3269s Preparing to unpack .../63-python3-mccabe_0.7.0-1_all.deb ... 3269s Unpacking python3-mccabe (0.7.0-1) ... 3269s Selecting previously unselected package python3-pycodestyle. 3269s Preparing to unpack .../64-python3-pycodestyle_2.12.1-1_all.deb ... 3269s Unpacking python3-pycodestyle (2.12.1-1) ... 3269s Selecting previously unselected package python3-pyflakes. 3269s Preparing to unpack .../65-python3-pyflakes_3.2.0-2_all.deb ... 3269s Unpacking python3-pyflakes (3.2.0-2) ... 3269s Selecting previously unselected package python3-flake8. 3269s Preparing to unpack .../66-python3-flake8_7.1.1-2_all.deb ... 3269s Unpacking python3-flake8 (7.1.1-2) ... 3269s Selecting previously unselected package python3-iniconfig. 3269s Preparing to unpack .../67-python3-iniconfig_1.1.1-2_all.deb ... 3269s Unpacking python3-iniconfig (1.1.1-2) ... 3269s Selecting previously unselected package python3-packaging. 3269s Preparing to unpack .../68-python3-packaging_24.2-1_all.deb ... 3269s Unpacking python3-packaging (24.2-1) ... 3269s Selecting previously unselected package python3-pluggy. 3269s Preparing to unpack .../69-python3-pluggy_1.5.0-1_all.deb ... 3269s Unpacking python3-pluggy (1.5.0-1) ... 3269s Selecting previously unselected package python3-pytest. 3269s Preparing to unpack .../70-python3-pytest_8.3.4-1_all.deb ... 3269s Unpacking python3-pytest (8.3.4-1) ... 3269s Selecting previously unselected package libjs-jquery-isonscreen. 3269s Preparing to unpack .../71-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 3269s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 3269s Selecting previously unselected package python3-pytest-cov. 3269s Preparing to unpack .../72-python3-pytest-cov_5.0.0-1_all.deb ... 3269s Unpacking python3-pytest-cov (5.0.0-1) ... 3269s Selecting previously unselected package python3-mock. 3269s Preparing to unpack .../73-python3-mock_5.1.0-1_all.deb ... 3269s Unpacking python3-mock (5.1.0-1) ... 3269s Setting up python3-iniconfig (1.1.1-2) ... 3269s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 3269s Setting up fonts-lato (2.015-1) ... 3269s Setting up python3-pysyncobj (0.3.12-1) ... 3270s Setting up python3-cachetools (5.3.3-1) ... 3270s Setting up python3-colorama (0.4.6-4) ... 3270s Setting up python3-zope.event (5.0-0.1) ... 3270s Setting up python3-zope.interface (7.2-1) ... 3271s Setting up python3-pyflakes (3.2.0-2) ... 3271s Setting up python3-ydiff (1.4.2-1) ... 3271s Setting up libpq5:arm64 (17.2-1) ... 3271s Setting up python3-kerberos (1.1.14-3.1build10) ... 3271s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3272s Setting up python3-click (8.1.7-2) ... 3272s Setting up python3-psutil (5.9.8-2build3) ... 3272s Setting up python3-multidict (6.1.0-1build1) ... 3273s Setting up python3-frozenlist (1.5.0-1build1) ... 3273s Setting up python3-aiosignal (1.3.2-1) ... 3273s Setting up python3-mock (5.1.0-1) ... 3273s Setting up python3-async-timeout (5.0.1-1) ... 3274s Setting up python3-six (1.17.0-1) ... 3274s Setting up libpython3.13-minimal:arm64 (3.13.1-2) ... 3274s Setting up python3-responses (0.25.3-1) ... 3274s Setting up python3-pycodestyle (2.12.1-1) ... 3274s Setting up python3-packaging (24.2-1) ... 3275s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 3275s Setting up python3-pyu2f (0.1.5-4) ... 3275s Setting up python3-jmespath (1.0.1-1) ... 3275s Setting up python3-greenlet (3.1.0-1) ... 3276s Setting up libcares2:arm64 (1.34.4-2.1) ... 3276s Setting up python3-psycopg2 (2.9.10-1) ... 3276s Setting up python3-aiohappyeyeballs (2.4.4-2) ... 3276s Setting up python3-pluggy (1.5.0-1) ... 3276s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 3277s Setting up python3-pyasn1 (0.6.0-1) ... 3277s Setting up python3.13-minimal (3.13.1-2) ... 3278s Setting up python3-dateutil (2.9.0-3) ... 3279s Setting up python3-mccabe (0.7.0-1) ... 3279s Setting up python3-consul (1.5.1+dfsg-1) ... 3279s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3279s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3279s Setting up python3-prettytable (3.12.0-1) ... 3279s Setting up python3-yarl (1.13.1-1build1) ... 3280s Setting up libpython3.13-stdlib:arm64 (3.13.1-2) ... 3280s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3280s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 3280s Setting up python3-websocket (1.8.0-2) ... 3280s Setting up python3-requests-oauthlib (1.3.1-1) ... 3280s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3280s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 3280s Setting up python3.13 (3.13.1-2) ... 3281s Setting up python3-etcd (0.4.5-6) ... 3282s Setting up python3-pytest (8.3.4-1) ... 3282s Setting up python3-cdiff (1.4.2-1) ... 3282s Setting up python3-aiohttp (3.10.11-1) ... 3283s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 3283s Setting up python3-gevent (24.11.1-1) ... 3284s Setting up python3-flake8 (7.1.1-2) ... 3284s Setting up python3-eventlet (0.36.1-11ubuntu1) ... 3285s Setting up python3-kazoo (2.9.0-2) ... 3285s Setting up python3-pyasn1-modules (0.4.1-1) ... 3286s Setting up libjs-jquery-metadata (12-4) ... 3286s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 3286s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 3286s Setting up libjs-sphinxdoc (8.1.3-4) ... 3286s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3286s Setting up python3-rsa (4.9-2) ... 3287s Setting up patroni (3.3.4-1) ... 3287s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3288s Setting up patroni-doc (3.3.4-1) ... 3288s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 3288s Setting up python3-pytest-cov (5.0.0-1) ... 3288s Setting up python3-google-auth (2.28.2-3) ... 3289s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3289s Setting up python3-kubernetes (30.1.0-1) ... 3292s Processing triggers for systemd (257-2ubuntu1) ... 3292s Processing triggers for man-db (2.13.0-1) ... 3293s Processing triggers for libc-bin (2.40-4ubuntu1) ... 3296s autopkgtest [01:49:06]: test test: [----------------------- 3296s running test 3297s ============================= test session starts ============================== 3297s platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 3297s cachedir: .pytest_cache 3297s rootdir: /tmp/autopkgtest.1iewxn/build.CWT/src 3297s plugins: cov-5.0.0, typeguard-4.4.1 3304s collecting ... collected 657 items 3304s 3304s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 3304s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 3304s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 3304s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 3305s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 3305s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 3305s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 3305s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 3305s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 3305s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 3305s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 3305s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 3305s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 1%] 3305s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 3305s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 3305s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 3305s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 3305s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 3305s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 3305s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 3305s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 3305s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 3305s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 3305s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 3305s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 3305s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 3%] 3305s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 3305s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 3305s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 3305s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 3305s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 3305s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 3305s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 3305s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 3305s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 3305s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 3305s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 3305s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 3305s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 5%] 3305s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 3305s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 3305s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 3306s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 3306s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 3306s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 3306s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 3306s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 3306s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 3306s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 3306s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 3306s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 3306s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 7%] 3306s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 3306s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 3306s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 3306s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 3306s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 3306s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 3306s tests/test_barman.py::TestMain::test_main PASSED [ 8%] 3306s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 3306s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 3306s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 3306s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 3306s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 3306s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 9%] 3306s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 3306s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 3306s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 3306s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 3306s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 3306s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 3306s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 10%] 3306s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 3306s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 3306s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 3306s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 3306s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 3306s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 11%] 3306s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 3306s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 3306s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 3306s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 3306s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 3306s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 12%] 3306s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 12%] 3306s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 3306s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 3306s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 3306s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 3306s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 3306s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 13%] 3306s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 3306s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 3306s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 3306s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 3306s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 3306s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_17 PASSED [ 14%] 3306s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_17_connect_from_env PASSED [ 14%] 3306s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 3306s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_17 PASSED [ 15%] 3306s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 3307s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 3307s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 3307s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 15%] 3307s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 15%] 3307s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 3307s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 3307s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 3307s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 3307s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 16%] 3307s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 16%] 3307s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 3307s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 3307s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 3307s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 3307s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 3307s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 17%] 3307s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 17%] 3307s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 3307s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 3307s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 3307s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 3307s tests/test_consul.py::TestConsul::test_update_service PASSED [ 18%] 3307s tests/test_consul.py::TestConsul::test_watch PASSED [ 18%] 3307s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 3307s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 3307s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 3307s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 3307s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 3307s tests/test_ctl.py::TestCtl::test_failover PASSED [ 19%] 3307s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 19%] 3307s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 3307s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 3307s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 3307s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 3307s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 20%] 3307s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 20%] 3307s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 3307s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 3307s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 3307s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 3307s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 3307s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 21%] 3307s tests/test_ctl.py::TestCtl::test_members PASSED [ 21%] 3307s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 3307s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 3307s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 3307s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 3307s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 22%] 3307s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 22%] 3307s tests/test_ctl.py::TestCtl::test_reload PASSED [ 22%] 3307s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 3307s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 3307s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 3307s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 3307s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 23%] 3307s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 23%] 3307s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 3307s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 3307s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 3307s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 3307s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 24%] 3307s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 24%] 3307s tests/test_etcd.py::TestClient::test___del__ PASSED [ 24%] 3307s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 3307s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 3307s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 3307s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 25%] 3309s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 25%] 3309s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 25%] 3309s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 3309s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 3309s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 3309s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 3309s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 26%] 3309s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 26%] 3309s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 26%] 3309s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 3309s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 3309s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 3309s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 27%] 3309s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 27%] 3309s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 27%] 3309s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 3309s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 3309s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 3309s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 3309s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 28%] 3309s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 28%] 3309s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 28%] 3309s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 3309s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 3309s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 3309s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 29%] 3309s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 29%] 3309s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 29%] 3309s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 29%] 3309s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 3309s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 3309s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 3309s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 30%] 3309s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 30%] 3309s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 30%] 3309s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 3309s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 3309s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 3309s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 31%] 3309s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 31%] 3309s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 31%] 3309s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 31%] 3309s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 3309s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 3309s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 3309s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 32%] 3309s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 32%] 3309s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 32%] 3309s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 3309s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 3309s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 3309s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 33%] 3309s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 33%] 3309s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 33%] 3309s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 33%] 3309s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 3309s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 3309s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 3309s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 34%] 3309s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 34%] 3309s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 34%] 3309s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 3309s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 3309s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 3309s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 35%] 3309s tests/test_ha.py::TestHa::test_after_pause PASSED [ 35%] 3309s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 35%] 3309s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 35%] 3309s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 3309s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 3309s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 3309s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 36%] 3309s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 36%] 3309s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 36%] 3309s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 36%] 3309s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 3309s tests/test_ha.py::TestHa::test_call_failsafe_member PASSED [ 37%] 3309s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 3309s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 37%] 3310s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 37%] 3310s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 37%] 3310s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 3310s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 3310s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 3310s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 38%] 3310s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 38%] 3310s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 38%] 3310s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 38%] 3310s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 3310s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 3310s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 3310s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 39%] 3310s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 39%] 3310s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 39%] 3310s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 3310s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 3310s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 3310s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 40%] 3310s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 40%] 3310s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 40%] 3310s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 40%] 3310s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 3310s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 3310s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 3310s tests/test_ha.py::TestHa::test_is_leader PASSED [ 41%] 3310s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 41%] 3310s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 41%] 3310s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 3310s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 3310s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 3310s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 42%] 3310s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 42%] 3310s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 42%] 3310s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 42%] 3310s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 3310s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 3310s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 3310s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 43%] 3310s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 43%] 3311s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 43%] 3311s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 43%] 3311s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 3311s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 3311s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 44%] 3311s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 44%] 3311s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 44%] 3311s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 44%] 3311s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 3311s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 3311s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 3311s tests/test_ha.py::TestHa::test_post_recover PASSED [ 45%] 3311s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 45%] 3311s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 45%] 3311s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 45%] 3311s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3311s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 3311s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 46%] 3311s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3311s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 46%] 3311s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 46%] 3311s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 3311s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 3311s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 3311s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 47%] 3311s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 47%] 3311s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 47%] 3311s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 47%] 3311s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 3311s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 3311s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 48%] 3311s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 48%] 3311s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 48%] 3311s tests/test_ha.py::TestHa::test_restart PASSED [ 48%] 3311s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 3311s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 3311s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 49%] 3311s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 49%] 3311s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 49%] 3311s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 49%] 3311s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 49%] 3311s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 3311s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 3311s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 50%] 3311s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 50%] 3311s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 50%] 3311s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 50%] 3311s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 50%] 3311s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 3312s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 51%] 3312s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 51%] 3312s tests/test_ha.py::TestHa::test_touch_member PASSED [ 51%] 3312s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 51%] 3312s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 51%] 3312s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 3312s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 3312s tests/test_ha.py::TestHa::test_wakup PASSED [ 52%] 3312s tests/test_ha.py::TestHa::test_watch PASSED [ 52%] 3312s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 52%] 3312s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 52%] 3312s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 52%] 3312s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 3312s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 53%] 3312s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 53%] 3312s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 53%] 3312s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 53%] 3312s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 53%] 3312s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 3312s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 3312s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 54%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 54%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 54%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 54%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 54%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 55%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 55%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 55%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 55%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 55%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 56%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 56%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 56%] 3312s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 56%] 3313s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 56%] 3313s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 3313s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 57%] 3313s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 57%] 3313s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 57%] 3313s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 57%] 3313s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 57%] 3313s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 57%] 3313s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 3313s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 58%] 3313s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 58%] 3313s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 58%] 3313s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 58%] 3313s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 58%] 3313s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 3314s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 59%] 3314s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 59%] 3314s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 59%] 3314s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 59%] 3314s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 59%] 3314s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 59%] 3314s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 3314s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 60%] 3314s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 60%] 3314s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 60%] 3314s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 60%] 3314s tests/test_patroni.py::TestPatroni::test_apply_dynamic_configuration PASSED [ 60%] 3314s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 3314s tests/test_patroni.py::TestPatroni::test_ensure_dcs_access PASSED [ 61%] 3314s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 3314s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 61%] 3314s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 61%] 3314s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 61%] 3314s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 61%] 3314s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 3314s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 62%] 3314s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 62%] 3314s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 62%] 3314s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 62%] 3314s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 62%] 3315s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 3315s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 3315s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 63%] 3315s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 63%] 3315s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 63%] 3315s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 63%] 3315s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 63%] 3315s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 3315s tests/test_postgresql.py::TestPostgresql::test__pgpass_content PASSED [ 64%] 3315s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 64%] 3315s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 64%] 3315s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 64%] 3315s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 64%] 3315s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 64%] 3315s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 3315s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 3315s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 65%] 3315s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 65%] 3315s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 65%] 3315s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 65%] 3315s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 3315s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 3315s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 66%] 3315s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 66%] 3315s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 66%] 3315s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 66%] 3315s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 66%] 3315s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 3315s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 3315s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 67%] 3315s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 67%] 3315s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 67%] 3315s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 67%] 3315s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 3315s tests/test_postgresql.py::TestPostgresql::test_pg_version PASSED [ 68%] 3315s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 3315s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 68%] 3315s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 68%] 3315s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 68%] 3315s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 68%] 3315s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 3315s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 3315s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 3315s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 69%] 3315s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 69%] 3315s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 69%] 3315s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 3315s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 3315s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 3315s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 70%] 3315s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 70%] 3315s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 70%] 3315s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 70%] 3315s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 3315s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 3315s tests/test_postgresql.py::TestPostgresql::test_transform_postgresql_parameter_value PASSED [ 71%] 3315s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 3315s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 71%] 3316s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 71%] 3316s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 71%] 3316s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 3316s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 3316s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 3316s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 72%] 3316s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 72%] 3316s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 72%] 3316s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 3316s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 3316s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 3316s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 3316s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 73%] 3316s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 73%] 3316s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 73%] 3316s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 3316s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 3316s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 3316s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 74%] 3317s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 74%] 3320s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 74%] 3321s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 3321s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 3323s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 3323s tests/test_raft.py::TestRaft::test_init PASSED [ 75%] 3326s tests/test_raft.py::TestRaft::test_raft PASSED [ 75%] 3326s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 75%] 3326s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 75%] 3326s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 3326s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 3326s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 3326s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 76%] 3326s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 76%] 3326s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 76%] 3326s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 3326s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 3326s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 3326s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 77%] 3326s tests/test_rewind.py::TestRewind::test_execute PASSED [ 77%] 3326s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 77%] 3326s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 77%] 3326s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 3326s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 3326s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 3326s tests/test_slots.py::TestSlotsHandler::test_advance_physical_primary PASSED [ 78%] 3326s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 78%] 3326s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 78%] 3326s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 78%] 3326s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 3326s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 3326s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 3326s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 79%] 3326s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 79%] 3326s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 79%] 3326s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 3326s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 3326s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 3326s tests/test_sync.py::TestSync::test_do_not_prick_yourself PASSED [ 80%] 3326s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 3327s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 80%] 3327s tests/test_utils.py::TestUtils::test_apply_keepalive_limit PASSED [ 80%] 3327s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 3327s tests/test_utils.py::TestUtils::test_get_major_version PASSED [ 81%] 3327s tests/test_utils.py::TestUtils::test_get_postgres_version PASSED [ 81%] 3327s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 3327s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 3327s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 3327s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 82%] 3327s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 3327s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 3327s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 3327s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 3327s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 3327s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 3327s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 83%] 3327s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 3327s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 3327s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 3327s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 3327s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 3327s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 84%] 3327s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 3327s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 3327s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 3327s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 3327s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 3327s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 3327s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 85%] 3327s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 3327s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 3327s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 3327s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 3327s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 3327s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 3327s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 3327s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 3327s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 3327s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 3327s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 3327s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 3327s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 87%] 3327s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 3327s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 3327s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 3327s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 3327s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 3327s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 3327s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 3327s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 3327s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 3327s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 3327s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 3327s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 3327s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 3327s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 3327s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 3327s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 3327s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 3327s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 3327s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 92%] 3327s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 3327s patroni/api.py::patroni.api.check_access PASSED [ 93%] 3327s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 3327s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 3327s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 3327s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 3327s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 3327s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 3327s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 3327s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 3327s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 3328s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 3328s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 94%] 3328s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 3328s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 3328s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 3328s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 3328s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 3328s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 3328s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 3328s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 3328s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 3328s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 3328s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 3328s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 3328s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 96%] 3328s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 3328s patroni/postgresql/misc.py::patroni.postgresql.misc.get_major_from_minor_version PASSED [ 97%] 3328s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 3328s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 3328s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 3328s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 3328s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 98%] 3328s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 3328s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 3328s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 3328s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 3328s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 3328s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 3328s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 3328s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 3328s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 3328s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 3328s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 3328s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 3332s patroni/utils.py::patroni.utils.unquote PASSED [100%] 3332s 3332s =============================== warnings summary =============================== 3332s patroni/ctl.py:37 3332s /tmp/autopkgtest.1iewxn/build.CWT/src/patroni/ctl.py:37: DeprecationWarning: the 'ALL' constant is deprecated, use the 'HRuleStyle' and 'VRuleStyle' enums instead 3332s from prettytable import ALL, FRAME, PrettyTable 3332s 3332s patroni/ctl.py:37 3332s /tmp/autopkgtest.1iewxn/build.CWT/src/patroni/ctl.py:37: DeprecationWarning: the 'FRAME' constant is deprecated, use the 'HRuleStyle' and 'VRuleStyle' enums instead 3332s from prettytable import ALL, FRAME, PrettyTable 3332s 3332s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 3332s 3332s ---------- coverage: platform linux, python 3.12.8-final-0 ----------- 3332s Name Stmts Miss Cover Missing 3332s ----------------------------------------------------------------------------------- 3332s patroni/__init__.py 13 0 100% 3332s patroni/__main__.py 199 1 99% 406 3332s patroni/api.py 780 0 100% 3332s patroni/async_executor.py 96 0 100% 3332s patroni/collections.py 56 3 95% 50, 99, 107 3332s patroni/config.py 371 0 100% 3332s patroni/config_generator.py 212 0 100% 3332s patroni/ctl.py 936 0 100% 3332s patroni/daemon.py 76 0 100% 3332s patroni/dcs/__init__.py 654 0 100% 3332s patroni/dcs/consul.py 484 0 100% 3332s patroni/dcs/etcd3.py 679 0 100% 3332s patroni/dcs/etcd.py 603 0 100% 3332s patroni/dcs/exhibitor.py 62 0 100% 3332s patroni/dcs/kubernetes.py 940 0 100% 3332s patroni/dcs/raft.py 319 0 100% 3332s patroni/dcs/zookeeper.py 289 0 100% 3332s patroni/dynamic_loader.py 35 0 100% 3332s patroni/exceptions.py 16 0 100% 3332s patroni/file_perm.py 43 0 100% 3332s patroni/global_config.py 81 0 100% 3332s patroni/ha.py 1270 2 99% 2048-2049 3332s patroni/log.py 221 2 99% 367-369 3332s patroni/postgresql/__init__.py 822 0 100% 3332s patroni/postgresql/available_parameters/__init__.py 24 0 100% 3332s patroni/postgresql/bootstrap.py 255 0 100% 3332s patroni/postgresql/callback_executor.py 55 0 100% 3332s patroni/postgresql/cancellable.py 104 0 100% 3332s patroni/postgresql/config.py 838 0 100% 3332s patroni/postgresql/connection.py 75 0 100% 3332s patroni/postgresql/misc.py 43 0 100% 3332s patroni/postgresql/mpp/__init__.py 89 0 100% 3332s 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 3332s patroni/postgresql/postmaster.py 170 0 100% 3332s patroni/postgresql/rewind.py 416 0 100% 3332s patroni/postgresql/slots.py 349 0 100% 3332s patroni/postgresql/sync.py 130 0 100% 3332s patroni/postgresql/validator.py 157 0 100% 3332s patroni/psycopg.py 46 20 57% 19, 25-26, 42, 44-98, 136 3332s patroni/raft_controller.py 22 0 100% 3332s patroni/request.py 58 0 100% 3332s patroni/scripts/__init__.py 0 0 100% 3332s patroni/scripts/aws.py 59 1 98% 86 3332s patroni/scripts/barman/__init__.py 0 0 100% 3332s patroni/scripts/barman/cli.py 51 1 98% 240 3332s patroni/scripts/barman/config_switch.py 51 0 100% 3332s patroni/scripts/barman/recover.py 37 0 100% 3332s patroni/scripts/barman/utils.py 94 0 100% 3332s patroni/scripts/wale_restore.py 207 1 99% 374 3332s patroni/tags.py 38 0 100% 3332s patroni/utils.py 370 0 100% 3332s patroni/validator.py 307 0 100% 3332s patroni/version.py 1 0 100% 3332s patroni/watchdog/__init__.py 2 0 100% 3332s patroni/watchdog/base.py 203 0 100% 3332s patroni/watchdog/linux.py 135 1 99% 36 3332s ----------------------------------------------------------------------------------- 3332s TOTAL 13902 154 99% 3332s Coverage XML written to file coverage.xml 3332s 3332s ================= 643 passed, 14 skipped, 2 warnings in 34.92s ================= 3333s autopkgtest [01:49:43]: test test: -----------------------] 3333s autopkgtest [01:49:43]: test test: - - - - - - - - - - results - - - - - - - - - - 3333s test PASS 3334s autopkgtest [01:49:44]: @@@@@@@@@@@@@@@@@@@@ summary 3334s acceptance-etcd3 PASS 3334s acceptance-etcd-basic PASS 3334s acceptance-etcd PASS 3334s acceptance-zookeeper PASS 3334s acceptance-raft PASS 3334s test PASS 3351s nova [W] Using flock in prodstack6-arm64 3351s Creating nova instance adt-plucky-arm64-patroni-20250108-232203-juju-7f2275-prod-proposed-migration-environment-2-aeeb2946-f548-4bf6-81d4-5db764676b7c from image adt/ubuntu-plucky-arm64-server-20250108.img (UUID 053f5e9f-d810-4aac-9e57-cf8ac63865d2)... 3351s nova [W] Timed out waiting for 8c3063c6-d54f-4fc8-8ff5-502dea236141 to get deleted. 3351s nova [W] Using flock in prodstack6-arm64 3351s Creating nova instance adt-plucky-arm64-patroni-20250108-232203-juju-7f2275-prod-proposed-migration-environment-2-aeeb2946-f548-4bf6-81d4-5db764676b7c from image adt/ubuntu-plucky-arm64-server-20250108.img (UUID 053f5e9f-d810-4aac-9e57-cf8ac63865d2)... 3351s nova [W] Timed out waiting for 19be8e93-66d8-4e4e-8376-4518a4854991 to get deleted. 3351s nova [W] Using flock in prodstack6-arm64 3351s Creating nova instance adt-plucky-arm64-patroni-20250108-232203-juju-7f2275-prod-proposed-migration-environment-2-aeeb2946-f548-4bf6-81d4-5db764676b7c from image adt/ubuntu-plucky-arm64-server-20250108.img (UUID 053f5e9f-d810-4aac-9e57-cf8ac63865d2)... 3351s nova [W] Timed out waiting for 27510f16-4a67-4016-9b2f-85dd35499a95 to get deleted. 3351s nova [W] Using flock in prodstack6-arm64 3351s Creating nova instance adt-plucky-arm64-patroni-20250108-232203-juju-7f2275-prod-proposed-migration-environment-2-aeeb2946-f548-4bf6-81d4-5db764676b7c from image adt/ubuntu-plucky-arm64-server-20250108.img (UUID 053f5e9f-d810-4aac-9e57-cf8ac63865d2)... 3351s nova [W] Timed out waiting for ab26f9ee-86fe-4e8b-ab7b-3a90b6025dc8 to get deleted. 3351s nova [W] Using flock in prodstack6-arm64 3351s Creating nova instance adt-plucky-arm64-patroni-20250108-232203-juju-7f2275-prod-proposed-migration-environment-2-aeeb2946-f548-4bf6-81d4-5db764676b7c from image adt/ubuntu-plucky-arm64-server-20250108.img (UUID 053f5e9f-d810-4aac-9e57-cf8ac63865d2)... 3351s nova [W] Timed out waiting for 7e82366b-6c7e-49fa-91ff-e12439a9c5fb to get deleted.