0s autopkgtest [10:27:04]: starting date and time: 2024-11-13 10:27:04+0000 0s autopkgtest [10:27:04]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [10:27:04]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.gfqnh3i5/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults,src:python3-stdlib-extensions --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.12.7-1 python3-stdlib-extensions/3.12.7-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor builder-cpu2-ram4-disk20 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-28.secgroup --name adt-plucky-amd64-patroni-20241113-102700-juju-7f2275-prod-proposed-migration-environment-15-d6318f73-0029-462d-8572-e95ed53f5df3 --image adt/ubuntu-plucky-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-amd64 -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 388s autopkgtest [10:33:32]: testbed dpkg architecture: amd64 388s autopkgtest [10:33:32]: testbed apt version: 2.9.8 388s autopkgtest [10:33:32]: @@@@@@@@@@@@@@@@@@@@ test bed setup 390s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 390s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 390s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 390s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 390s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 390s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [111 kB] 390s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [65.2 kB] 390s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 390s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [639 kB] 390s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [255 kB] 390s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 390s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 391s Fetched 2175 kB in 1s (2687 kB/s) 391s Reading package lists... 395s Reading package lists... 395s Building dependency tree... 395s Reading state information... 395s Calculating upgrade... 395s The following NEW packages will be installed: 395s python3.13-gdbm 395s The following packages will be upgraded: 395s libgpgme11t64 libpython3-stdlib python3 python3-gdbm python3-minimal 396s 5 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 396s Need to get 253 kB of archives. 396s After this operation, 147 kB of additional disk space will be used. 396s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-minimal amd64 3.12.7-1 [27.4 kB] 396s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3 amd64 3.12.7-1 [24.0 kB] 396s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libpython3-stdlib amd64 3.12.7-1 [10.0 kB] 396s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-gdbm amd64 3.13.0-2 [31.3 kB] 396s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-gdbm amd64 3.12.7-1 [8642 B] 396s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libgpgme11t64 amd64 1.23.2-5ubuntu4 [152 kB] 396s Fetched 253 kB in 0s (623 kB/s) 396s (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 ... 75541 files and directories currently installed.) 396s Preparing to unpack .../python3-minimal_3.12.7-1_amd64.deb ... 396s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 396s Setting up python3-minimal (3.12.7-1) ... 396s (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 ... 75541 files and directories currently installed.) 396s Preparing to unpack .../python3_3.12.7-1_amd64.deb ... 397s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 397s Preparing to unpack .../libpython3-stdlib_3.12.7-1_amd64.deb ... 397s Unpacking libpython3-stdlib:amd64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 397s Selecting previously unselected package python3.13-gdbm. 397s Preparing to unpack .../python3.13-gdbm_3.13.0-2_amd64.deb ... 397s Unpacking python3.13-gdbm (3.13.0-2) ... 397s Preparing to unpack .../python3-gdbm_3.12.7-1_amd64.deb ... 397s Unpacking python3-gdbm:amd64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 397s Preparing to unpack .../libgpgme11t64_1.23.2-5ubuntu4_amd64.deb ... 397s Unpacking libgpgme11t64:amd64 (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ... 397s Setting up libgpgme11t64:amd64 (1.23.2-5ubuntu4) ... 397s Setting up python3.13-gdbm (3.13.0-2) ... 397s Setting up libpython3-stdlib:amd64 (3.12.7-1) ... 397s Setting up python3 (3.12.7-1) ... 397s Setting up python3-gdbm:amd64 (3.12.7-1) ... 397s Processing triggers for man-db (2.12.1-3) ... 397s Processing triggers for libc-bin (2.40-1ubuntu3) ... 398s Reading package lists... 398s Building dependency tree... 398s Reading state information... 398s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 398s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 398s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 399s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 399s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 399s Reading package lists... 399s Reading package lists... 400s Building dependency tree... 400s Reading state information... 400s Calculating upgrade... 400s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 400s Reading package lists... 400s Building dependency tree... 400s Reading state information... 400s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 404s autopkgtest [10:33:48]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 13:41:20 UTC 2024 405s autopkgtest [10:33:49]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 408s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (dsc) [2851 B] 408s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (tar) [1150 kB] 408s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (diff) [23.1 kB] 408s gpgv: Signature made Tue Jul 2 12:54:38 2024 UTC 408s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 408s gpgv: Can't check signature: No public key 408s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.1-1.dsc: no acceptable signature found 408s autopkgtest [10:33:52]: testing package patroni version 3.3.1-1 409s autopkgtest [10:33:53]: build not needed 410s autopkgtest [10:33:54]: test acceptance-etcd3: preparing testbed 414s Reading package lists... 414s Building dependency tree... 414s Reading state information... 414s Starting pkgProblemResolver with broken count: 0 414s Starting 2 pkgProblemResolver with broken count: 0 414s Done 415s The following additional packages will be installed: 415s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 415s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 415s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 415s patroni-doc postgresql postgresql-16 postgresql-client-16 415s postgresql-client-common postgresql-common python3-behave python3-cdiff 415s python3-click python3-colorama python3-coverage python3-dateutil 415s python3-dnspython python3-etcd python3-parse python3-parse-type 415s python3-prettytable python3-psutil python3-psycopg2 python3-six 415s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 415s Suggested packages: 415s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 415s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 415s python3-httpcore etcd python-psycopg2-doc 415s Recommended packages: 415s javascript-common libjson-xs-perl 415s The following NEW packages will be installed: 415s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 415s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 415s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 415s patroni-doc postgresql postgresql-16 postgresql-client-16 415s postgresql-client-common postgresql-common python3-behave python3-cdiff 415s python3-click python3-colorama python3-coverage python3-dateutil 415s python3-dnspython python3-etcd python3-parse python3-parse-type 415s python3-prettytable python3-psutil python3-psycopg2 python3-six 415s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 415s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 415s Need to get 35.8 MB/35.8 MB of archives. 415s After this operation, 123 MB of additional disk space will be used. 415s Get:1 /tmp/autopkgtest.SBUqvr/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [756 B] 415s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 416s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 416s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 262 [36.7 kB] 416s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 416s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 262 [162 kB] 416s Get:7 http://ftpmaster.internal/ubuntu plucky/universe amd64 etcd-server amd64 3.5.15-7 [11.6 MB] 417s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 417s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB] 417s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB] 417s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 417s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 417s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 417s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 417s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libtime-duration-perl all 1.21-2 [12.3 kB] 417s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libtimedate-perl all 2.3300-2 [34.0 kB] 417s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu1 [169 kB] 417s Get:18 http://ftpmaster.internal/ubuntu plucky/universe amd64 moreutils amd64 0.69-1 [56.4 kB] 417s Get:19 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 417s Get:20 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 417s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 417s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 417s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 417s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 417s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 417s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 417s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 417s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 417s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 417s Get:30 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-etcd all 0.4.5-4 [31.9 kB] 417s Get:31 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni all 3.3.1-1 [264 kB] 417s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 417s Get:33 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni-doc all 3.3.1-1 [497 kB] 417s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-16 amd64 16.4-3 [1278 kB] 418s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-16 amd64 16.4-3 [15.2 MB] 419s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql all 16+262 [11.8 kB] 419s Get:37 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse all 1.20.2-1 [27.0 kB] 419s Get:38 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse-type all 0.6.4-1 [23.4 kB] 419s Get:39 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-behave all 1.2.6-6 [98.6 kB] 419s Get:40 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 419s Preconfiguring packages ... 419s Fetched 35.8 MB in 4s (8760 kB/s) 419s Selecting previously unselected package fonts-lato. 419s (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 ... 75548 files and directories currently installed.) 419s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 419s Unpacking fonts-lato (2.015-1) ... 419s Selecting previously unselected package libjson-perl. 419s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 419s Unpacking libjson-perl (4.10000-1) ... 419s Selecting previously unselected package postgresql-client-common. 419s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 419s Unpacking postgresql-client-common (262) ... 419s Selecting previously unselected package ssl-cert. 419s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 419s Unpacking ssl-cert (1.1.2ubuntu2) ... 419s Selecting previously unselected package postgresql-common. 419s Preparing to unpack .../04-postgresql-common_262_all.deb ... 419s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 419s Unpacking postgresql-common (262) ... 419s Selecting previously unselected package etcd-server. 419s Preparing to unpack .../05-etcd-server_3.5.15-7_amd64.deb ... 419s Unpacking etcd-server (3.5.15-7) ... 420s Selecting previously unselected package fonts-font-awesome. 420s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 420s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 420s Selecting previously unselected package libio-pty-perl. 420s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_amd64.deb ... 420s Unpacking libio-pty-perl (1:1.20-1build3) ... 420s Selecting previously unselected package libipc-run-perl. 420s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 420s Unpacking libipc-run-perl (20231003.0-2) ... 420s Selecting previously unselected package libjs-jquery. 420s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 420s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 420s Selecting previously unselected package libjs-underscore. 420s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 420s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 420s Selecting previously unselected package libjs-sphinxdoc. 420s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 420s Unpacking libjs-sphinxdoc (7.4.7-4) ... 420s Selecting previously unselected package libpq5:amd64. 420s Preparing to unpack .../12-libpq5_17.0-1_amd64.deb ... 420s Unpacking libpq5:amd64 (17.0-1) ... 420s Selecting previously unselected package libtime-duration-perl. 420s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 420s Unpacking libtime-duration-perl (1.21-2) ... 420s Selecting previously unselected package libtimedate-perl. 420s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 420s Unpacking libtimedate-perl (2.3300-2) ... 420s Selecting previously unselected package libxslt1.1:amd64. 420s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_amd64.deb ... 420s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 420s Selecting previously unselected package moreutils. 420s Preparing to unpack .../16-moreutils_0.69-1_amd64.deb ... 420s Unpacking moreutils (0.69-1) ... 420s Selecting previously unselected package python3-ydiff. 420s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 420s Unpacking python3-ydiff (1.3-1) ... 420s Selecting previously unselected package python3-cdiff. 420s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 420s Unpacking python3-cdiff (1.3-1) ... 420s Selecting previously unselected package python3-colorama. 420s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 420s Unpacking python3-colorama (0.4.6-4) ... 420s Selecting previously unselected package python3-click. 420s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 420s Unpacking python3-click (8.1.7-2) ... 420s Selecting previously unselected package python3-six. 420s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 420s Unpacking python3-six (1.16.0-7) ... 420s Selecting previously unselected package python3-dateutil. 420s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 420s Unpacking python3-dateutil (2.9.0-2) ... 420s Selecting previously unselected package python3-wcwidth. 420s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 420s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 420s Selecting previously unselected package python3-prettytable. 420s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 420s Unpacking python3-prettytable (3.10.1-1) ... 420s Selecting previously unselected package python3-psutil. 420s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_amd64.deb ... 420s Unpacking python3-psutil (5.9.8-2build2) ... 420s Selecting previously unselected package python3-psycopg2. 420s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_amd64.deb ... 420s Unpacking python3-psycopg2 (2.9.9-2) ... 420s Selecting previously unselected package python3-dnspython. 420s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 420s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 420s Selecting previously unselected package python3-etcd. 420s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 420s Unpacking python3-etcd (0.4.5-4) ... 420s Selecting previously unselected package patroni. 420s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 420s Unpacking patroni (3.3.1-1) ... 420s Selecting previously unselected package sphinx-rtd-theme-common. 420s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 420s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 420s Selecting previously unselected package patroni-doc. 420s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 420s Unpacking patroni-doc (3.3.1-1) ... 420s Selecting previously unselected package postgresql-client-16. 420s Preparing to unpack .../32-postgresql-client-16_16.4-3_amd64.deb ... 420s Unpacking postgresql-client-16 (16.4-3) ... 420s Selecting previously unselected package postgresql-16. 420s Preparing to unpack .../33-postgresql-16_16.4-3_amd64.deb ... 420s Unpacking postgresql-16 (16.4-3) ... 421s Selecting previously unselected package postgresql. 421s Preparing to unpack .../34-postgresql_16+262_all.deb ... 421s Unpacking postgresql (16+262) ... 421s Selecting previously unselected package python3-parse. 421s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 421s Unpacking python3-parse (1.20.2-1) ... 421s Selecting previously unselected package python3-parse-type. 421s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 421s Unpacking python3-parse-type (0.6.4-1) ... 421s Selecting previously unselected package python3-behave. 421s Preparing to unpack .../37-python3-behave_1.2.6-6_all.deb ... 421s Unpacking python3-behave (1.2.6-6) ... 421s Selecting previously unselected package python3-coverage. 421s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 421s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 421s Selecting previously unselected package autopkgtest-satdep. 421s Preparing to unpack .../39-1-autopkgtest-satdep.deb ... 421s Unpacking autopkgtest-satdep (0) ... 421s Setting up postgresql-client-common (262) ... 421s Setting up fonts-lato (2.015-1) ... 421s Setting up libio-pty-perl (1:1.20-1build3) ... 421s Setting up python3-colorama (0.4.6-4) ... 421s Setting up python3-ydiff (1.3-1) ... 421s Setting up libpq5:amd64 (17.0-1) ... 421s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 421s Setting up python3-click (8.1.7-2) ... 421s Setting up python3-psutil (5.9.8-2build2) ... 421s Setting up python3-six (1.16.0-7) ... 422s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 422s Setting up ssl-cert (1.1.2ubuntu2) ... 422s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 422s Setting up python3-psycopg2 (2.9.9-2) ... 422s Setting up libipc-run-perl (20231003.0-2) ... 422s Setting up libtime-duration-perl (1.21-2) ... 422s Setting up libtimedate-perl (2.3300-2) ... 422s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 423s Setting up python3-parse (1.20.2-1) ... 423s Setting up libjson-perl (4.10000-1) ... 423s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 423s Setting up python3-dateutil (2.9.0-2) ... 423s Setting up etcd-server (3.5.15-7) ... 423s info: Selecting UID from range 100 to 999 ... 423s 423s info: Selecting GID from range 100 to 999 ... 423s info: Adding system user `etcd' (UID 108) ... 423s info: Adding new group `etcd' (GID 112) ... 423s info: Adding new user `etcd' (UID 108) with group `etcd' ... 423s info: Creating home directory `/var/lib/etcd/' ... 423s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 423s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 424s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 424s Setting up python3-prettytable (3.10.1-1) ... 424s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 424s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 424s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 424s Setting up moreutils (0.69-1) ... 424s Setting up python3-etcd (0.4.5-4) ... 424s Setting up postgresql-client-16 (16.4-3) ... 425s 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 425s Setting up python3-cdiff (1.3-1) ... 425s Setting up python3-parse-type (0.6.4-1) ... 425s Setting up postgresql-common (262) ... 425s 425s Creating config file /etc/postgresql-common/createcluster.conf with new version 425s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 425s Removing obsolete dictionary files: 426s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 426s Setting up libjs-sphinxdoc (7.4.7-4) ... 426s Setting up python3-behave (1.2.6-6) ... 426s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 426s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 426s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 426s """Registers a custom type that will be available to "parse" 426s Setting up patroni (3.3.1-1) ... 426s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 427s Setting up postgresql-16 (16.4-3) ... 427s Creating new PostgreSQL cluster 16/main ... 427s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 427s The files belonging to this database system will be owned by user "postgres". 427s This user must also own the server process. 427s 427s The database cluster will be initialized with locale "C.UTF-8". 427s The default database encoding has accordingly been set to "UTF8". 427s The default text search configuration will be set to "english". 427s 427s Data page checksums are disabled. 427s 427s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 427s creating subdirectories ... ok 427s selecting dynamic shared memory implementation ... posix 427s selecting default max_connections ... 100 427s selecting default shared_buffers ... 128MB 427s selecting default time zone ... Etc/UTC 427s creating configuration files ... ok 427s running bootstrap script ... ok 428s performing post-bootstrap initialization ... ok 428s syncing data to disk ... ok 431s Setting up patroni-doc (3.3.1-1) ... 431s Setting up postgresql (16+262) ... 431s Setting up autopkgtest-satdep (0) ... 431s Processing triggers for man-db (2.12.1-3) ... 432s Processing triggers for libc-bin (2.40-1ubuntu3) ... 434s (Reading database ... 78759 files and directories currently installed.) 434s Removing autopkgtest-satdep (0) ... 435s autopkgtest [10:34:19]: test acceptance-etcd3: debian/tests/acceptance etcd3 435s autopkgtest [10:34:19]: test acceptance-etcd3: [----------------------- 435s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 435s ++ ls -1r /usr/lib/postgresql/ 435s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 435s + '[' 16 == 10 -o 16 == 11 ']' 435s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 435s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=etcd3 PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 435s ### PostgreSQL 16 acceptance-etcd3 ### 436s Nov 13 10:34:20 Feature: basic replication # features/basic_replication.feature:1 436s Nov 13 10:34:20 We should check that the basic bootstrapping, replication and failover works. 436s Nov 13 10:34:20 Scenario: check replication of a single table # features/basic_replication.feature:4 436s Nov 13 10:34:20 Given I start postgres0 # features/steps/basic_replication.py:8 439s Nov 13 10:34:23 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 440s Nov 13 10:34:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 440s Nov 13 10:34:24 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 440s Nov 13 10:34:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 440s Nov 13 10:34:24 When I start postgres1 # features/steps/basic_replication.py:8 443s Nov 13 10:34:27 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 446s Nov 13 10:34:30 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 446s Nov 13 10:34:30 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 446s Nov 13 10:34:30 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 447s Nov 13 10:34:31 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 451s Nov 13 10:34:35 451s Nov 13 10:34:35 Scenario: check restart of sync replica # features/basic_replication.feature:17 451s Nov 13 10:34:35 Given I shut down postgres2 # features/steps/basic_replication.py:29 453s Nov 13 10:34:36 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 453s Nov 13 10:34:36 When I start postgres2 # features/steps/basic_replication.py:8 455s Nov 13 10:34:39 And I shut down postgres1 # features/steps/basic_replication.py:29 458s Nov 13 10:34:42 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 459s Nov 13 10:34:43 When I start postgres1 # features/steps/basic_replication.py:8 462s Nov 13 10:34:46 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 462s Nov 13 10:34:46 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 462s Nov 13 10:34:46 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 462s Nov 13 10:34:46 462s Nov 13 10:34:46 Scenario: check stuck sync replica # features/basic_replication.feature:28 462s Nov 13 10:34:46 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 462s Nov 13 10:34:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 462s Nov 13 10:34:46 And I create table on postgres0 # features/steps/basic_replication.py:73 462s Nov 13 10:34:46 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 463s Nov 13 10:34:47 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 463s Nov 13 10:34:47 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 463s Nov 13 10:34:47 And I load data on postgres0 # features/steps/basic_replication.py:84 464s Nov 13 10:34:48 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 468s Nov 13 10:34:52 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 468s Nov 13 10:34:52 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 468s Nov 13 10:34:52 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 468s Nov 13 10:34:52 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 468s Nov 13 10:34:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 468s Nov 13 10:34:52 And I drop table on postgres0 # features/steps/basic_replication.py:73 468s Nov 13 10:34:52 468s Nov 13 10:34:52 Scenario: check multi sync replication # features/basic_replication.feature:44 468s Nov 13 10:34:52 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 468s Nov 13 10:34:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 468s Nov 13 10:34:52 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 472s Nov 13 10:34:56 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 472s Nov 13 10:34:56 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 472s Nov 13 10:34:56 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 472s Nov 13 10:34:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 472s Nov 13 10:34:56 And I shut down postgres1 # features/steps/basic_replication.py:29 475s Nov 13 10:34:59 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 476s Nov 13 10:35:00 When I start postgres1 # features/steps/basic_replication.py:8 479s Nov 13 10:35:03 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 479s Nov 13 10:35:03 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 479s Nov 13 10:35:03 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 479s Nov 13 10:35:03 479s Nov 13 10:35:03 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 479s Nov 13 10:35:03 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 480s Nov 13 10:35:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 480s Nov 13 10:35:04 When I sleep for 2 seconds # features/steps/patroni_api.py:39 482s Nov 13 10:35:06 And I shut down postgres0 # features/steps/basic_replication.py:29 483s Nov 13 10:35:07 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 485s Nov 13 10:35:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 485s Nov 13 10:35:09 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 504s Nov 13 10:35:28 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 506s Nov 13 10:35:30 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 506s Nov 13 10:35: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 506s Nov 13 10:35:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 506s Nov 13 10:35:30 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 506s Nov 13 10:35:30 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 509s Nov 13 10:35:33 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 509s Nov 13 10:35:33 509s Nov 13 10:35:33 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 509s Nov 13 10:35:33 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 509s Nov 13 10:35:33 And I start postgres0 # features/steps/basic_replication.py:8 509s Nov 13 10:35:33 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 515s Nov 13 10:35:39 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 515s Nov 13 10:35:39 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 515s Nov 13 10:35:39 515s Nov 13 10:35:39 @reject-duplicate-name 515s Nov 13 10:35:39 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 515s Nov 13 10:35:39 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 517s Nov 13 10:35:41 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 525s Nov 13 10:35:45 525s Nov 13 10:35:45 Feature: cascading replication # features/cascading_replication.feature:1 525s Nov 13 10:35:45 We should check that patroni can do base backup and streaming from the replica 525s Nov 13 10:35:45 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 525s Nov 13 10:35:45 Given I start postgres0 # features/steps/basic_replication.py:8 525s Nov 13 10:35:48 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 525s Nov 13 10:35:49 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 528s Nov 13 10:35:52 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 529s Nov 13 10:35:53 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 529s Nov 13 10:35:53 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 529s Nov 13 10:35:53 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 529s Nov 13 10:35:53 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 533s Nov 13 10:35:56 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 534s Nov 13 10:35:58 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 539s Nov 13 10:36:03 539s SKIP FEATURE citus: Citus extenstion isn't available 539s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 539s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 539s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 539s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 539s 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 539s Nov 13 10:36:03 Feature: citus # features/citus.feature:1 539s Nov 13 10:36:03 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 539s Nov 13 10:36:03 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 539s Nov 13 10:36:03 Given I start postgres0 in citus group 0 # None 539s Nov 13 10:36:03 And I start postgres2 in citus group 1 # None 539s Nov 13 10:36:03 Then postgres0 is a leader in a group 0 after 10 seconds # None 539s Nov 13 10:36:03 And postgres2 is a leader in a group 1 after 10 seconds # None 539s Nov 13 10:36:03 When I start postgres1 in citus group 0 # None 539s Nov 13 10:36:03 And I start postgres3 in citus group 1 # None 539s Nov 13 10:36:03 Then replication works from postgres0 to postgres1 after 15 seconds # None 539s Nov 13 10:36:03 Then replication works from postgres2 to postgres3 after 15 seconds # None 539s Nov 13 10:36:03 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 539s Nov 13 10:36:03 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 539s Nov 13 10:36:03 539s Nov 13 10:36:03 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 539s Nov 13 10:36:03 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 539s Nov 13 10:36:03 Then postgres1 role is the primary after 10 seconds # None 539s Nov 13 10:36:03 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 539s Nov 13 10:36:03 And replication works from postgres1 to postgres0 after 15 seconds # None 539s Nov 13 10:36:03 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 539s Nov 13 10:36:03 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 539s Nov 13 10:36:03 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 539s Nov 13 10:36:03 Then postgres0 role is the primary after 10 seconds # None 539s Nov 13 10:36:03 And replication works from postgres0 to postgres1 after 15 seconds # None 539s Nov 13 10:36:03 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 539s Nov 13 10:36:03 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 539s Nov 13 10:36:03 539s Nov 13 10:36:03 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 539s Nov 13 10:36:03 Given I create a distributed table on postgres0 # None 539s Nov 13 10:36:03 And I start a thread inserting data on postgres0 # None 539s Nov 13 10:36:03 When I run patronictl.py switchover batman --group 1 --force # None 539s Nov 13 10:36:03 Then I receive a response returncode 0 # None 539s Nov 13 10:36:03 And postgres3 role is the primary after 10 seconds # None 539s Nov 13 10:36:03 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 539s Nov 13 10:36:03 And replication works from postgres3 to postgres2 after 15 seconds # None 539s Nov 13 10:36:03 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 539s Nov 13 10:36:03 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 539s Nov 13 10:36:03 And a thread is still alive # None 539s Nov 13 10:36:03 When I run patronictl.py switchover batman --group 1 --force # None 539s Nov 13 10:36:03 Then I receive a response returncode 0 # None 539s Nov 13 10:36:03 And postgres2 role is the primary after 10 seconds # None 539s Nov 13 10:36:03 And replication works from postgres2 to postgres3 after 15 seconds # None 539s Nov 13 10:36:03 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 539s Nov 13 10:36:03 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 539s Nov 13 10:36:03 And a thread is still alive # None 539s Nov 13 10:36:03 When I stop a thread # None 539s Nov 13 10:36:03 Then a distributed table on postgres0 has expected rows # None 539s Nov 13 10:36:03 539s Nov 13 10:36:03 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 539s Nov 13 10:36:03 Given I cleanup a distributed table on postgres0 # None 539s Nov 13 10:36:03 And I start a thread inserting data on postgres0 # None 539s Nov 13 10:36:03 When I run patronictl.py restart batman postgres2 --group 1 --force # None 539s Nov 13 10:36:03 Then I receive a response returncode 0 # None 539s Nov 13 10:36:03 And postgres2 role is the primary after 10 seconds # None 539s Nov 13 10:36:03 And replication works from postgres2 to postgres3 after 15 seconds # None 539s Nov 13 10:36:03 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 539s Nov 13 10:36:03 And a thread is still alive # None 539s Nov 13 10:36:03 When I stop a thread # None 539s Nov 13 10:36:03 Then a distributed table on postgres0 has expected rows # None 539s Nov 13 10:36:03 539s Nov 13 10:36:03 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 539s Nov 13 10:36:03 Given I start postgres4 in citus group 2 # None 539s Nov 13 10:36:03 Then postgres4 is a leader in a group 2 after 10 seconds # None 539s Nov 13 10:36:03 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 539s Nov 13 10:36:03 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 539s Nov 13 10:36:03 Then I receive a response returncode 0 # None 539s Nov 13 10:36:03 And I receive a response output "+ttl: 20" # None 539s Nov 13 10:36:03 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 539s Nov 13 10:36:03 When I shut down postgres4 # None 539s Nov 13 10:36:03 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 539s Nov 13 10:36:03 When I run patronictl.py restart batman postgres2 --group 1 --force # None 539s Nov 13 10:36:03 Then a transaction finishes in 20 seconds # None 539s Nov 13 10:36:03 539s Nov 13 10:36:03 Feature: custom bootstrap # features/custom_bootstrap.feature:1 539s Nov 13 10:36:03 We should check that patroni can bootstrap a new cluster from a backup 539s Nov 13 10:36:03 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 539s Nov 13 10:36:03 Given I start postgres0 # features/steps/basic_replication.py:8 542s Nov 13 10:36:06 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 542s Nov 13 10:36:06 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 542s Nov 13 10:36:06 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 546s Nov 13 10:36:10 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 547s Nov 13 10:36:11 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 547s Nov 13 10:36:11 547s Nov 13 10:36:11 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 547s Nov 13 10:36:11 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 547s Nov 13 10:36:11 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 547s Nov 13 10:36:11 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 551s Nov 13 10:36:15 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 552s Nov 13 10:36:16 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 558s Nov 13 10:36:22 558s Nov 13 10:36:22 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 558s Nov 13 10:36:22 We should check the basic dcs failsafe mode functioning 558s Nov 13 10:36:22 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 558s Nov 13 10:36:22 Given I start postgres0 # features/steps/basic_replication.py:8 561s Nov 13 10:36:25 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 561s Nov 13 10:36:25 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 561s Nov 13 10:36:25 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 561s Nov 13 10:36:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 561s Nov 13 10:36:25 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 562s Nov 13 10:36:26 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 563s Nov 13 10:36:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 563s Nov 13 10:36:27 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 563s Nov 13 10:36:27 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 563s Nov 13 10:36:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 563s Nov 13 10:36:27 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 563s Nov 13 10:36:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 563s Nov 13 10:36:27 563s Nov 13 10:36:27 @dcs-failsafe 563s Nov 13 10:36:27 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 563s Nov 13 10:36:27 Given DCS is down # None 563s Nov 13 10:36:27 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 563s Nov 13 10:36:27 And postgres0 role is the primary after 10 seconds # None 563s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 563s 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 563s Nov 13 10:36:27 563s Nov 13 10:36:27 @dcs-failsafe 563s Nov 13 10:36:27 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 563s Nov 13 10:36:27 Given DCS is up # None 563s Nov 13 10:36:27 When I do a backup of postgres0 # None 563s Nov 13 10:36:27 And I shut down postgres0 # None 563s Nov 13 10:36:27 When I start postgres1 in a cluster batman from backup with no_leader # None 563s Nov 13 10:36:27 Then postgres1 role is the replica after 12 seconds # None 563s Nov 13 10:36:27 563s Nov 13 10:36:27 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 563s Nov 13 10:36:27 Given I start postgres0 # features/steps/basic_replication.py:8 563s Nov 13 10:36:27 And I start postgres1 # features/steps/basic_replication.py:8 566s Nov 13 10:36:30 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 566s Nov 13 10:36:30 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 567s Nov 13 10:36:31 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 569s Nov 13 10:36:33 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 569s Nov 13 10:36:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 569s Nov 13 10:36:33 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 569s Nov 13 10:36:33 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 569s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 569s 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 569s 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 569s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 569s Nov 13 10:36:33 569s Nov 13 10:36:33 @dcs-failsafe @slot-advance 569s Nov 13 10:36:33 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 569s Nov 13 10:36:33 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 569s Nov 13 10:36:33 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 569s Nov 13 10:36:33 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 569s Nov 13 10:36:33 And DCS is down # None 569s Nov 13 10:36:33 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 569s Nov 13 10:36:33 Then postgres0 role is the primary after 10 seconds # None 569s Nov 13 10:36:33 And postgres1 role is the replica after 2 seconds # None 569s Nov 13 10:36:33 And replication works from postgres0 to postgres1 after 10 seconds # None 569s Nov 13 10:36:33 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 569s Nov 13 10:36:33 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 569s Nov 13 10:36:33 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 569s Nov 13 10:36:33 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 569s Nov 13 10:36:33 569s Nov 13 10:36:33 @dcs-failsafe 569s Nov 13 10:36:33 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 569s Nov 13 10:36:33 Given DCS is down # None 569s Nov 13 10:36:33 And I kill postgres1 # None 569s Nov 13 10:36:33 And I kill postmaster on postgres1 # None 569s Nov 13 10:36:33 Then postgres0 role is the replica after 12 seconds # None 569s Nov 13 10:36:33 569s Nov 13 10:36:33 @dcs-failsafe 569s Nov 13 10:36:33 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 569s Nov 13 10:36:33 Given I kill postgres0 # None 569s Nov 13 10:36:33 And I shut down postmaster on postgres0 # None 569s Nov 13 10:36:33 And DCS is up # None 569s Nov 13 10:36:33 When I start postgres1 # None 569s Nov 13 10:36:33 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 569s Nov 13 10:36:33 And postgres1 role is the primary after 25 seconds # None 569s Nov 13 10:36:33 569s Nov 13 10:36:33 @dcs-failsafe 569s Nov 13 10:36:33 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 569s Nov 13 10:36:33 Given I start postgres0 # None 569s Nov 13 10:36:33 And I start postgres2 # None 569s Nov 13 10:36:33 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 569s Nov 13 10:36:33 And "members/postgres0" key in DCS has state=running after 20 seconds # None 569s Nov 13 10:36:33 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 569s Nov 13 10:36:33 And replication works from postgres1 to postgres0 after 10 seconds # None 569s Nov 13 10:36:33 And replication works from postgres1 to postgres2 after 10 seconds # None 569s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 569s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 569s Nov 13 10:36:33 569s Nov 13 10:36:33 @dcs-failsafe @slot-advance 569s Nov 13 10:36:33 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 569s Nov 13 10:36:33 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # None 569s Nov 13 10:36:33 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 569s Nov 13 10:36:33 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 569s Nov 13 10:36:33 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 569s Nov 13 10:36:33 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 569s Nov 13 10:36:33 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 569s Nov 13 10:36:33 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 569s Nov 13 10:36:33 569s Nov 13 10:36:33 @dcs-failsafe 569s Nov 13 10:36:33 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 569s Nov 13 10:36:33 Given DCS is down # None 569s Nov 13 10:36:33 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 569s Nov 13 10:36:33 Then postgres1 role is the primary after 10 seconds # None 569s Nov 13 10:36:33 And postgres0 role is the replica after 2 seconds # None 569s Nov 13 10:36:33 And postgres2 role is the replica after 2 seconds # None 569s 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 573s Nov 13 10:36:37 573s Nov 13 10:36:37 @dcs-failsafe @slot-advance 573s Nov 13 10:36:37 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 573s Nov 13 10:36:37 Given replication works from postgres1 to postgres0 after 10 seconds # None 573s Nov 13 10:36:37 And replication works from postgres1 to postgres2 after 10 seconds # None 573s Nov 13 10:36:37 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 573s Nov 13 10:36:37 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 573s Nov 13 10:36:37 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 573s Nov 13 10:36:37 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 573s Nov 13 10:36:37 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 573s Nov 13 10:36:37 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 573s Nov 13 10:36:37 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 573s Nov 13 10:36:37 573s Nov 13 10:36:37 Feature: ignored slots # features/ignored_slots.feature:1 573s Nov 13 10:36:37 573s Nov 13 10:36:37 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 573s Nov 13 10:36:37 Given I start postgres1 # features/steps/basic_replication.py:8 576s Nov 13 10:36:40 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 576s Nov 13 10:36:40 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 576s Nov 13 10:36:40 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 576s Nov 13 10:36:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 576s Nov 13 10:36:40 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 576s Nov 13 10:36:40 When I shut down postgres1 # features/steps/basic_replication.py:29 578s Nov 13 10:36:42 And I start postgres1 # features/steps/basic_replication.py:8 580s Nov 13 10:36:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 581s Nov 13 10:36:45 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 582s Nov 13 10:36:46 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 582s Nov 13 10:36:46 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 582s Nov 13 10:36:46 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 582s Nov 13 10:36:46 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 582s Nov 13 10:36:46 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 582s Nov 13 10:36:46 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 582s Nov 13 10:36:46 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 582s Nov 13 10:36:46 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 582s Nov 13 10:36:46 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 582s Nov 13 10:36:46 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 582s Nov 13 10:36:46 When I start postgres0 # features/steps/basic_replication.py:8 586s Nov 13 10:36:49 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 586s Nov 13 10:36:49 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 586s Nov 13 10:36:49 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 586s Nov 13 10:36:50 When I shut down postgres1 # features/steps/basic_replication.py:29 588s Nov 13 10:36:52 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 589s Nov 13 10:36:53 When I start postgres1 # features/steps/basic_replication.py:8 592s Nov 13 10:36:56 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 592s Nov 13 10:36:56 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 592s Nov 13 10:36:56 And I sleep for 2 seconds # features/steps/patroni_api.py:39 594s Nov 13 10:36:58 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 594s Nov 13 10:36:58 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 594s Nov 13 10:36:58 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 594s Nov 13 10:36:58 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 594s Nov 13 10:36:58 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 594s Nov 13 10:36:58 When I shut down postgres0 # features/steps/basic_replication.py:29 596s Nov 13 10:37:00 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 597s Nov 13 10:37:01 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 597s Nov 13 10:37:01 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 597s Nov 13 10:37:01 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 597s Nov 13 10:37:01 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 599s Nov 13 10:37:03 599s Nov 13 10:37:03 Feature: nostream node # features/nostream_node.feature:1 599s Nov 13 10:37:03 599s Nov 13 10:37:03 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 599s Nov 13 10:37:03 When I start postgres0 # features/steps/basic_replication.py:8 602s Nov 13 10:37:06 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 605s Nov 13 10:37:09 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 606s Nov 13 10:37:10 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 611s Nov 13 10:37:14 611s Nov 13 10:37:14 @slot-advance 611s Nov 13 10:37:14 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 611s Nov 13 10:37:14 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 611s Nov 13 10:37:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 611s Nov 13 10:37:15 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 612s Nov 13 10:37:16 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 613s Nov 13 10:37:17 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 616s Nov 13 10:37:20 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 623s Nov 13 10:37:27 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 623s Nov 13 10:37:27 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 629s Nov 13 10:37:33 629s Nov 13 10:37:33 Feature: patroni api # features/patroni_api.feature:1 629s Nov 13 10:37:33 We should check that patroni correctly responds to valid and not-valid API requests. 629s Nov 13 10:37:33 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 629s Nov 13 10:37:33 Given I start postgres0 # features/steps/basic_replication.py:8 632s Nov 13 10:37:36 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 632s Nov 13 10:37:36 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 632s Nov 13 10:37:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 632s Nov 13 10:37:36 And I receive a response state running # features/steps/patroni_api.py:98 632s Nov 13 10:37:36 And I receive a response role master # features/steps/patroni_api.py:98 632s Nov 13 10:37:36 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 632s Nov 13 10:37:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 632s Nov 13 10:37:36 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 632s Nov 13 10:37:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 632s Nov 13 10:37:36 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 632s Nov 13 10:37:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 632s Nov 13 10:37:36 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 632s Nov 13 10:37:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 632s Nov 13 10:37:36 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 632s Nov 13 10:37:36 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 634s Nov 13 10:37:38 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 634s Nov 13 10:37:38 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 634s Nov 13 10:37:38 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 634s Nov 13 10:37:38 Then I receive a response code 412 # features/steps/patroni_api.py:98 634s Nov 13 10:37:38 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 634s Nov 13 10:37:38 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 634s Nov 13 10:37:38 Then I receive a response code 400 # features/steps/patroni_api.py:98 634s Nov 13 10:37:38 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 634s Nov 13 10:37:38 Then I receive a response code 400 # features/steps/patroni_api.py:98 634s Nov 13 10:37:38 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 634s Nov 13 10:37:38 634s Nov 13 10:37:38 Scenario: check local configuration reload # features/patroni_api.feature:32 634s Nov 13 10:37:38 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 634s Nov 13 10:37:38 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 634s Nov 13 10:37:38 Then I receive a response code 202 # features/steps/patroni_api.py:98 634s Nov 13 10:37:38 634s Nov 13 10:37:38 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 634s Nov 13 10:37:38 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 634s Nov 13 10:37:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 634s Nov 13 10:37:38 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 637s Nov 13 10:37:41 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 637s Nov 13 10:37:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 637s Nov 13 10:37:41 And I receive a response ttl 20 # features/steps/patroni_api.py:98 637s Nov 13 10:37:41 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 637s Nov 13 10:37:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 637s Nov 13 10:37:41 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 637s Nov 13 10:37:41 And I sleep for 4 seconds # features/steps/patroni_api.py:39 641s Nov 13 10:37:45 641s Nov 13 10:37:45 Scenario: check the scheduled restart # features/patroni_api.feature:49 641s Nov 13 10:37:45 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 643s Nov 13 10:37:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 643s Nov 13 10:37:47 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 643s Nov 13 10:37:47 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 643s Nov 13 10:37:47 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 643s Nov 13 10:37:47 Then I receive a response code 202 # features/steps/patroni_api.py:98 643s Nov 13 10:37:47 And I sleep for 8 seconds # features/steps/patroni_api.py:39 651s Nov 13 10:37:55 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 651s Nov 13 10:37:55 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 651s Nov 13 10:37:55 Then I receive a response code 202 # features/steps/patroni_api.py:98 651s Nov 13 10:37:55 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 658s Nov 13 10:38:02 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 659s Nov 13 10:38:03 659s Nov 13 10:38:03 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 659s Nov 13 10:38:03 Given I start postgres1 # features/steps/basic_replication.py:8 662s Nov 13 10:38:06 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 663s Nov 13 10:38:07 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 665s Nov 13 10:38:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 665s Nov 13 10:38:08 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 665s Nov 13 10:38:09 waiting for server to shut down.... done 665s Nov 13 10:38:09 server stopped 665s Nov 13 10:38:09 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 665s Nov 13 10:38:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 665s Nov 13 10:38:09 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 667s Nov 13 10:38:11 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 669s Nov 13 10:38:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 669s Nov 13 10:38:13 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 671s Nov 13 10:38:15 And I sleep for 2 seconds # features/steps/patroni_api.py:39 673s Nov 13 10:38:17 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 673s Nov 13 10:38:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 673s Nov 13 10:38:17 And I receive a response state running # features/steps/patroni_api.py:98 673s Nov 13 10:38:17 And I receive a response role replica # features/steps/patroni_api.py:98 673s Nov 13 10:38:17 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 676s Nov 13 10:38:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 676s Nov 13 10:38:20 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 676s Nov 13 10:38:20 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 677s Nov 13 10:38:21 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 677s Nov 13 10:38:21 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 681s Nov 13 10:38:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 681s Nov 13 10:38:25 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 681s Nov 13 10:38:25 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 682s Nov 13 10:38:26 682s Nov 13 10:38:26 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 682s Nov 13 10:38:26 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 684s Nov 13 10:38:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 684s Nov 13 10:38:28 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 684s Nov 13 10:38:28 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 685s Nov 13 10:38:29 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 690s Nov 13 10:38:34 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 690s Nov 13 10:38:34 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 691s Nov 13 10:38:35 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 691s Nov 13 10:38:35 Then I receive a response code 503 # features/steps/patroni_api.py:98 691s Nov 13 10:38:35 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 691s Nov 13 10:38:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 691s Nov 13 10:38:35 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 691s Nov 13 10:38:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 691s Nov 13 10:38:35 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 691s Nov 13 10:38:35 Then I receive a response code 503 # features/steps/patroni_api.py:98 691s Nov 13 10:38:35 691s Nov 13 10:38:35 Scenario: check the scheduled switchover # features/patroni_api.feature:107 691s Nov 13 10:38:35 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 693s Nov 13 10:38:37 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 693s Nov 13 10:38:37 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 693s Nov 13 10:38:37 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 695s Nov 13 10:38:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 695s Nov 13 10:38:39 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 698s Nov 13 10:38:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 698s Nov 13 10:38:42 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 707s Nov 13 10:38:51 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 708s Nov 13 10:38:52 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 710s Nov 13 10:38:54 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 710s Nov 13 10:38:54 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 711s Nov 13 10:38:55 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 711s Nov 13 10:38:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 711s Nov 13 10:38:55 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 711s Nov 13 10:38:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 711s Nov 13 10:38:55 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 711s Nov 13 10:38:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 711s Nov 13 10:38:55 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 711s Nov 13 10:38:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 715s Nov 13 10:38:59 715s Nov 13 10:38:59 Feature: permanent slots # features/permanent_slots.feature:1 715s Nov 13 10:38:59 715s Nov 13 10:38:59 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 715s Nov 13 10:38:59 Given I start postgres0 # features/steps/basic_replication.py:8 719s Nov 13 10:39:03 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 719s Nov 13 10:39:03 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 719s Nov 13 10:39:03 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 719s Nov 13 10:39:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 719s Nov 13 10:39:03 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 719s Nov 13 10:39:03 When I start postgres1 # features/steps/basic_replication.py:8 723s Nov 13 10:39:07 And I start postgres2 # features/steps/basic_replication.py:8 726s Nov 13 10:39:10 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 729s Nov 13 10:39:13 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 729s Nov 13 10:39:13 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 729s Nov 13 10:39:13 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 729s Nov 13 10:39:13 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 729s Nov 13 10:39:13 729s Nov 13 10:39:13 @slot-advance 729s Nov 13 10:39:13 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 729s Nov 13 10:39:13 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 732s Nov 13 10:39:16 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 732s Nov 13 10:39:16 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 733s Nov 13 10:39:17 733s Nov 13 10:39:17 @slot-advance 733s Nov 13 10:39:17 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 733s Nov 13 10:39:17 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 738s Nov 13 10:39:22 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 738s Nov 13 10:39:22 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 739s Nov 13 10:39:23 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 740s Nov 13 10:39:24 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 740s Nov 13 10:39:24 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 740s Nov 13 10:39:24 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 740s Nov 13 10:39:24 740s Nov 13 10:39:24 @slot-advance 740s Nov 13 10:39:24 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 740s Nov 13 10:39:24 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 740s Nov 13 10:39:24 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 740s Nov 13 10:39:24 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 740s Nov 13 10:39:24 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 740s Nov 13 10:39:24 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 740s Nov 13 10:39:24 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 740s Nov 13 10:39:24 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 740s Nov 13 10:39:24 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 740s Nov 13 10:39:24 740s Nov 13 10:39:24 @slot-advance 740s Nov 13 10:39:24 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 740s Nov 13 10:39:24 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 740s Nov 13 10:39:24 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 740s Nov 13 10:39:24 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 740s Nov 13 10:39:24 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 743s Nov 13 10:39:27 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 743s Nov 13 10:39:27 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 743s Nov 13 10:39:27 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 743s Nov 13 10:39:27 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 743s Nov 13 10:39:27 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 743s Nov 13 10:39:27 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 743s Nov 13 10:39:27 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 743s Nov 13 10:39:27 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 743s Nov 13 10:39:27 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 743s Nov 13 10:39:27 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 743s Nov 13 10:39:27 743s Nov 13 10:39:27 @slot-advance 743s Nov 13 10:39:27 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 743s Nov 13 10:39:27 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 743s Nov 13 10:39:27 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 743s Nov 13 10:39:27 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 743s Nov 13 10:39:27 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 743s Nov 13 10:39:27 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 743s Nov 13 10:39:27 743s Nov 13 10:39:27 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 743s Nov 13 10:39:27 Given I shut down postgres3 # features/steps/basic_replication.py:29 744s Nov 13 10:39:28 And I shut down postgres2 # features/steps/basic_replication.py:29 745s Nov 13 10:39:29 And I shut down postgres0 # features/steps/basic_replication.py:29 747s Nov 13 10:39:31 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 747s Nov 13 10:39:31 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 747s Nov 13 10:39:31 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 749s Nov 13 10:39:33 749s Nov 13 10:39:33 Feature: priority replication # features/priority_failover.feature:1 749s Nov 13 10:39:33 We should check that we can give nodes priority during failover 749s Nov 13 10:39:33 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 749s Nov 13 10:39:33 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 753s Nov 13 10:39:36 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 756s Nov 13 10:39:40 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 762s Nov 13 10:39:46 When I shut down postgres0 # features/steps/basic_replication.py:29 764s Nov 13 10:39:48 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 766s Nov 13 10:39:50 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 766s Nov 13 10:39:50 When I start postgres0 # features/steps/basic_replication.py:8 769s Nov 13 10:39:53 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 770s Nov 13 10:39:54 770s Nov 13 10:39:54 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 770s Nov 13 10:39:54 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 773s Nov 13 10:39:57 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 776s Nov 13 10:40:00 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 777s Nov 13 10:40:01 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 781s Nov 13 10:40:05 When I shut down postgres0 # features/steps/basic_replication.py:29 783s Nov 13 10:40:07 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 784s Nov 13 10:40:08 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 784s Nov 13 10:40:08 784s Nov 13 10:40:08 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 784s Nov 13 10:40:08 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 784s Nov 13 10:40:08 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 784s Nov 13 10:40:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 784s Nov 13 10:40:08 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 787s Nov 13 10:40:11 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 788s Nov 13 10:40:12 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 788s Nov 13 10:40:12 Then I receive a response code 412 # features/steps/patroni_api.py:98 788s Nov 13 10:40:12 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 788s Nov 13 10:40:12 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 788s Nov 13 10:40:12 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 788s Nov 13 10:40:12 Then I receive a response code 202 # features/steps/patroni_api.py:98 788s Nov 13 10:40:12 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 789s Nov 13 10:40:13 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 790s Nov 13 10:40:14 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 793s Nov 13 10:40:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 793s Nov 13 10:40:17 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 798s Nov 13 10:40:22 798s Nov 13 10:40:22 Feature: recovery # features/recovery.feature:1 798s Nov 13 10:40:22 We want to check that crashed postgres is started back 798s Nov 13 10:40:22 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 798s Nov 13 10:40:22 Given I start postgres0 # features/steps/basic_replication.py:8 802s Nov 13 10:40:26 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 802s Nov 13 10:40:26 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 802s Nov 13 10:40:26 When I start postgres1 # features/steps/basic_replication.py:8 806s Nov 13 10:40:30 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 807s Nov 13 10:40:30 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 808s Nov 13 10:40:31 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 808s Nov 13 10:40:32 waiting for server to shut down.... done 808s Nov 13 10:40:32 server stopped 808s Nov 13 10:40:32 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 809s Nov 13 10:40:33 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 809s Nov 13 10:40:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 809s Nov 13 10:40:33 And I receive a response role master # features/steps/patroni_api.py:98 809s Nov 13 10:40:33 And I receive a response timeline 1 # features/steps/patroni_api.py:98 809s Nov 13 10:40:33 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 810s Nov 13 10:40:34 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 812s Nov 13 10:40:36 813s Nov 13 10:40:36 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 813s Nov 13 10:40:36 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 813s Nov 13 10:40:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 813s Nov 13 10:40:36 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 813s Nov 13 10:40:36 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 813s Nov 13 10:40:36 waiting for server to shut down.... done 813s Nov 13 10:40:36 server stopped 813s Nov 13 10:40:36 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 815s Nov 13 10:40:39 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 818s Nov 13 10:40:42 818s Nov 13 10:40:42 Feature: standby cluster # features/standby_cluster.feature:1 818s Nov 13 10:40:42 818s Nov 13 10:40:42 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 818s Nov 13 10:40:42 Given I start postgres1 # features/steps/basic_replication.py:8 821s Nov 13 10:40:45 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 821s Nov 13 10:40:45 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 821s Nov 13 10:40:45 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 821s Nov 13 10:40:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 821s Nov 13 10:40:45 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 821s Nov 13 10:40:45 And I sleep for 3 seconds # features/steps/patroni_api.py:39 824s Nov 13 10:40:48 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 824s Nov 13 10:40:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 824s Nov 13 10:40:48 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 825s Nov 13 10:40:48 When I start postgres0 # features/steps/basic_replication.py:8 828s Nov 13 10:40:52 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 829s Nov 13 10:40:53 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 830s Nov 13 10:40:54 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 830s Nov 13 10:40:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 830s Nov 13 10:40:54 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 830s Nov 13 10:40:54 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 830s Nov 13 10:40:54 830s Nov 13 10:40:54 @slot-advance 830s Nov 13 10:40:54 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 830s Nov 13 10:40:54 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 831s Nov 13 10:40:55 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 838s Nov 13 10:41:01 838s Nov 13 10:41:01 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 838s Nov 13 10:41:01 When I shut down postgres1 # features/steps/basic_replication.py:29 840s Nov 13 10:41:03 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 840s Nov 13 10:41:03 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 841s Nov 13 10:41:04 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 841s Nov 13 10:41:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 841s Nov 13 10:41:05 841s Nov 13 10:41:05 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 841s Nov 13 10:41:05 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 844s Nov 13 10:41:08 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 844s Nov 13 10:41:08 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 844s Nov 13 10:41:08 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 844s Nov 13 10:41:08 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 844s Nov 13 10:41:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 844s Nov 13 10:41:08 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 844s Nov 13 10:41:08 And I sleep for 3 seconds # features/steps/patroni_api.py:39 847s Nov 13 10:41:11 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 847s Nov 13 10:41:11 Then I receive a response code 503 # features/steps/patroni_api.py:98 847s Nov 13 10:41:11 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 847s Nov 13 10:41:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 847s Nov 13 10:41:11 And I receive a response role standby_leader # features/steps/patroni_api.py:98 847s Nov 13 10:41:11 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 847s Nov 13 10:41:11 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 850s Nov 13 10:41:14 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 850s Nov 13 10:41:14 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 850s Nov 13 10:41:14 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 850s Nov 13 10:41:14 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 850s Nov 13 10:41:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 850s Nov 13 10:41:14 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 850s Nov 13 10:41:14 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 850s Nov 13 10:41:14 850s Nov 13 10:41:14 Scenario: check switchover # features/standby_cluster.feature:57 850s Nov 13 10:41:14 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 853s Nov 13 10:41:17 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 853s Nov 13 10:41:17 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 855s Nov 13 10:41:19 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 855s Nov 13 10:41:19 855s Nov 13 10:41:19 Scenario: check failover # features/standby_cluster.feature:63 855s Nov 13 10:41:19 When I kill postgres2 # features/steps/basic_replication.py:34 856s Nov 13 10:41:20 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 856s Nov 13 10:41:20 waiting for server to shut down.... done 856s Nov 13 10:41:20 server stopped 856s Nov 13 10:41:20 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 875s Nov 13 10:41:39 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 876s Nov 13 10:41:39 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 876s Nov 13 10:41:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 876s Nov 13 10:41:40 And I receive a response role standby_leader # features/steps/patroni_api.py:98 876s Nov 13 10:41:40 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 877s Nov 13 10:41:41 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 881s Nov 13 10:41:45 881s Nov 13 10:41:45 Feature: watchdog # features/watchdog.feature:1 881s Nov 13 10:41:45 Verify that watchdog gets pinged and triggered under appropriate circumstances. 881s Nov 13 10:41:45 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 881s Nov 13 10:41:45 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 884s Nov 13 10:41:48 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 884s Nov 13 10:41:48 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 884s Nov 13 10:41:48 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 885s Nov 13 10:41:49 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 885s Nov 13 10:41:49 885s Nov 13 10:41:49 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 885s Nov 13 10:41:49 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 886s Nov 13 10:41:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 886s Nov 13 10:41:50 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 886s Nov 13 10:41:50 When I sleep for 4 seconds # features/steps/patroni_api.py:39 890s Nov 13 10:41:54 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 890s Nov 13 10:41:54 890s Nov 13 10:41:54 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 890s Nov 13 10:41:54 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 891s Nov 13 10:41:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 891s Nov 13 10:41:55 When I sleep for 2 seconds # features/steps/patroni_api.py:39 894s Nov 13 10:41:57 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 894s Nov 13 10:41:57 894s Nov 13 10:41:57 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 894s Nov 13 10:41:57 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 894s Nov 13 10:41:57 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 895s Nov 13 10:41:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 895s Nov 13 10:41:59 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 896s Nov 13 10:42:00 896s Nov 13 10:42:00 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 896s Nov 13 10:42:00 Given I shut down postgres0 # features/steps/basic_replication.py:29 898s Nov 13 10:42:02 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 898s Nov 13 10:42:02 898s Nov 13 10:42:02 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 898s Nov 13 10:42:02 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 898s Nov 13 10:42:02 And I start postgres0 with watchdog # features/steps/watchdog.py:16 900s Nov 13 10:42:04 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 902s Nov 13 10:42:06 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 902s Nov 13 10:42:06 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 929s Nov 13 10:42:33 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.4859.XjGsGHBx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.4906.XUWGVZdx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.4946.XWTcwzPx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5026.XGinpDUx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5072.XryBkkbx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5144.XUzfxeBx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5196.XjzOpqXx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5199.XbwbyUKx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5286.XVYDuQsx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5378.XnfBrjkx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5390.XlbhWVbx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5435.XKfeoJAx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5484.XHmztAsx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5596.XVBfKADx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5641.XmoybaRx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5696.Xibtyjpx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5784.XogENlDx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5833.XGWawFSx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5937.XGDdeHmx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.5989.XrpQUYnx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6051.XnfKrdTx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6138.XYIgDeAx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6237.XpJLRFyx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6271.XrNjsLBx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6343.XCxNlXLx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6377.XGLQQJjx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6499.XwJfolsx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6549.XvdyffKx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6565.XLCGGhBx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6604.XnprTySx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6653.XSVQYyGx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6658.XAXwbqOx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6695.XFFXkhxx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6737.XyPjlcox 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6901.XkuaDlOx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6903.XuUqUZwx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.6909.XfDHaPMx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7040.XnMXSQWx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7085.XXVWQKZx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7134.XrOOLsZx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7176.XfJScjgx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7222.XZXxKWix 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7414.XoAebSEx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7457.XaDkpHXx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7539.XeSYVTlx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7626.Xwvsfqjx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.7671.XQdlPrXx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8035.XSdVQNgx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8078.XEUObewx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8213.XslTvkpx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8275.XLQDQndx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8327.XydSAMJx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8453.XJIaZFsx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8569.XreQphmx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8747.XCwHaYCx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8790.XonbLAix 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8792.XYtYzYkx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8795.XhRBWwCx 929s Nov 13 10:42:33 Combined data file .coverage.autopkgtest.8806.XWTFOsHx 931s Nov 13 10:42:35 Name Stmts Miss Cover 931s Nov 13 10:42:35 ------------------------------------------------------------------------------------------------------------- 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/api.py 770 286 63% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 79 88% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/ha.py 1244 361 71% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 170 79% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 31 91% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/utils.py 350 106 70% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/six.py 504 250 50% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/response.py 562 280 50% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 931s Nov 13 10:42:35 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 931s Nov 13 10:42:35 patroni/__init__.py 13 2 85% 931s Nov 13 10:42:35 patroni/__main__.py 199 199 0% 931s Nov 13 10:42:35 patroni/api.py 770 770 0% 931s Nov 13 10:42:35 patroni/async_executor.py 96 69 28% 931s Nov 13 10:42:35 patroni/collections.py 56 15 73% 931s Nov 13 10:42:35 patroni/config.py 371 196 47% 931s Nov 13 10:42:35 patroni/config_generator.py 212 212 0% 931s Nov 13 10:42:35 patroni/ctl.py 936 411 56% 931s Nov 13 10:42:35 patroni/daemon.py 76 76 0% 931s Nov 13 10:42:35 patroni/dcs/__init__.py 646 269 58% 931s Nov 13 10:42:35 patroni/dcs/consul.py 485 485 0% 931s Nov 13 10:42:35 patroni/dcs/etcd3.py 679 346 49% 931s Nov 13 10:42:35 patroni/dcs/etcd.py 603 277 54% 931s Nov 13 10:42:35 patroni/dcs/exhibitor.py 61 61 0% 931s Nov 13 10:42:35 patroni/dcs/kubernetes.py 938 938 0% 931s Nov 13 10:42:35 patroni/dcs/raft.py 319 319 0% 931s Nov 13 10:42:35 patroni/dcs/zookeeper.py 288 288 0% 931s Nov 13 10:42:35 patroni/dynamic_loader.py 35 7 80% 931s Nov 13 10:42:35 patroni/exceptions.py 16 1 94% 931s Nov 13 10:42:35 patroni/file_perm.py 43 15 65% 931s Nov 13 10:42:35 patroni/global_config.py 81 18 78% 931s Nov 13 10:42:35 patroni/ha.py 1244 1244 0% 931s Nov 13 10:42:35 patroni/log.py 219 173 21% 931s Nov 13 10:42:35 patroni/postgresql/__init__.py 821 651 21% 931s Nov 13 10:42:35 patroni/postgresql/available_parameters/__init__.py 21 1 95% 931s Nov 13 10:42:35 patroni/postgresql/bootstrap.py 252 222 12% 931s Nov 13 10:42:35 patroni/postgresql/callback_executor.py 55 34 38% 931s Nov 13 10:42:35 patroni/postgresql/cancellable.py 104 84 19% 931s Nov 13 10:42:35 patroni/postgresql/config.py 813 698 14% 931s Nov 13 10:42:35 patroni/postgresql/connection.py 75 50 33% 931s Nov 13 10:42:35 patroni/postgresql/misc.py 41 29 29% 931s Nov 13 10:42:35 patroni/postgresql/mpp/__init__.py 89 21 76% 931s Nov 13 10:42:35 patroni/postgresql/mpp/citus.py 259 259 0% 931s Nov 13 10:42:35 patroni/postgresql/postmaster.py 170 139 18% 931s Nov 13 10:42:35 patroni/postgresql/rewind.py 416 416 0% 931s Nov 13 10:42:35 patroni/postgresql/slots.py 334 285 15% 931s Nov 13 10:42:35 patroni/postgresql/sync.py 130 96 26% 931s Nov 13 10:42:35 patroni/postgresql/validator.py 157 52 67% 931s Nov 13 10:42:35 patroni/psycopg.py 42 28 33% 931s Nov 13 10:42:35 patroni/raft_controller.py 22 22 0% 931s Nov 13 10:42:35 patroni/request.py 62 6 90% 931s Nov 13 10:42:35 patroni/scripts/__init__.py 0 0 100% 931s Nov 13 10:42:35 patroni/scripts/aws.py 59 59 0% 931s Nov 13 10:42:35 patroni/scripts/barman/__init__.py 0 0 100% 931s Nov 13 10:42:35 patroni/scripts/barman/cli.py 51 51 0% 931s Nov 13 10:42:35 patroni/scripts/barman/config_switch.py 51 51 0% 931s Nov 13 10:42:35 patroni/scripts/barman/recover.py 37 37 0% 931s Nov 13 10:42:35 patroni/scripts/barman/utils.py 94 94 0% 931s Nov 13 10:42:35 patroni/scripts/wale_restore.py 207 207 0% 931s Nov 13 10:42:35 patroni/tags.py 38 11 71% 931s Nov 13 10:42:35 patroni/utils.py 350 177 49% 931s Nov 13 10:42:35 patroni/validator.py 301 215 29% 931s Nov 13 10:42:35 patroni/version.py 1 0 100% 931s Nov 13 10:42:35 patroni/watchdog/__init__.py 2 2 0% 931s Nov 13 10:42:35 patroni/watchdog/base.py 203 203 0% 931s Nov 13 10:42:35 patroni/watchdog/linux.py 135 135 0% 931s Nov 13 10:42:35 ------------------------------------------------------------------------------------------------------------- 931s Nov 13 10:42:35 TOTAL 53739 32247 40% 931s Nov 13 10:42:35 12 features passed, 0 failed, 1 skipped 931s Nov 13 10:42:35 46 scenarios passed, 0 failed, 14 skipped 931s Nov 13 10:42:35 466 steps passed, 0 failed, 119 skipped, 0 undefined 931s Nov 13 10:42:35 Took 7m25.650s 931s ### End 16 acceptance-etcd3 ### 931s + echo '### End 16 acceptance-etcd3 ###' 931s + rm -f '/tmp/pgpass?' 931s ++ id -u 931s + '[' 1000 -eq 0 ']' 931s autopkgtest [10:42:35]: test acceptance-etcd3: -----------------------] 932s autopkgtest [10:42:36]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 932s acceptance-etcd3 PASS 933s autopkgtest [10:42:37]: test acceptance-etcd-basic: preparing testbed 2590s autopkgtest [11:10:14]: testbed dpkg architecture: amd64 2591s autopkgtest [11:10:15]: testbed apt version: 2.9.8 2591s autopkgtest [11:10:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2592s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2593s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2593s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 2593s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 2593s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 2593s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [111 kB] 2593s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [65.2 kB] 2593s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 2593s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [639 kB] 2593s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [255 kB] 2593s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 2593s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 2593s Fetched 2175 kB in 1s (2624 kB/s) 2593s Reading package lists... 2596s Reading package lists... 2597s Building dependency tree... 2597s Reading state information... 2597s Calculating upgrade... 2597s The following NEW packages will be installed: 2597s python3.13-gdbm 2597s The following packages will be upgraded: 2597s libgpgme11t64 libpython3-stdlib python3 python3-gdbm python3-minimal 2597s 5 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2597s Need to get 253 kB of archives. 2597s After this operation, 147 kB of additional disk space will be used. 2597s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-minimal amd64 3.12.7-1 [27.4 kB] 2597s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3 amd64 3.12.7-1 [24.0 kB] 2597s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libpython3-stdlib amd64 3.12.7-1 [10.0 kB] 2597s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-gdbm amd64 3.13.0-2 [31.3 kB] 2597s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-gdbm amd64 3.12.7-1 [8642 B] 2597s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libgpgme11t64 amd64 1.23.2-5ubuntu4 [152 kB] 2598s Fetched 253 kB in 0s (581 kB/s) 2598s (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 ... 75541 files and directories currently installed.) 2598s Preparing to unpack .../python3-minimal_3.12.7-1_amd64.deb ... 2598s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 2598s Setting up python3-minimal (3.12.7-1) ... 2598s (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 ... 75541 files and directories currently installed.) 2598s Preparing to unpack .../python3_3.12.7-1_amd64.deb ... 2598s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 2598s Preparing to unpack .../libpython3-stdlib_3.12.7-1_amd64.deb ... 2598s Unpacking libpython3-stdlib:amd64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 2598s Selecting previously unselected package python3.13-gdbm. 2598s Preparing to unpack .../python3.13-gdbm_3.13.0-2_amd64.deb ... 2598s Unpacking python3.13-gdbm (3.13.0-2) ... 2598s Preparing to unpack .../python3-gdbm_3.12.7-1_amd64.deb ... 2598s Unpacking python3-gdbm:amd64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 2598s Preparing to unpack .../libgpgme11t64_1.23.2-5ubuntu4_amd64.deb ... 2598s Unpacking libgpgme11t64:amd64 (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ... 2598s Setting up libgpgme11t64:amd64 (1.23.2-5ubuntu4) ... 2598s Setting up python3.13-gdbm (3.13.0-2) ... 2598s Setting up libpython3-stdlib:amd64 (3.12.7-1) ... 2598s Setting up python3 (3.12.7-1) ... 2599s Setting up python3-gdbm:amd64 (3.12.7-1) ... 2599s Processing triggers for man-db (2.12.1-3) ... 2599s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2599s Reading package lists... 2599s Building dependency tree... 2599s Reading state information... 2600s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2600s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2600s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2600s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2600s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2601s Reading package lists... 2601s Reading package lists... 2601s Building dependency tree... 2601s Reading state information... 2601s Calculating upgrade... 2602s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2602s Reading package lists... 2602s Building dependency tree... 2602s Reading state information... 2602s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2609s Reading package lists... 2609s Building dependency tree... 2609s Reading state information... 2609s Starting pkgProblemResolver with broken count: 0 2610s Starting 2 pkgProblemResolver with broken count: 0 2610s Done 2610s The following additional packages will be installed: 2610s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 2610s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 2610s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2610s patroni-doc postgresql postgresql-16 postgresql-client-16 2610s postgresql-client-common postgresql-common python3-behave python3-cdiff 2610s python3-click python3-colorama python3-coverage python3-dateutil 2610s python3-dnspython python3-etcd python3-parse python3-parse-type 2610s python3-prettytable python3-psutil python3-psycopg2 python3-six 2610s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 2610s Suggested packages: 2610s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 2610s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 2610s python3-httpcore etcd python-psycopg2-doc 2610s Recommended packages: 2610s javascript-common libjson-xs-perl 2610s The following NEW packages will be installed: 2610s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 2610s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 2610s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2610s patroni-doc postgresql postgresql-16 postgresql-client-16 2610s postgresql-client-common postgresql-common python3-behave python3-cdiff 2610s python3-click python3-colorama python3-coverage python3-dateutil 2610s python3-dnspython python3-etcd python3-parse python3-parse-type 2610s python3-prettytable python3-psutil python3-psycopg2 python3-six 2610s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 2610s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 2610s Need to get 35.8 MB/35.8 MB of archives. 2610s After this operation, 123 MB of additional disk space will be used. 2610s Get:1 /tmp/autopkgtest.SBUqvr/2-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [768 B] 2610s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 2611s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 2611s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 262 [36.7 kB] 2611s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 2611s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 262 [162 kB] 2611s Get:7 http://ftpmaster.internal/ubuntu plucky/universe amd64 etcd-server amd64 3.5.15-7 [11.6 MB] 2611s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2611s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB] 2611s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB] 2611s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2611s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2611s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 2611s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 2611s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libtime-duration-perl all 1.21-2 [12.3 kB] 2611s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libtimedate-perl all 2.3300-2 [34.0 kB] 2611s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu1 [169 kB] 2611s Get:18 http://ftpmaster.internal/ubuntu plucky/universe amd64 moreutils amd64 0.69-1 [56.4 kB] 2611s Get:19 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 2611s Get:20 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 2611s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 2611s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 2611s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 2611s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 2611s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2611s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 2611s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 2611s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 2611s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 2611s Get:30 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-etcd all 0.4.5-4 [31.9 kB] 2611s Get:31 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni all 3.3.1-1 [264 kB] 2611s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 2611s Get:33 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni-doc all 3.3.1-1 [497 kB] 2611s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-16 amd64 16.4-3 [1278 kB] 2612s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-16 amd64 16.4-3 [15.2 MB] 2612s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql all 16+262 [11.8 kB] 2612s Get:37 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse all 1.20.2-1 [27.0 kB] 2612s Get:38 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse-type all 0.6.4-1 [23.4 kB] 2612s Get:39 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-behave all 1.2.6-6 [98.6 kB] 2612s Get:40 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 2612s Preconfiguring packages ... 2612s Fetched 35.8 MB in 2s (15.9 MB/s) 2612s Selecting previously unselected package fonts-lato. 2612s (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 ... 75548 files and directories currently installed.) 2612s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2612s Unpacking fonts-lato (2.015-1) ... 2613s Selecting previously unselected package libjson-perl. 2613s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2613s Unpacking libjson-perl (4.10000-1) ... 2613s Selecting previously unselected package postgresql-client-common. 2613s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 2613s Unpacking postgresql-client-common (262) ... 2613s Selecting previously unselected package ssl-cert. 2613s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 2613s Unpacking ssl-cert (1.1.2ubuntu2) ... 2613s Selecting previously unselected package postgresql-common. 2613s Preparing to unpack .../04-postgresql-common_262_all.deb ... 2613s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2613s Unpacking postgresql-common (262) ... 2613s Selecting previously unselected package etcd-server. 2613s Preparing to unpack .../05-etcd-server_3.5.15-7_amd64.deb ... 2613s Unpacking etcd-server (3.5.15-7) ... 2613s Selecting previously unselected package fonts-font-awesome. 2613s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2613s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2613s Selecting previously unselected package libio-pty-perl. 2613s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_amd64.deb ... 2613s Unpacking libio-pty-perl (1:1.20-1build3) ... 2613s Selecting previously unselected package libipc-run-perl. 2613s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 2613s Unpacking libipc-run-perl (20231003.0-2) ... 2613s Selecting previously unselected package libjs-jquery. 2613s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2613s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2613s Selecting previously unselected package libjs-underscore. 2613s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2613s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2613s Selecting previously unselected package libjs-sphinxdoc. 2613s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 2613s Unpacking libjs-sphinxdoc (7.4.7-4) ... 2613s Selecting previously unselected package libpq5:amd64. 2613s Preparing to unpack .../12-libpq5_17.0-1_amd64.deb ... 2613s Unpacking libpq5:amd64 (17.0-1) ... 2613s Selecting previously unselected package libtime-duration-perl. 2613s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 2613s Unpacking libtime-duration-perl (1.21-2) ... 2613s Selecting previously unselected package libtimedate-perl. 2613s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 2613s Unpacking libtimedate-perl (2.3300-2) ... 2613s Selecting previously unselected package libxslt1.1:amd64. 2613s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_amd64.deb ... 2613s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 2613s Selecting previously unselected package moreutils. 2613s Preparing to unpack .../16-moreutils_0.69-1_amd64.deb ... 2613s Unpacking moreutils (0.69-1) ... 2613s Selecting previously unselected package python3-ydiff. 2613s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 2613s Unpacking python3-ydiff (1.3-1) ... 2613s Selecting previously unselected package python3-cdiff. 2613s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 2613s Unpacking python3-cdiff (1.3-1) ... 2613s Selecting previously unselected package python3-colorama. 2613s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 2613s Unpacking python3-colorama (0.4.6-4) ... 2613s Selecting previously unselected package python3-click. 2613s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 2613s Unpacking python3-click (8.1.7-2) ... 2613s Selecting previously unselected package python3-six. 2613s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 2613s Unpacking python3-six (1.16.0-7) ... 2613s Selecting previously unselected package python3-dateutil. 2613s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 2613s Unpacking python3-dateutil (2.9.0-2) ... 2613s Selecting previously unselected package python3-wcwidth. 2613s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2613s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2613s Selecting previously unselected package python3-prettytable. 2613s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 2613s Unpacking python3-prettytable (3.10.1-1) ... 2613s Selecting previously unselected package python3-psutil. 2613s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_amd64.deb ... 2613s Unpacking python3-psutil (5.9.8-2build2) ... 2613s Selecting previously unselected package python3-psycopg2. 2613s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_amd64.deb ... 2613s Unpacking python3-psycopg2 (2.9.9-2) ... 2613s Selecting previously unselected package python3-dnspython. 2613s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 2613s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 2613s Selecting previously unselected package python3-etcd. 2613s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 2613s Unpacking python3-etcd (0.4.5-4) ... 2613s Selecting previously unselected package patroni. 2613s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 2613s Unpacking patroni (3.3.1-1) ... 2614s Selecting previously unselected package sphinx-rtd-theme-common. 2614s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 2614s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2614s Selecting previously unselected package patroni-doc. 2614s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 2614s Unpacking patroni-doc (3.3.1-1) ... 2614s Selecting previously unselected package postgresql-client-16. 2614s Preparing to unpack .../32-postgresql-client-16_16.4-3_amd64.deb ... 2614s Unpacking postgresql-client-16 (16.4-3) ... 2614s Selecting previously unselected package postgresql-16. 2614s Preparing to unpack .../33-postgresql-16_16.4-3_amd64.deb ... 2614s Unpacking postgresql-16 (16.4-3) ... 2614s Selecting previously unselected package postgresql. 2614s Preparing to unpack .../34-postgresql_16+262_all.deb ... 2614s Unpacking postgresql (16+262) ... 2614s Selecting previously unselected package python3-parse. 2614s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 2614s Unpacking python3-parse (1.20.2-1) ... 2614s Selecting previously unselected package python3-parse-type. 2614s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 2614s Unpacking python3-parse-type (0.6.4-1) ... 2614s Selecting previously unselected package python3-behave. 2614s Preparing to unpack .../37-python3-behave_1.2.6-6_all.deb ... 2614s Unpacking python3-behave (1.2.6-6) ... 2614s Selecting previously unselected package python3-coverage. 2614s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 2614s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2614s Selecting previously unselected package autopkgtest-satdep. 2614s Preparing to unpack .../39-2-autopkgtest-satdep.deb ... 2614s Unpacking autopkgtest-satdep (0) ... 2614s Setting up postgresql-client-common (262) ... 2614s Setting up fonts-lato (2.015-1) ... 2614s Setting up libio-pty-perl (1:1.20-1build3) ... 2614s Setting up python3-colorama (0.4.6-4) ... 2614s Setting up python3-ydiff (1.3-1) ... 2614s Setting up libpq5:amd64 (17.0-1) ... 2614s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2614s Setting up python3-click (8.1.7-2) ... 2615s Setting up python3-psutil (5.9.8-2build2) ... 2615s Setting up python3-six (1.16.0-7) ... 2615s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2615s Setting up ssl-cert (1.1.2ubuntu2) ... 2615s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2616s Setting up python3-psycopg2 (2.9.9-2) ... 2616s Setting up libipc-run-perl (20231003.0-2) ... 2616s Setting up libtime-duration-perl (1.21-2) ... 2616s Setting up libtimedate-perl (2.3300-2) ... 2616s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 2616s Setting up python3-parse (1.20.2-1) ... 2616s Setting up libjson-perl (4.10000-1) ... 2616s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 2616s Setting up python3-dateutil (2.9.0-2) ... 2616s Setting up etcd-server (3.5.15-7) ... 2616s info: Selecting UID from range 100 to 999 ... 2616s 2616s info: Selecting GID from range 100 to 999 ... 2616s info: Adding system user `etcd' (UID 108) ... 2616s info: Adding new group `etcd' (GID 112) ... 2616s info: Adding new user `etcd' (UID 108) with group `etcd' ... 2616s info: Creating home directory `/var/lib/etcd/' ... 2617s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 2617s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 2617s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2617s Setting up python3-prettytable (3.10.1-1) ... 2617s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2617s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2617s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2617s Setting up moreutils (0.69-1) ... 2617s Setting up python3-etcd (0.4.5-4) ... 2617s Setting up postgresql-client-16 (16.4-3) ... 2618s 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 2618s Setting up python3-cdiff (1.3-1) ... 2618s Setting up python3-parse-type (0.6.4-1) ... 2618s Setting up postgresql-common (262) ... 2618s 2618s Creating config file /etc/postgresql-common/createcluster.conf with new version 2618s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2618s Removing obsolete dictionary files: 2619s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2619s Setting up libjs-sphinxdoc (7.4.7-4) ... 2619s Setting up python3-behave (1.2.6-6) ... 2619s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2619s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2619s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2619s """Registers a custom type that will be available to "parse" 2619s Setting up patroni (3.3.1-1) ... 2619s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2620s Setting up postgresql-16 (16.4-3) ... 2620s Creating new PostgreSQL cluster 16/main ... 2620s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2620s The files belonging to this database system will be owned by user "postgres". 2620s This user must also own the server process. 2620s 2620s The database cluster will be initialized with locale "C.UTF-8". 2620s The default database encoding has accordingly been set to "UTF8". 2620s The default text search configuration will be set to "english". 2620s 2620s Data page checksums are disabled. 2620s 2620s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2620s creating subdirectories ... ok 2620s selecting dynamic shared memory implementation ... posix 2620s selecting default max_connections ... 100 2620s selecting default shared_buffers ... 128MB 2620s selecting default time zone ... Etc/UTC 2620s creating configuration files ... ok 2620s running bootstrap script ... ok 2621s performing post-bootstrap initialization ... ok 2621s syncing data to disk ... ok 2624s Setting up patroni-doc (3.3.1-1) ... 2624s Setting up postgresql (16+262) ... 2624s Setting up autopkgtest-satdep (0) ... 2624s Processing triggers for man-db (2.12.1-3) ... 2625s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2628s (Reading database ... 78759 files and directories currently installed.) 2628s Removing autopkgtest-satdep (0) ... 2631s autopkgtest [11:10:55]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 2631s autopkgtest [11:10:55]: test acceptance-etcd-basic: [----------------------- 2632s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2632s ++ ls -1r /usr/lib/postgresql/ 2632s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2632s + '[' 16 == 10 -o 16 == 11 ']' 2632s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 2632s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave features/basic_replication.feature | ts' 2632s ○ etcd.service - etcd - highly-available key value store 2632s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 2632s Active: inactive (dead) since Wed 2024-11-13 11:10:56 UTC; 11ms ago 2632s Duration: 15.101s 2632s Invocation: 9529f025b9984524b9b5d3f1b84a7b99 2632s Docs: https://etcd.io/docs 2632s man:etcd 2632s Process: 2550 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 2632s Main PID: 2550 (code=killed, signal=TERM) 2632s Mem peak: 7.2M 2632s CPU: 77ms 2632s 2632s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.713025Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 2632s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"warn","ts":"2024-11-13T11:10:56.713086Z","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"} 2632s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"warn","ts":"2024-11-13T11:10:56.713222Z","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"} 2632s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.713242Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 2632s Nov 13 11:10:56 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 2632s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.717656Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 2632s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.717737Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 2632s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.717747Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 2632s Nov 13 11:10:56 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 2632s Nov 13 11:10:56 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 2632s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 2634s Nov 13 11:10:58 Feature: basic replication # features/basic_replication.feature:1 2634s Nov 13 11:10:58 We should check that the basic bootstrapping, replication and failover works. 2634s Nov 13 11:10:58 Scenario: check replication of a single table # features/basic_replication.feature:4 2634s Nov 13 11:10:58 Given I start postgres0 # features/steps/basic_replication.py:8 2637s Nov 13 11:11:01 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2638s Nov 13 11:11:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2638s Nov 13 11:11:02 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 2638s Nov 13 11:11:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 2638s Nov 13 11:11:02 When I start postgres1 # features/steps/basic_replication.py:8 2641s Nov 13 11:11:05 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2644s Nov 13 11:11:08 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2644s Nov 13 11:11:08 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2644s Nov 13 11:11:08 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2645s Nov 13 11:11:09 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2649s Nov 13 11:11:13 2649s Nov 13 11:11:13 Scenario: check restart of sync replica # features/basic_replication.feature:17 2649s Nov 13 11:11:13 Given I shut down postgres2 # features/steps/basic_replication.py:29 2650s Nov 13 11:11:14 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2650s Nov 13 11:11:14 When I start postgres2 # features/steps/basic_replication.py:8 2652s Nov 13 11:11:16 And I shut down postgres1 # features/steps/basic_replication.py:29 2655s Nov 13 11:11:19 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2656s Nov 13 11:11:20 When I start postgres1 # features/steps/basic_replication.py:8 2658s Nov 13 11:11:22 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2659s Nov 13 11:11:23 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2659s Nov 13 11:11:23 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2659s Nov 13 11:11:23 2659s Nov 13 11:11:23 Scenario: check stuck sync replica # features/basic_replication.feature:28 2659s Nov 13 11:11:23 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 2659s Nov 13 11:11:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2659s Nov 13 11:11:23 And I create table on postgres0 # features/steps/basic_replication.py:73 2659s Nov 13 11:11:23 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2660s Nov 13 11:11:24 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2660s Nov 13 11:11:24 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2660s Nov 13 11:11:24 And I load data on postgres0 # features/steps/basic_replication.py:84 2661s Nov 13 11:11:25 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2664s Nov 13 11:11:28 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2664s Nov 13 11:11:28 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2664s Nov 13 11:11:28 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2664s Nov 13 11:11:28 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 2664s Nov 13 11:11:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2664s Nov 13 11:11:28 And I drop table on postgres0 # features/steps/basic_replication.py:73 2664s Nov 13 11:11:28 2664s Nov 13 11:11:28 Scenario: check multi sync replication # features/basic_replication.feature:44 2664s Nov 13 11:11:28 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 2664s Nov 13 11:11:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2664s Nov 13 11:11:28 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2668s Nov 13 11:11:32 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2668s Nov 13 11:11:32 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2668s Nov 13 11:11:32 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 2668s Nov 13 11:11:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2668s Nov 13 11:11:32 And I shut down postgres1 # features/steps/basic_replication.py:29 2671s Nov 13 11:11:35 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2672s Nov 13 11:11:36 When I start postgres1 # features/steps/basic_replication.py:8 2675s Nov 13 11:11:39 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2675s Nov 13 11:11:39 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2675s Nov 13 11:11:39 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2675s Nov 13 11:11:39 2675s Nov 13 11:11:39 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2675s Nov 13 11:11:39 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2676s Nov 13 11:11:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2676s Nov 13 11:11:40 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2678s Nov 13 11:11:42 And I shut down postgres0 # features/steps/basic_replication.py:29 2679s Nov 13 11:11:43 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2681s Nov 13 11:11:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2681s Nov 13 11:11:45 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2701s Nov 13 11:12:05 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2703s Nov 13 11:12:07 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2703s Nov 13 11:12:07 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 2703s Nov 13 11:12:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 2703s Nov 13 11:12:07 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2703s Nov 13 11:12:07 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2706s Nov 13 11:12:10 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2706s Nov 13 11:12:10 2706s Nov 13 11:12:10 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2706s Nov 13 11:12:10 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2706s Nov 13 11:12:10 And I start postgres0 # features/steps/basic_replication.py:8 2706s Nov 13 11:12:10 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2712s Nov 13 11:12:16 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2712s Nov 13 11:12:16 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2712s Nov 13 11:12:16 2712s Nov 13 11:12:16 @reject-duplicate-name 2712s Nov 13 11:12:16 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2712s Nov 13 11:12:16 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 2714s Nov 13 11:12:18 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 2719s 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'))") 2719s Nov 13 11:12:22 2719s 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'))") 2719s 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'))") 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.4777.XJxsdCvx 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.4822.XZjKPAEx 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.4867.XHjwKDMx 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.4933.XsYNwcXx 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.4977.XjYfVZHx 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.5047.XOJMSLwx 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.5094.XonTqDrx 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.5097.XxHVupwx 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.5181.XjNhMsEx 2720s Nov 13 11:12:23 Combined data file .coverage.autopkgtest.5274.XFAmNCBx 2721s Nov 13 11:12:25 Name Stmts Miss Cover 2721s Nov 13 11:12:25 ------------------------------------------------------------------------------------------------------------- 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 603 45% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/api.py 770 430 44% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 149 77% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/ha.py 1244 617 50% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/log.py 219 71 68% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 239 71% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 91 64% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 256 69% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 174 48% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/utils.py 350 140 60% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/validator.py 301 211 30% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/six.py 504 250 50% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2721s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2722s Nov 13 11:12:25 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2722s Nov 13 11:12:25 patroni/__init__.py 13 2 85% 2722s Nov 13 11:12:25 patroni/__main__.py 199 199 0% 2722s Nov 13 11:12:25 patroni/api.py 770 770 0% 2722s Nov 13 11:12:25 patroni/async_executor.py 96 69 28% 2722s Nov 13 11:12:25 patroni/collections.py 56 15 73% 2722s Nov 13 11:12:25 patroni/config.py 371 196 47% 2722s Nov 13 11:12:25 patroni/config_generator.py 212 212 0% 2722s Nov 13 11:12:25 patroni/ctl.py 936 663 29% 2722s Nov 13 11:12:25 patroni/daemon.py 76 76 0% 2722s Nov 13 11:12:25 patroni/dcs/__init__.py 646 308 52% 2722s Nov 13 11:12:25 patroni/dcs/consul.py 485 485 0% 2722s Nov 13 11:12:25 patroni/dcs/etcd3.py 679 679 0% 2722s Nov 13 11:12:25 patroni/dcs/etcd.py 603 232 62% 2722s Nov 13 11:12:25 patroni/dcs/exhibitor.py 61 61 0% 2722s Nov 13 11:12:25 patroni/dcs/kubernetes.py 938 938 0% 2722s Nov 13 11:12:25 patroni/dcs/raft.py 319 319 0% 2722s Nov 13 11:12:25 patroni/dcs/zookeeper.py 288 288 0% 2722s Nov 13 11:12:25 patroni/dynamic_loader.py 35 7 80% 2722s Nov 13 11:12:25 patroni/exceptions.py 16 1 94% 2722s Nov 13 11:12:25 patroni/file_perm.py 43 15 65% 2722s Nov 13 11:12:25 patroni/global_config.py 81 23 72% 2722s Nov 13 11:12:25 patroni/ha.py 1244 1244 0% 2722s Nov 13 11:12:25 patroni/log.py 219 173 21% 2722s Nov 13 11:12:25 patroni/postgresql/__init__.py 821 651 21% 2722s Nov 13 11:12:25 patroni/postgresql/available_parameters/__init__.py 21 3 86% 2722s Nov 13 11:12:25 patroni/postgresql/bootstrap.py 252 222 12% 2722s Nov 13 11:12:25 patroni/postgresql/callback_executor.py 55 34 38% 2722s Nov 13 11:12:25 p+ echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 2722s + rm -f '/tmp/pgpass?' 2722s ++ id -u 2722s + '[' 0 -eq 0 ']' 2722s + '[' -x /etc/init.d/zookeeper ']' 2722s autopkgtest [11:12:26]: test acceptance-etcd-basic: -----------------------] 2722s atroni/postgresql/cancellable.py 104 84 19% 2722s Nov 13 11:12:25 patroni/postgresql/config.py 813 698 14% 2722s Nov 13 11:12:25 patroni/postgresql/connection.py 75 50 33% 2722s Nov 13 11:12:25 patroni/postgresql/misc.py 41 29 29% 2722s Nov 13 11:12:25 patroni/postgresql/mpp/__init__.py 89 21 76% 2722s Nov 13 11:12:25 patroni/postgresql/mpp/citus.py 259 259 0% 2722s Nov 13 11:12:25 patroni/postgresql/postmaster.py 170 139 18% 2722s Nov 13 11:12:25 patroni/postgresql/rewind.py 416 416 0% 2722s Nov 13 11:12:25 patroni/postgresql/slots.py 334 285 15% 2722s Nov 13 11:12:25 patroni/postgresql/sync.py 130 96 26% 2722s Nov 13 11:12:25 patroni/postgresql/validator.py 157 52 67% 2722s Nov 13 11:12:25 patroni/psycopg.py 42 28 33% 2722s Nov 13 11:12:25 patroni/raft_controller.py 22 22 0% 2722s Nov 13 11:12:25 patroni/request.py 62 6 90% 2722s Nov 13 11:12:25 patroni/scripts/__init__.py 0 0 100% 2722s Nov 13 11:12:25 patroni/scripts/aws.py 59 59 0% 2722s Nov 13 11:12:25 patroni/scripts/barman/__init__.py 0 0 100% 2722s Nov 13 11:12:25 patroni/scripts/barman/cli.py 51 51 0% 2722s Nov 13 11:12:25 patroni/scripts/barman/config_switch.py 51 51 0% 2722s Nov 13 11:12:25 patroni/scripts/barman/recover.py 37 37 0% 2722s Nov 13 11:12:25 patroni/scripts/barman/utils.py 94 94 0% 2722s Nov 13 11:12:25 patroni/scripts/wale_restore.py 207 207 0% 2722s Nov 13 11:12:25 patroni/tags.py 38 15 61% 2722s Nov 13 11:12:25 patroni/utils.py 350 246 30% 2722s Nov 13 11:12:25 patroni/validator.py 301 215 29% 2722s Nov 13 11:12:25 patroni/version.py 1 0 100% 2722s Nov 13 11:12:25 patroni/watchdog/__init__.py 2 2 0% 2722s Nov 13 11:12:25 patroni/watchdog/base.py 203 203 0% 2722s Nov 13 11:12:25 patroni/watchdog/linux.py 135 135 0% 2722s Nov 13 11:12:25 ------------------------------------------------------------------------------------------------------------- 2722s Nov 13 11:12:25 TOTAL 53060 33816 36% 2722s Nov 13 11:12:25 1 feature passed, 0 failed, 0 skipped 2722s Nov 13 11:12:25 7 scenarios passed, 0 failed, 0 skipped 2722s Nov 13 11:12:25 68 steps passed, 0 failed, 0 skipped, 0 undefined 2722s Nov 13 11:12:25 Took 1m20.438s 2722s ### End 16 acceptance-etcd features/basic_replication.feature ### 2724s autopkgtest [11:12:28]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 2724s acceptance-etcd-basic PASS 2725s autopkgtest [11:12:29]: test acceptance-etcd: preparing testbed 2728s Reading package lists... 2728s Building dependency tree... 2728s Reading state information... 2728s Starting pkgProblemResolver with broken count: 0 2728s Starting 2 pkgProblemResolver with broken count: 0 2728s Done 2729s The following NEW packages will be installed: 2729s autopkgtest-satdep 2729s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2729s Need to get 0 B/768 B of archives. 2729s After this operation, 0 B of additional disk space will be used. 2729s Get:1 /tmp/autopkgtest.SBUqvr/3-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [768 B] 2729s Selecting previously unselected package autopkgtest-satdep. 2729s (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 ... 78759 files and directories currently installed.) 2729s Preparing to unpack .../3-autopkgtest-satdep.deb ... 2729s Unpacking autopkgtest-satdep (0) ... 2729s Setting up autopkgtest-satdep (0) ... 2731s (Reading database ... 78759 files and directories currently installed.) 2731s Removing autopkgtest-satdep (0) ... 2733s autopkgtest [11:12:37]: test acceptance-etcd: debian/tests/acceptance etcd 2733s autopkgtest [11:12:37]: test acceptance-etcd: [----------------------- 2733s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2733s ○ etcd.service - etcd - highly-available key value store 2733s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 2733s Active: inactive (dead) since Wed 2024-11-13 11:10:56 UTC; 1min 41s ago 2733s Duration: 15.101s 2733s Invocation: 9529f025b9984524b9b5d3f1b84a7b99 2733s Docs: https://etcd.io/docs 2733s man:etcd 2733s Process: 2550 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 2733s Main PID: 2550 (code=killed, signal=TERM) 2733s Mem peak: 7.2M 2733s CPU: 77ms 2733s 2733s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.713025Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 2733s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"warn","ts":"2024-11-13T11:10:56.713086Z","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"} 2733s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"warn","ts":"2024-11-13T11:10:56.713222Z","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"} 2733s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.713242Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 2733s Nov 13 11:10:56 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 2733s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.717656Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 2733s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.717737Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 2733s Nov 13 11:10:56 autopkgtest etcd[2550]: {"level":"info","ts":"2024-11-13T11:10:56.717747Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 2733s Nov 13 11:10:56 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 2733s Nov 13 11:10:56 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 2733s ++ ls -1r /usr/lib/postgresql/ 2733s ### PostgreSQL 16 acceptance-etcd ### 2733s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2733s + '[' 16 == 10 -o 16 == 11 ']' 2733s + echo '### PostgreSQL 16 acceptance-etcd ###' 2733s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 2735s Nov 13 11:12:39 Feature: basic replication # features/basic_replication.feature:1 2735s Nov 13 11:12:39 We should check that the basic bootstrapping, replication and failover works. 2735s Nov 13 11:12:39 Scenario: check replication of a single table # features/basic_replication.feature:4 2735s Nov 13 11:12:39 Given I start postgres0 # features/steps/basic_replication.py:8 2738s Nov 13 11:12:42 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2739s Nov 13 11:12:43 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2739s Nov 13 11:12:43 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 2739s Nov 13 11:12:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 2739s Nov 13 11:12:43 When I start postgres1 # features/steps/basic_replication.py:8 2742s Nov 13 11:12:46 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2745s Nov 13 11:12:49 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2745s Nov 13 11:12:49 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2745s Nov 13 11:12:49 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2746s Nov 13 11:12:50 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2746s Nov 13 11:12:50 2746s Nov 13 11:12:50 Scenario: check restart of sync replica # features/basic_replication.feature:17 2746s Nov 13 11:12:50 Given I shut down postgres2 # features/steps/basic_replication.py:29 2747s Nov 13 11:12:51 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2747s Nov 13 11:12:51 When I start postgres2 # features/steps/basic_replication.py:8 2749s Nov 13 11:12:53 And I shut down postgres1 # features/steps/basic_replication.py:29 2752s Nov 13 11:12:56 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2753s Nov 13 11:12:57 When I start postgres1 # features/steps/basic_replication.py:8 2755s Nov 13 11:12:59 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2756s Nov 13 11:13:00 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2756s Nov 13 11:13:00 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2756s Nov 13 11:13:00 2756s Nov 13 11:13:00 Scenario: check stuck sync replica # features/basic_replication.feature:28 2756s Nov 13 11:13:00 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 2756s Nov 13 11:13:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2756s Nov 13 11:13:00 And I create table on postgres0 # features/steps/basic_replication.py:73 2756s Nov 13 11:13:00 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2757s Nov 13 11:13:01 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2757s Nov 13 11:13:01 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2757s Nov 13 11:13:01 And I load data on postgres0 # features/steps/basic_replication.py:84 2758s Nov 13 11:13:02 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2761s Nov 13 11:13:05 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2761s Nov 13 11:13:05 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2762s Nov 13 11:13:06 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2762s Nov 13 11:13:06 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 2762s Nov 13 11:13:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2762s Nov 13 11:13:06 And I drop table on postgres0 # features/steps/basic_replication.py:73 2762s Nov 13 11:13:06 2762s Nov 13 11:13:06 Scenario: check multi sync replication # features/basic_replication.feature:44 2762s Nov 13 11:13:06 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 2762s Nov 13 11:13:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2762s Nov 13 11:13:06 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2766s Nov 13 11:13:10 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2766s Nov 13 11:13:10 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2766s Nov 13 11:13:10 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 2766s Nov 13 11:13:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 2766s Nov 13 11:13:10 And I shut down postgres1 # features/steps/basic_replication.py:29 2769s Nov 13 11:13:13 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2770s Nov 13 11:13:14 When I start postgres1 # features/steps/basic_replication.py:8 2773s Nov 13 11:13:17 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2773s Nov 13 11:13:17 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2773s Nov 13 11:13:17 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2773s Nov 13 11:13:17 2773s Nov 13 11:13:17 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2773s Nov 13 11:13:17 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2774s Nov 13 11:13:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2774s Nov 13 11:13:18 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2776s Nov 13 11:13:20 And I shut down postgres0 # features/steps/basic_replication.py:29 2777s Nov 13 11:13:21 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2779s Nov 13 11:13:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2779s Nov 13 11:13:23 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2798s Nov 13 11:13:42 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2800s Nov 13 11:13:44 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2800s Nov 13 11:13:44 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 2800s Nov 13 11:13:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 2800s Nov 13 11:13:44 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2800s Nov 13 11:13:44 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2803s Nov 13 11:13:47 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2803s Nov 13 11:13:47 2803s Nov 13 11:13:47 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2803s Nov 13 11:13:47 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2803s Nov 13 11:13:47 And I start postgres0 # features/steps/basic_replication.py:8 2803s Nov 13 11:13:47 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2809s Nov 13 11:13:53 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2809s Nov 13 11:13:53 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2809s Nov 13 11:13:53 2809s Nov 13 11:13:53 @reject-duplicate-name 2809s Nov 13 11:13:53 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2809s Nov 13 11:13:53 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 2811s Nov 13 11:13:55 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 2815s Nov 13 11:13:59 2815s Nov 13 11:13:59 Feature: cascading replication # features/cascading_replication.feature:1 2815s Nov 13 11:13:59 We should check that patroni can do base backup and streaming from the replica 2815s Nov 13 11:13:59 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2815s Nov 13 11:13:59 Given I start postgres0 # features/steps/basic_replication.py:8 2818s Nov 13 11:14:02 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2819s Nov 13 11:14:03 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2822s Nov 13 11:14:06 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2827s Nov 13 11:14:11 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2827s Nov 13 11:14:11 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2827s Nov 13 11:14:11 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2827s Nov 13 11:14:11 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2830s Nov 13 11:14:14 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2836s Nov 13 11:14:19 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2841s Nov 13 11:14:25 2841s Nov 13 11:14:25 Feature: citus # features/citus.feature:1 2841s Nov 13 11:14:25 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2841s Nov 13 11:14:25 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2841s Nov 13 11:14:25 Given I start postgres0 in citus group 0 # None 2841s Nov 13 11:14:25 And I start postgres2 in citus group 1 # None 2841s Nov 13 11:14:25 Then postgres0 is a leader in a group 0 after 10 seconds # None 2841s Nov 13 11:14:25 And postgres2 is a leader in a group 1 after 10 seconds # None 2841s Nov 13 11:14:25 When I start postgres1 in citus group 0 # None 2841s Nov 13 11:14:25 And I start postgres3 in citus group 1 # None 2841s Nov 13 11:14:25 Then replication works from postgres0 to postgres1 after 15 seconds # None 2841s Nov 13 11:14:25 Then replication works from postgres2 to postgres3 after 15 seconds # None 2841s Nov 13 11:14:25 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2841s Nov 13 11:14:25 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2841s Nov 13 11:14:25 2841s Nov 13 11:14:25 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2841s Nov 13 11:14:25 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2841s Nov 13 11:14:25 Then postgres1 role is the primary after 10 seconds # None 2841s Nov 13 11:14:25 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2841s Nov 13 11:14:25 And replication works from postgres1 to postgres0 after 15 seconds # None 2841s Nov 13 11:14:25 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2841s Nov 13 11:14:25 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2841s Nov 13 11:14:25 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2841s Nov 13 11:14:25 Then postgres0 role is the primary after 10 seconds # None 2841s Nov 13 11:14:25 And replication works from postgres0 to postgres1 after 15 seconds # None 2841s Nov 13 11:14:25 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2841s Nov 13 11:14:25 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2841s SKIP FEATURE citus: Citus extenstion isn't available 2841s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2841s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2841s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2841s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2841s 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 2841s Nov 13 11:14:25 2841s Nov 13 11:14:25 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2841s Nov 13 11:14:25 Given I create a distributed table on postgres0 # None 2841s Nov 13 11:14:25 And I start a thread inserting data on postgres0 # None 2841s Nov 13 11:14:25 When I run patronictl.py switchover batman --group 1 --force # None 2841s Nov 13 11:14:25 Then I receive a response returncode 0 # None 2841s Nov 13 11:14:25 And postgres3 role is the primary after 10 seconds # None 2841s Nov 13 11:14:25 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2841s Nov 13 11:14:25 And replication works from postgres3 to postgres2 after 15 seconds # None 2841s Nov 13 11:14:25 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2841s Nov 13 11:14:25 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2841s Nov 13 11:14:25 And a thread is still alive # None 2841s Nov 13 11:14:25 When I run patronictl.py switchover batman --group 1 --force # None 2841s Nov 13 11:14:25 Then I receive a response returncode 0 # None 2841s Nov 13 11:14:25 And postgres2 role is the primary after 10 seconds # None 2841s Nov 13 11:14:25 And replication works from postgres2 to postgres3 after 15 seconds # None 2841s Nov 13 11:14:25 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2841s Nov 13 11:14:25 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2841s Nov 13 11:14:25 And a thread is still alive # None 2841s Nov 13 11:14:25 When I stop a thread # None 2841s Nov 13 11:14:25 Then a distributed table on postgres0 has expected rows # None 2841s Nov 13 11:14:25 2841s Nov 13 11:14:25 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2841s Nov 13 11:14:25 Given I cleanup a distributed table on postgres0 # None 2841s Nov 13 11:14:25 And I start a thread inserting data on postgres0 # None 2841s Nov 13 11:14:25 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2841s Nov 13 11:14:25 Then I receive a response returncode 0 # None 2841s Nov 13 11:14:25 And postgres2 role is the primary after 10 seconds # None 2841s Nov 13 11:14:25 And replication works from postgres2 to postgres3 after 15 seconds # None 2841s Nov 13 11:14:25 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2841s Nov 13 11:14:25 And a thread is still alive # None 2841s Nov 13 11:14:25 When I stop a thread # None 2841s Nov 13 11:14:25 Then a distributed table on postgres0 has expected rows # None 2841s Nov 13 11:14:25 2841s Nov 13 11:14:25 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2841s Nov 13 11:14:25 Given I start postgres4 in citus group 2 # None 2841s Nov 13 11:14:25 Then postgres4 is a leader in a group 2 after 10 seconds # None 2841s Nov 13 11:14:25 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2841s Nov 13 11:14:25 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2841s Nov 13 11:14:25 Then I receive a response returncode 0 # None 2841s Nov 13 11:14:25 And I receive a response output "+ttl: 20" # None 2841s Nov 13 11:14:25 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2841s Nov 13 11:14:25 When I shut down postgres4 # None 2841s Nov 13 11:14:25 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2841s Nov 13 11:14:25 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2841s Nov 13 11:14:25 Then a transaction finishes in 20 seconds # None 2841s Nov 13 11:14:25 2841s Nov 13 11:14:25 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2841s Nov 13 11:14:25 We should check that patroni can bootstrap a new cluster from a backup 2841s Nov 13 11:14:25 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2841s Nov 13 11:14:25 Given I start postgres0 # features/steps/basic_replication.py:8 2844s Nov 13 11:14:28 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2845s Nov 13 11:14:29 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2845s Nov 13 11:14:29 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2848s Nov 13 11:14:32 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2849s Nov 13 11:14:33 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2849s Nov 13 11:14:33 2849s Nov 13 11:14:33 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2849s Nov 13 11:14:33 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2849s Nov 13 11:14:33 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2849s Nov 13 11:14:33 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2853s Nov 13 11:14:37 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2854s Nov 13 11:14:38 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2860s Nov 13 11:14:44 2860s Nov 13 11:14:44 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2860s Nov 13 11:14:44 We should check the basic dcs failsafe mode functioning 2860s Nov 13 11:14:44 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2860s Nov 13 11:14:44 Given I start postgres0 # features/steps/basic_replication.py:8 2863s Nov 13 11:14:47 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2865s Nov 13 11:14:48 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2865s Nov 13 11:14:48 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 2865s Nov 13 11:14:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 2865s Nov 13 11:14:48 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2865s Nov 13 11:14:48 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2865s Nov 13 11:14:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 2865s Nov 13 11:14:48 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2865s Nov 13 11:14:48 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 2865s Nov 13 11:14:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 2865s Nov 13 11:14:49 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 2865s Nov 13 11:14:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 2865s Nov 13 11:14:49 2865s Nov 13 11:14:49 @dcs-failsafe 2865s Nov 13 11:14:49 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2865s Nov 13 11:14:49 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2865s Nov 13 11:14:49 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 2871s Nov 13 11:14:55 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2871s Nov 13 11:14:55 2871s Nov 13 11:14:55 @dcs-failsafe 2871s Nov 13 11:14:55 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2871s Nov 13 11:14:55 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2871s Nov 13 11:14:55 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2871s Nov 13 11:14:55 And I shut down postgres0 # features/steps/basic_replication.py:29 2873s Nov 13 11:14:57 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2876s Nov 13 11:15:00 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2876s Nov 13 11:15:00 2876s Nov 13 11:15:00 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2876s Nov 13 11:15:00 Given I start postgres0 # features/steps/basic_replication.py:8 2878s Nov 13 11:15:02 And I start postgres1 # features/steps/basic_replication.py:8 2878s Nov 13 11:15:02 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2880s Nov 13 11:15:03 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2880s Nov 13 11:15:03 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2880s Nov 13 11:15:04 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2881s Nov 13 11:15:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2881s Nov 13 11:15:04 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2881s Nov 13 11:15:04 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2881s Nov 13 11:15:04 2881s Nov 13 11:15:04 @dcs-failsafe @slot-advance 2881s Nov 13 11:15:04 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2881s Nov 13 11:15:04 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2881s Nov 13 11:15:04 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2883s Nov 13 11:15:06 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2886s Nov 13 11:15:09 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2886s Nov 13 11:15:09 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 2892s Nov 13 11:15:16 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2892s Nov 13 11:15:16 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2892s Nov 13 11:15:16 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2892s Nov 13 11:15:16 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2892s Nov 13 11:15:16 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2892s Nov 13 11:15:16 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2896s Nov 13 11:15:20 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2896s Nov 13 11:15:20 2896s Nov 13 11:15:20 @dcs-failsafe 2896s Nov 13 11:15:20 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2896s Nov 13 11:15:20 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2896s Nov 13 11:15:20 And I kill postgres1 # features/steps/basic_replication.py:34 2897s Nov 13 11:15:21 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2897s Nov 13 11:15:21 waiting for server to shut down.... done 2897s Nov 13 11:15:21 server stopped 2897s Nov 13 11:15:21 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2899s Nov 13 11:15:23 2899s Nov 13 11:15:23 @dcs-failsafe 2899s Nov 13 11:15:23 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2899s Nov 13 11:15:23 Given I kill postgres0 # features/steps/basic_replication.py:34 2900s Nov 13 11:15:24 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2900s Nov 13 11:15:24 waiting for server to shut down.... done 2900s Nov 13 11:15:24 server stopped 2900s Nov 13 11:15:24 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2900s Nov 13 11:15:24 When I start postgres1 # features/steps/basic_replication.py:8 2902s Nov 13 11:15:26 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2903s Nov 13 11:15:27 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2905s Nov 13 11:15:29 2905s Nov 13 11:15:29 @dcs-failsafe 2905s Nov 13 11:15:29 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2905s Nov 13 11:15:29 Given I start postgres0 # features/steps/basic_replication.py:8 2908s Nov 13 11:15:32 And I start postgres2 # features/steps/basic_replication.py:8 2911s Nov 13 11:15:35 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2912s Nov 13 11:15:36 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2912s Nov 13 11:15:36 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2912s Nov 13 11:15:36 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2913s Nov 13 11:15:37 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2914s Nov 13 11:15:38 2914s Nov 13 11:15:38 @dcs-failsafe @slot-advance 2914s Nov 13 11:15:38 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2914s Nov 13 11:15:38 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2914s Nov 13 11:15:38 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2920s Nov 13 11:15:44 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2921s Nov 13 11:15:45 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2921s Nov 13 11:15:45 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2922s Nov 13 11:15:46 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2922s Nov 13 11:15:46 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2922s Nov 13 11:15:46 2922s Nov 13 11:15:46 @dcs-failsafe 2922s Nov 13 11:15:46 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 2922s Nov 13 11:15:46 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2922s Nov 13 11:15:46 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 2930s Nov 13 11:15:54 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2930s Nov 13 11:15:54 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2930s Nov 13 11:15:54 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2930s Nov 13 11:15:54 2930s Nov 13 11:15:54 @dcs-failsafe @slot-advance 2930s Nov 13 11:15:54 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 2930s Nov 13 11:15:54 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2930s Nov 13 11:15:54 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2931s Nov 13 11:15:55 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2931s Nov 13 11:15:55 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2931s Nov 13 11:15:55 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2932s Nov 13 11:15:56 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2932s Nov 13 11:15:56 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2932s Nov 13 11:15:56 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2932s Nov 13 11:15:56 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2936s Nov 13 11:16:00 2936s Nov 13 11:16:00 Feature: ignored slots # features/ignored_slots.feature:1 2936s Nov 13 11:16:00 2936s Nov 13 11:16:00 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2936s Nov 13 11:16:00 Given I start postgres1 # features/steps/basic_replication.py:8 2939s Nov 13 11:16:03 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2939s Nov 13 11:16:03 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2939s Nov 13 11:16:03 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 2939s Nov 13 11:16:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 2939s Nov 13 11:16:03 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2939s Nov 13 11:16:03 When I shut down postgres1 # features/steps/basic_replication.py:29 2941s Nov 13 11:16:05 And I start postgres1 # features/steps/basic_replication.py:8 2943s Nov 13 11:16:07 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2944s Nov 13 11:16:08 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2945s Nov 13 11:16:09 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2945s Nov 13 11:16:09 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2945s Nov 13 11:16:09 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2945s Nov 13 11:16:09 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2945s Nov 13 11:16:09 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2945s Nov 13 11:16:09 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2945s Nov 13 11:16:09 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2945s Nov 13 11:16:09 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2945s Nov 13 11:16:09 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2945s Nov 13 11:16:09 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2945s Nov 13 11:16:09 When I start postgres0 # features/steps/basic_replication.py:8 2948s Nov 13 11:16:12 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2948s Nov 13 11:16:12 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2948s Nov 13 11:16:12 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2950s Nov 13 11:16:14 When I shut down postgres1 # features/steps/basic_replication.py:29 2952s Nov 13 11:16:16 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2953s Nov 13 11:16:17 When I start postgres1 # features/steps/basic_replication.py:8 2955s Nov 13 11:16:19 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2955s Nov 13 11:16:19 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2956s Nov 13 11:16:20 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2958s Nov 13 11:16:22 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2958s Nov 13 11:16:22 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2958s Nov 13 11:16:22 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2958s Nov 13 11:16:22 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2958s Nov 13 11:16:22 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2958s Nov 13 11:16:22 When I shut down postgres0 # features/steps/basic_replication.py:29 2960s Nov 13 11:16:24 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2961s Nov 13 11:16:25 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2961s Nov 13 11:16:25 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2961s Nov 13 11:16:25 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2961s Nov 13 11:16:25 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2963s Nov 13 11:16:27 2963s Nov 13 11:16:27 Feature: nostream node # features/nostream_node.feature:1 2963s Nov 13 11:16:27 2963s Nov 13 11:16:27 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2963s Nov 13 11:16:27 When I start postgres0 # features/steps/basic_replication.py:8 2966s Nov 13 11:16:30 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2969s Nov 13 11:16:33 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2969s Nov 13 11:16:33 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2974s Nov 13 11:16:38 2974s Nov 13 11:16:38 @slot-advance 2974s Nov 13 11:16:38 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2974s Nov 13 11:16:38 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 2974s Nov 13 11:16:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 2974s Nov 13 11:16:38 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2976s Nov 13 11:16:40 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2977s Nov 13 11:16:41 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2980s Nov 13 11:16:44 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2986s Nov 13 11:16:50 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2986s Nov 13 11:16:50 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2991s Nov 13 11:16:55 2991s Nov 13 11:16:55 Feature: patroni api # features/patroni_api.feature:1 2991s Nov 13 11:16:55 We should check that patroni correctly responds to valid and not-valid API requests. 2991s Nov 13 11:16:55 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2991s Nov 13 11:16:55 Given I start postgres0 # features/steps/basic_replication.py:8 2994s Nov 13 11:16:58 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2995s Nov 13 11:16:59 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2995s Nov 13 11:16:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 2995s Nov 13 11:16:59 And I receive a response state running # features/steps/patroni_api.py:98 2995s Nov 13 11:16:59 And I receive a response role master # features/steps/patroni_api.py:98 2995s Nov 13 11:16:59 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2995s Nov 13 11:16:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 2995s Nov 13 11:16:59 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2995s Nov 13 11:16:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 2995s Nov 13 11:16:59 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2995s Nov 13 11:16:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 2995s Nov 13 11:16:59 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2995s Nov 13 11:16:59 Then I receive a response code 503 # features/steps/patroni_api.py:98 2995s Nov 13 11:16:59 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2995s Nov 13 11:16:59 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2996s Nov 13 11:17:00 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2996s Nov 13 11:17:00 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2996s Nov 13 11:17:00 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2996s Nov 13 11:17:00 Then I receive a response code 412 # features/steps/patroni_api.py:98 2996s Nov 13 11:17:00 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2996s Nov 13 11:17:00 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2996s Nov 13 11:17:00 Then I receive a response code 400 # features/steps/patroni_api.py:98 2996s Nov 13 11:17:00 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2997s Nov 13 11:17:00 Then I receive a response code 400 # features/steps/patroni_api.py:98 2997s Nov 13 11:17:00 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2997s Nov 13 11:17:00 2997s Nov 13 11:17:00 Scenario: check local configuration reload # features/patroni_api.feature:32 2997s Nov 13 11:17:00 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2997s Nov 13 11:17:01 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2997s Nov 13 11:17:01 Then I receive a response code 202 # features/steps/patroni_api.py:98 2997s Nov 13 11:17:01 2997s Nov 13 11:17:01 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2997s Nov 13 11:17:01 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 2997s Nov 13 11:17:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2997s Nov 13 11:17:01 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2999s Nov 13 11:17:03 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2999s Nov 13 11:17:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 2999s Nov 13 11:17:03 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2999s Nov 13 11:17:03 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2999s Nov 13 11:17:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 2999s Nov 13 11:17:03 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2999s Nov 13 11:17:03 And I sleep for 4 seconds # features/steps/patroni_api.py:39 3003s Nov 13 11:17:07 3003s Nov 13 11:17:07 Scenario: check the scheduled restart # features/patroni_api.feature:49 3003s Nov 13 11:17:07 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 3004s Nov 13 11:17:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3004s Nov 13 11:17:08 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 3004s Nov 13 11:17:08 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 3004s Nov 13 11:17: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 3004s Nov 13 11:17:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 3004s Nov 13 11:17:08 And I sleep for 8 seconds # features/steps/patroni_api.py:39 3012s Nov 13 11:17:16 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 3012s Nov 13 11:17: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 3012s Nov 13 11:17:16 Then I receive a response code 202 # features/steps/patroni_api.py:98 3012s Nov 13 11:17: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 3019s Nov 13 11:17:23 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3020s Nov 13 11:17:24 3020s Nov 13 11:17:24 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 3020s Nov 13 11:17:24 Given I start postgres1 # features/steps/basic_replication.py:8 3023s Nov 13 11:17:27 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3024s Nov 13 11:17:28 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 3026s Nov 13 11:17:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3026s Nov 13 11:17:30 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 3026s Nov 13 11:17:30 waiting for server to shut down.... done 3026s Nov 13 11:17:30 server stopped 3026s Nov 13 11:17:30 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3026s Nov 13 11:17:30 Then I receive a response code 503 # features/steps/patroni_api.py:98 3026s Nov 13 11:17:30 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 3027s Nov 13 11:17:31 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3029s Nov 13 11:17:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3029s Nov 13 11:17:33 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3030s Nov 13 11:17:34 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3032s Nov 13 11:17:36 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3032s Nov 13 11:17:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 3032s Nov 13 11:17:36 And I receive a response state running # features/steps/patroni_api.py:98 3032s Nov 13 11:17:36 And I receive a response role replica # features/steps/patroni_api.py:98 3032s Nov 13 11:17:36 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 3036s Nov 13 11:17:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3036s Nov 13 11:17:40 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 3036s Nov 13 11:17:40 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 3037s Nov 13 11:17:41 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3037s Nov 13 11:17:41 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3039s Nov 13 11:17:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3039s Nov 13 11:17:43 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 3039s Nov 13 11:17:43 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 3040s Nov 13 11:17:44 3040s Nov 13 11:17:44 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 3040s Nov 13 11:17:44 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 3042s Nov 13 11:17:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 3042s Nov 13 11:17:46 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 3042s Nov 13 11:17:46 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3043s Nov 13 11:17:47 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3047s Nov 13 11:17:51 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 3047s Nov 13 11:17:51 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3047s Nov 13 11:17:51 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3047s Nov 13 11:17:51 Then I receive a response code 503 # features/steps/patroni_api.py:98 3047s Nov 13 11:17:51 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3047s Nov 13 11:17:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 3047s Nov 13 11:17:51 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3047s Nov 13 11:17:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 3047s Nov 13 11:17:51 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3047s Nov 13 11:17:51 Then I receive a response code 503 # features/steps/patroni_api.py:98 3047s Nov 13 11:17:51 3047s Nov 13 11:17:51 Scenario: check the scheduled switchover # features/patroni_api.feature:107 3047s Nov 13 11:17:51 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3048s Nov 13 11:17:52 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 3048s Nov 13 11:17:52 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 3048s Nov 13 11:17:52 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 3050s Nov 13 11:17:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3050s Nov 13 11:17:54 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3051s Nov 13 11:17:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3051s Nov 13 11:17:55 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 3061s Nov 13 11:18:05 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3062s Nov 13 11:18:06 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3064s Nov 13 11:18:08 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 3064s Nov 13 11:18:08 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3065s Nov 13 11:18:09 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3065s Nov 13 11:18:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 3065s Nov 13 11:18:09 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3065s Nov 13 11:18:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 3065s Nov 13 11:18:09 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3065s Nov 13 11:18:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 3065s Nov 13 11:18:09 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3065s Nov 13 11:18:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 3070s Nov 13 11:18:14 3070s Nov 13 11:18:14 Feature: permanent slots # features/permanent_slots.feature:1 3070s Nov 13 11:18:14 3070s Nov 13 11:18:14 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 3070s Nov 13 11:18:14 Given I start postgres0 # features/steps/basic_replication.py:8 3073s Nov 13 11:18:17 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3073s Nov 13 11:18:17 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3073s Nov 13 11:18:17 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 3073s Nov 13 11:18:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 3073s Nov 13 11:18:17 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3073s Nov 13 11:18:17 When I start postgres1 # features/steps/basic_replication.py:8 3076s Nov 13 11:18:20 And I start postgres2 # features/steps/basic_replication.py:8 3079s Nov 13 11:18:23 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 3082s Nov 13 11:18:26 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3082s Nov 13 11:18:26 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 3082s Nov 13 11:18:26 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 3082s Nov 13 11:18:26 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3082s Nov 13 11:18:26 3082s Nov 13 11:18:26 @slot-advance 3082s Nov 13 11:18:26 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 3082s Nov 13 11:18:26 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3084s Nov 13 11:18:28 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 3084s Nov 13 11:18:28 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3085s Nov 13 11:18:29 3085s Nov 13 11:18:29 @slot-advance 3085s Nov 13 11:18:29 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 3085s Nov 13 11:18:29 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3089s Nov 13 11:18:33 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3089s Nov 13 11:18:33 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3090s Nov 13 11:18:34 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3091s Nov 13 11:18:35 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3091s Nov 13 11:18:35 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3091s Nov 13 11:18:35 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3091s Nov 13 11:18:35 3091s Nov 13 11:18:35 @slot-advance 3091s Nov 13 11:18:35 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 3091s Nov 13 11:18:35 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3091s Nov 13 11:18:35 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3091s Nov 13 11:18:35 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3091s Nov 13 11:18:35 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3091s Nov 13 11:18:35 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3091s Nov 13 11:18:35 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 3091s Nov 13 11:18:35 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3091s Nov 13 11:18:35 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3091s Nov 13 11:18:35 3091s Nov 13 11:18:35 @slot-advance 3091s Nov 13 11:18:35 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 3091s Nov 13 11:18:35 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 3091s Nov 13 11:18:35 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 3091s Nov 13 11:18:35 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 3091s Nov 13 11:18:35 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3092s Nov 13 11:18:36 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3092s Nov 13 11:18:36 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3092s Nov 13 11:18:36 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3092s Nov 13 11:18:36 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3092s Nov 13 11:18:36 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3092s Nov 13 11:18:36 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3092s Nov 13 11:18:36 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 3094s Nov 13 11:18:38 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 3094s Nov 13 11:18:38 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3094s Nov 13 11:18:38 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3094s Nov 13 11:18:38 3094s Nov 13 11:18:38 @slot-advance 3094s Nov 13 11:18:38 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 3094s Nov 13 11:18:38 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 3094s Nov 13 11:18:38 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 3094s Nov 13 11:18:38 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 3094s Nov 13 11:18:38 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 3094s Nov 13 11:18:38 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 3094s Nov 13 11:18:38 3094s Nov 13 11:18:38 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 3094s Nov 13 11:18:38 Given I shut down postgres3 # features/steps/basic_replication.py:29 3095s Nov 13 11:18:39 And I shut down postgres2 # features/steps/basic_replication.py:29 3096s Nov 13 11:18:40 And I shut down postgres0 # features/steps/basic_replication.py:29 3098s Nov 13 11:18:42 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3098s Nov 13 11:18:42 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 3098s Nov 13 11:18:42 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3100s Nov 13 11:18:44 3100s Nov 13 11:18:44 Feature: priority replication # features/priority_failover.feature:1 3100s Nov 13 11:18:44 We should check that we can give nodes priority during failover 3100s Nov 13 11:18:44 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 3100s Nov 13 11:18:44 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3103s Nov 13 11:18:47 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 3106s Nov 13 11:18:50 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3107s Nov 13 11:18:51 When I shut down postgres0 # features/steps/basic_replication.py:29 3109s Nov 13 11:18:53 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 3111s Nov 13 11:18:55 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3111s Nov 13 11:18:55 When I start postgres0 # features/steps/basic_replication.py:8 3113s Nov 13 11:18:57 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3114s Nov 13 11:18:58 3114s Nov 13 11:18:58 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 3114s Nov 13 11:18:58 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3117s Nov 13 11:19:01 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 3120s Nov 13 11:19:04 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 3122s Nov 13 11:19:05 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 3123s Nov 13 11:19:07 When I shut down postgres0 # features/steps/basic_replication.py:29 3125s Nov 13 11:19:09 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3126s Nov 13 11:19:10 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 3126s Nov 13 11:19:10 3126s Nov 13 11:19:10 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 3126s Nov 13 11:19:10 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 3126s Nov 13 11:19:10 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 3126s Nov 13 11:19:10 Then I receive a response code 202 # features/steps/patroni_api.py:98 3126s Nov 13 11:19:10 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 3128s Nov 13 11:19:12 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 3129s Nov 13 11:19:13 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 3129s Nov 13 11:19:13 Then I receive a response code 412 # features/steps/patroni_api.py:98 3129s Nov 13 11:19:13 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 3129s Nov 13 11:19:13 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 3129s Nov 13 11:19:13 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 3129s Nov 13 11:19:13 Then I receive a response code 202 # features/steps/patroni_api.py:98 3129s Nov 13 11:19:13 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 3130s Nov 13 11:19:14 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 3131s Nov 13 11:19:15 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 3133s Nov 13 11:19:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 3133s Nov 13 11:19:17 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3137s Nov 13 11:19:21 3137s Nov 13 11:19:21 Feature: recovery # features/recovery.feature:1 3137s Nov 13 11:19:21 We want to check that crashed postgres is started back 3137s Nov 13 11:19:21 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 3137s Nov 13 11:19:21 Given I start postgres0 # features/steps/basic_replication.py:8 3140s Nov 13 11:19:24 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3140s Nov 13 11:19:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3140s Nov 13 11:19:24 When I start postgres1 # features/steps/basic_replication.py:8 3143s Nov 13 11:19:27 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 3143s Nov 13 11:19:27 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3144s Nov 13 11:19:28 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3144s Nov 13 11:19:28 waiting for server to shut down.... done 3144s Nov 13 11:19:28 server stopped 3144s Nov 13 11:19:28 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3146s Nov 13 11:19:30 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3146s Nov 13 11:19:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 3146s Nov 13 11:19:30 And I receive a response role master # features/steps/patroni_api.py:98 3146s Nov 13 11:19:30 And I receive a response timeline 1 # features/steps/patroni_api.py:98 3146s Nov 13 11:19:30 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3147s Nov 13 11:19:31 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3150s Nov 13 11:19:34 3150s Nov 13 11:19:34 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 3150s Nov 13 11:19:34 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 3150s Nov 13 11:19:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 3150s Nov 13 11:19:34 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3151s Nov 13 11:19:34 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3151s Nov 13 11:19:35 waiting for server to shut down.... done 3151s Nov 13 11:19:35 server stopped 3151s Nov 13 11:19:35 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3153s Nov 13 11:19:37 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3157s Nov 13 11:19:41 3157s Nov 13 11:19:41 Feature: standby cluster # features/standby_cluster.feature:1 3157s Nov 13 11:19:41 3157s Nov 13 11:19:41 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 3157s Nov 13 11:19:41 Given I start postgres1 # features/steps/basic_replication.py:8 3160s Nov 13 11:19:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3160s Nov 13 11:19:44 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3160s Nov 13 11:19:44 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 3160s Nov 13 11:19:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 3160s Nov 13 11:19:44 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3160s Nov 13 11:19:44 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3163s Nov 13 11:19:47 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 3163s Nov 13 11:19:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 3163s Nov 13 11:19:47 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3163s Nov 13 11:19:47 When I start postgres0 # features/steps/basic_replication.py:8 3166s Nov 13 11:19:50 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3166s Nov 13 11:19:50 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 3167s Nov 13 11:19:51 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3167s Nov 13 11:19:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 3167s Nov 13 11:19:51 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3167s Nov 13 11:19:51 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3167s Nov 13 11:19:51 3167s Nov 13 11:19:51 @slot-advance 3167s Nov 13 11:19:51 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 3167s Nov 13 11:19:51 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3170s Nov 13 11:19:54 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3175s Nov 13 11:19:59 3175s Nov 13 11:19:59 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 3175s Nov 13 11:19:59 When I shut down postgres1 # features/steps/basic_replication.py:29 3177s Nov 13 11:20:01 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3177s Nov 13 11:20:01 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 3178s Nov 13 11:20:02 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3178s Nov 13 11:20:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 3178s Nov 13 11:20:02 3178s Nov 13 11:20:02 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 3178s Nov 13 11:20:02 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 3181s Nov 13 11:20:05 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3181s Nov 13 11:20:05 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3181s Nov 13 11:20:05 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3181s Nov 13 11:20:05 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 3181s Nov 13 11:20:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 3181s Nov 13 11:20:05 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3181s Nov 13 11:20:05 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3184s Nov 13 11:20:08 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3185s Nov 13 11:20:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 3185s Nov 13 11:20:09 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 3185s Nov 13 11:20:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 3185s Nov 13 11:20:09 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3185s Nov 13 11:20:09 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3185s Nov 13 11:20:09 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 3188s Nov 13 11:20:12 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 3188s Nov 13 11:20:12 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 3188s Nov 13 11:20:12 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3188s Nov 13 11:20:12 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 3188s Nov 13 11:20:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 3188s Nov 13 11:20:12 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3188s Nov 13 11:20:12 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3188s Nov 13 11:20:12 3188s Nov 13 11:20:12 Scenario: check switchover # features/standby_cluster.feature:57 3188s Nov 13 11:20:12 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 3191s Nov 13 11:20:15 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3192s Nov 13 11:20:15 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 3193s Nov 13 11:20:17 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 3193s Nov 13 11:20:17 3193s Nov 13 11:20:17 Scenario: check failover # features/standby_cluster.feature:63 3193s Nov 13 11:20:17 When I kill postgres2 # features/steps/basic_replication.py:34 3194s Nov 13 11:20:18 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 3194s Nov 13 11:20:18 waiting for server to shut down.... done 3194s Nov 13 11:20:18 server stopped 3194s Nov 13 11:20:18 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 3213s Nov 13 11:20:37 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3213s Nov 13 11:20:37 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3213s Nov 13 11:20:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 3213s Nov 13 11:20:37 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3213s Nov 13 11:20:37 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3214s Nov 13 11:20:38 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 3219s Nov 13 11:20:43 3219s Nov 13 11:20:43 Feature: watchdog # features/watchdog.feature:1 3219s Nov 13 11:20:43 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3219s Nov 13 11:20:43 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3219s Nov 13 11:20:43 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 3222s Nov 13 11:20:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3222s Nov 13 11:20:46 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3222s Nov 13 11:20:46 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3223s Nov 13 11:20:47 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 3223s Nov 13 11:20:47 3223s Nov 13 11:20:47 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3223s Nov 13 11:20:47 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 3225s Nov 13 11:20:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3225s Nov 13 11:20:48 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 3225s Nov 13 11:20:48 When I sleep for 4 seconds # features/steps/patroni_api.py:39 3228s Nov 13 11:20:52 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 3228s Nov 13 11:20:52 3228s Nov 13 11:20:52 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3228s Nov 13 11:20:52 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3229s Nov 13 11:20:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3229s Nov 13 11:20:53 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3231s Nov 13 11:20:55 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3231s Nov 13 11:20:55 3231s Nov 13 11:20:55 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3231s Nov 13 11:20:55 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3231s Nov 13 11:20:55 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3233s Nov 13 11:20:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3233s Nov 13 11:20:57 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3234s Nov 13 11:20:58 3234s Nov 13 11:20:58 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3234s Nov 13 11:20:58 Given I shut down postgres0 # features/steps/basic_replication.py:29 3236s Nov 13 11:21:00 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3236s Nov 13 11:21:00 3236s Nov 13 11:21:00 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3236s Nov 13 11:21:00 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3236s Nov 13 11:21:00 And I start postgres0 with watchdog # features/steps/watchdog.py:16 3238s Nov 13 11:21:02 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3240s Nov 13 11:21:04 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 3240s Nov 13 11:21:04 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 3267s Nov 13 11:21:31 3268s 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'))") 3268s 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'))") 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.5578.XDdyxgWx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.5623.XtlNdkLx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.5670.XLrYFaSx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.5718.XpNPYbvx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.5763.XJVLUVqx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.5834.XnjtWcox 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.5882.XMKzGUtx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.5885.XaOdFqJx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.5984.XTdTLaBx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6079.XPwvgcTx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6086.XrwMWtyx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6130.XsLEALkx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6194.XWtZQbdx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6322.XOPPZALx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6368.XzrTtUKx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6422.XineGgXx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6506.XKNjRdDx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6821.XvwfUiyx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6893.XfbEwdBx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.6949.XmPQPAwx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7189.XIYyGzmx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7240.XyCzeNNx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7301.XaLzZcmx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7390.XdkOEoNx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7484.XWcZopwx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7520.XzxMVeyx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7595.XQDCeVRx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7623.XWBYslax 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7746.XDJYaLyx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7796.XglOpJQx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7814.XhMyUMdx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7851.XxfUUXgx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7899.XgeOjUzx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7904.XtbLRsEx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7939.XsdtTNvx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.7981.XZIDtwox 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8142.XbasKUqx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8144.XyQCeXNx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8149.XHJBYRXx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8280.XWZaSjJx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8325.XrIdnOwx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8372.XkjdIVQx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8424.Xxwheyzx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8475.XbyYRGox 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8665.XQTFSqnx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8708.XlOwPapx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8779.XOcMEbrx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8839.XJYpqvtx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.8922.XHwmyolx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9236.XtZLzcyx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9278.XXUhcdcx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9414.XDLlDQIx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9476.XkBEMqCx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9528.XEuQCHpx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9641.XsPwcPyx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9754.XngaJgvx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9931.XBBRgTAx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9974.XpuNCVyx 3268s Nov 13 11:21:32 Skipping duplicate data .coverage.autopkgtest.9977.XIftPkFx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9980.XsJUbtdx 3268s Nov 13 11:21:32 Combined data file .coverage.autopkgtest.9991.XczhSvPx 3270s Nov 13 11:21:34 Name Stmts Miss Cover 3270s Nov 13 11:21:34 ------------------------------------------------------------------------------------------------------------- 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/api.py 770 279 64% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/ha.py 1244 318 74% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/utils.py 350 120 66% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/six.py 504 250 50% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3270s Nov 13 11:21:34 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3270s Nov 13 11:21:34 patroni/__init__.py 13 2 85% 3270s Nov 13 11:21:34 patroni/__main__.py 199 199 0% 3270s Nov 13 11:21:34 patroni/api.py 770 770 0% 3270s Nov 13 11:21:34 patroni/async_executor.py 96 69 28% 3270s Nov 13 11:21:34 patroni/collections.py 56 15 73% 3270s Nov 13 11:21:34 patroni/config.py 371 196 47% 3270s Nov 13 11:21:34 patroni/config_generator.py 212 212 0% 3270s Nov 13 11:21:34 patroni/ctl.py 936 411 56% 3270s Nov 13 11:21:34 patroni/daemon.py 76 76 0% 3270s Nov 13 11:21:34 patroni/dcs/__init__.py 646 270 58% 3270s Nov 13 11:21:34 patroni/dcs/consul.py 485 485 0% 3270s Nov 13 11:21:34 patroni/dcs/etcd3.py 679 679 0% 3270s Nov 13 11:21:34 patroni/dcs/etcd.py 603 224 63% 3270s Nov 13 11:21:34 patroni/dcs/exhibitor.py 61 61 0% 3270s Nov 13 11:21:34 patroni/dcs/kubernetes.py 938 938 0% 3270s Nov 13 11:21:34 patroni/dcs/raft.py 319 319 0% 3270s Nov 13 11:21:34 patroni/dcs/zookeeper.py 288 288 0% 3270s Nov 13 11:21:34 patroni/dynamic_loader.py 35 7 80% 3270s Nov 13 11:21:34 patroni/exceptions.py 16 1 94% 3270s Nov 13 11:21:34 patroni/file_perm.py 43 15 65% 3270s Nov 13 11:21:34 patroni/global_config.py 81 18 78% 3270s Nov 13 11:21:34 patroni/ha.py 1244 1244 0% 3270s Nov 13 11:21:34 patroni/log.py 219 173 21% 3270s Nov 13 11:21:34 patroni/postgresql/__init__.py 821 651 21% 3270s Nov 13 11:21:34 patroni/postgresql/available_parameters/__init__.py 21 3 86% 3270s Nov 13 11:21:34 patroni/postgresql/bootstrap.py 252 222 12% 3270s Nov 13 11:21:34 patroni/postgresql/callback_executor.py 55 34 38% 3270s Nov 13 11:21:34 patroni/postgresql/cancellable.py 104 84 19% 3270s Nov 13 11:21:34 patroni/postgresql/config.py 813 698 14% 3270s Nov 13 11:21:34 patroni/postgresql/connection.py 75 50 33% 3270s Nov 13 11:21:34 patroni/postgresql/misc.py 41 29 29% 3270s Nov 13 11:21:34 patroni/postgresql/mpp/__init__.py 89 21 76% 3270s Nov 13 11:21:34 patroni/postgresql/mpp/citus.py 259 259 0% 3270s Nov 13 11:21:34 patroni/postgresql/postmaster.py 170 139 18% 3270s Nov 13 11:21:34 patroni/postgresql/rewind.py 416 416 0% 3270s Nov 13 11:21:34 patroni/postgresql/slots.py 334 285 15% 3270s Nov 13 11:21:34 patroni/postgresql/sync.py 130 96 26% 3270s Nov 13 11:21:34 patroni/postgresql/validator.py 157 52 67% 3270s Nov 13 11:21:34 patroni/psycopg.py 42 28 33% 3270s Nov 13 11:21:34 patroni/raft_controller.py 22 22 0% 3270s Nov 13 11:21:34 patroni/request.py 62 6 90% 3270s Nov 13 11:21:34 patroni/scripts/__init__.py 0 0 100% 3270s Nov 13 11:21:34 patroni/scripts/aws.py 59 59 0% 3270s Nov 13 11:21:34 patroni/scripts/barman/__init__.py 0 0 100% 3270s Nov 13 11:21:34 patroni/scripts/barman/cli.py 51 51 0% 3270s Nov 13 11:21:34 patroni/scripts/barman/config_switch.py 51 51 0% 3270s Nov 13 11:21:34 patroni/scripts/barman/recover.py 37 37 0% 3270s Nov 13 11:21:34 patroni/scripts/barman/utils.py 94 94 0% 3270s Nov 13 11:21:34 patroni/scripts/wale_restore.py 207 207 0% 3270s Nov 13 11:21:34 patroni/tags.py 38 11 71% 3270s Nov 13 11:21:34 patroni/utils.py 350 196 44% 3270s Nov 13 11:21:34 patroni/validator.py 301 215 29% 3270s Nov 13 11:21:34 patroni/version.py 1 0 100% 3270s Nov 13 11:21:34 patroni/watchdog/__init__.py 2 2 0% 3270s Nov 13 11:21:34 patroni/watchdog/base.py 203 203 0% 3270s Nov 13 11:21:34 patroni/watchdog/linux.py 135 135 0% 3270s Nov 13 11:21:34 ------------------------------------------------------------------------------------------------------------- 3270s Nov 13 11:21:34 TOTAL 53060 32136 39% 3270s Nov 13 11:21:34 12 features passed, 0 failed, 1 skipped 3270s Nov 13 11:21:34 55 scenarios passed, 0 failed, 5 skipped 3270s Nov 13 11:21:34 524 steps passed, 0 failed, 61 skipped, 0 undefined 3270s Nov 13 11:21:34 Took 8m4.645s 3270s ### End 16 acceptance-etcd ### 3270s + echo '### End 16 acceptance-etcd ###' 3270s + rm -f '/tmp/pgpass?' 3270s ++ id -u 3270s + '[' 0 -eq 0 ']' 3270s + '[' -x /etc/init.d/zookeeper ']' 3270s autopkgtest [11:21:34]: test acceptance-etcd: -----------------------] 3272s autopkgtest [11:21:36]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 3272s acceptance-etcd PASS 3273s autopkgtest [11:21:37]: test acceptance-zookeeper: preparing testbed 4716s autopkgtest [11:45:40]: testbed dpkg architecture: amd64 4716s autopkgtest [11:45:40]: testbed apt version: 2.9.8 4716s autopkgtest [11:45:40]: @@@@@@@@@@@@@@@@@@@@ test bed setup 4717s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 4717s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 4718s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 4718s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 4718s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 4718s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [111 kB] 4718s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [65.2 kB] 4718s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 4718s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [255 kB] 4718s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [639 kB] 4718s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 4718s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 4718s Fetched 2175 kB in 1s (2394 kB/s) 4718s Reading package lists... 4720s Reading package lists... 4720s Building dependency tree... 4720s Reading state information... 4720s Calculating upgrade... 4720s The following NEW packages will be installed: 4720s python3.13-gdbm 4720s The following packages will be upgraded: 4720s libgpgme11t64 libpython3-stdlib python3 python3-gdbm python3-minimal 4721s 5 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 4721s Need to get 253 kB of archives. 4721s After this operation, 147 kB of additional disk space will be used. 4721s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-minimal amd64 3.12.7-1 [27.4 kB] 4721s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3 amd64 3.12.7-1 [24.0 kB] 4721s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libpython3-stdlib amd64 3.12.7-1 [10.0 kB] 4721s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-gdbm amd64 3.13.0-2 [31.3 kB] 4721s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-gdbm amd64 3.12.7-1 [8642 B] 4721s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libgpgme11t64 amd64 1.23.2-5ubuntu4 [152 kB] 4721s Fetched 253 kB in 0s (594 kB/s) 4721s (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 ... 75541 files and directories currently installed.) 4721s Preparing to unpack .../python3-minimal_3.12.7-1_amd64.deb ... 4721s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 4721s Setting up python3-minimal (3.12.7-1) ... 4722s (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 ... 75541 files and directories currently installed.) 4722s Preparing to unpack .../python3_3.12.7-1_amd64.deb ... 4722s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 4722s Preparing to unpack .../libpython3-stdlib_3.12.7-1_amd64.deb ... 4722s Unpacking libpython3-stdlib:amd64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 4722s Selecting previously unselected package python3.13-gdbm. 4722s Preparing to unpack .../python3.13-gdbm_3.13.0-2_amd64.deb ... 4722s Unpacking python3.13-gdbm (3.13.0-2) ... 4722s Preparing to unpack .../python3-gdbm_3.12.7-1_amd64.deb ... 4722s Unpacking python3-gdbm:amd64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 4722s Preparing to unpack .../libgpgme11t64_1.23.2-5ubuntu4_amd64.deb ... 4722s Unpacking libgpgme11t64:amd64 (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ... 4722s Setting up libgpgme11t64:amd64 (1.23.2-5ubuntu4) ... 4722s Setting up python3.13-gdbm (3.13.0-2) ... 4722s Setting up libpython3-stdlib:amd64 (3.12.7-1) ... 4722s Setting up python3 (3.12.7-1) ... 4722s Setting up python3-gdbm:amd64 (3.12.7-1) ... 4722s Processing triggers for man-db (2.12.1-3) ... 4722s Processing triggers for libc-bin (2.40-1ubuntu3) ... 4723s Reading package lists... 4723s Building dependency tree... 4723s Reading state information... 4723s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4724s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 4724s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 4724s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 4724s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 4725s Reading package lists... 4725s Reading package lists... 4725s Building dependency tree... 4725s Reading state information... 4726s Calculating upgrade... 4726s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4726s Reading package lists... 4726s Building dependency tree... 4726s Reading state information... 4726s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4730s Reading package lists... 4730s Building dependency tree... 4730s Reading state information... 4730s Starting pkgProblemResolver with broken count: 0 4730s Starting 2 pkgProblemResolver with broken count: 0 4730s Done 4731s The following additional packages will be installed: 4731s adwaita-icon-theme at-spi2-common ca-certificates-java 4731s dconf-gsettings-backend dconf-service default-jre default-jre-headless 4731s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 4731s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 4731s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 4731s libapr1t64 libasm-java libasound2-data libasound2t64 4731s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 4731s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 4731s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 4731s libcommons-io-java libcommons-logging-java libcommons-parent-java 4731s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-intel1 4731s libdrm-radeon1 libdropwizard-metrics-java 4731s libeclipse-jdt-core-compiler-batch-java libeclipse-jdt-core-java 4731s libel-api-java libepoxy0 liberror-prone-java libev4t64 4731s libfindbugs-annotations-java libfontconfig1 libgbm1 libgdk-pixbuf-2.0-0 4731s libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglapi-mesa 4731s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 libgtk-3-common 4731s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 4731s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 4731s libjaxb-api-java libjbig0 libjctools-java libjetty9-extra-java 4731s libjetty9-java libjffi-java libjffi-jni libjnr-constants-java 4731s libjnr-enxio-java libjnr-ffi-java libjnr-posix-java libjnr-unixsocket-java 4731s libjnr-x86asm-java libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc 4731s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 4731s liblerc4 liblog4j1.2-java libmail-java libnetty-java libnetty-tcnative-java 4731s libnetty-tcnative-jni libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 4731s libpciaccess0 libpcsclite1 libpixman-1-0 libpq5 libservlet-api-java 4731s libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni libsnappy1v5 4731s libspring-beans-java libspring-core-java libtaglibs-standard-impl-java 4731s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 4731s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 4731s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 4731s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 4731s libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 4731s libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 4731s libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 libxshmfence1 4731s libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java mesa-libgallium moreutils 4731s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 4731s postgresql-16 postgresql-client-16 postgresql-client-common 4731s postgresql-common python3-behave python3-cdiff python3-click 4731s python3-colorama python3-coverage python3-dateutil python3-dnspython 4731s python3-eventlet python3-gevent python3-greenlet python3-kazoo 4731s python3-kerberos python3-parse python3-parse-type python3-prettytable 4731s python3-psutil python3-psycopg2 python3-pure-sasl python3-six 4731s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 4731s sphinx-rtd-theme-common ssl-cert ubuntu-mono x11-common zookeeper zookeeperd 4731s Suggested packages: 4731s adwaita-icon-theme-legacy alsa-utils libasound2-plugins 4731s libatinject-jsr330-api-java-doc colord libavalon-framework-java 4731s libexcalibur-logkit-java cups-common gvfs libjackson2-annotations-java-doc 4731s jetty9 libjnr-ffi-java-doc libjnr-posix-java-doc libjsr305-java-doc 4731s liblcms2-utils liblog4j1.2-java-doc libbcpkix-java libcompress-lzf-java 4731s libjzlib-java liblog4j2-java libprotobuf-java pcscd libcglib-java 4731s libyaml-snake-java libaspectj-java libcommons-collections3-java tomcat9 4731s libzookeeper-java-doc libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic 4731s fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic 4731s vip-manager haproxy postgresql-doc postgresql-doc-16 python-coverage-doc 4731s python3-trio python3-aioquic python3-h2 python3-httpx python3-httpcore 4731s python-eventlet-doc python-gevent-doc python-greenlet-dev 4731s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 4731s Recommended packages: 4731s librsvg2-common alsa-ucm-conf alsa-topology-conf at-spi2-core 4731s libgdk-pixbuf2.0-bin libgl1-amber-dri libgtk-3-bin javascript-common 4731s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 4731s fonts-dejavu-extra 4731s The following NEW packages will be installed: 4731s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 4731s dconf-gsettings-backend dconf-service default-jre default-jre-headless 4731s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 4731s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 4731s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 4731s libapr1t64 libasm-java libasound2-data libasound2t64 4731s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 4731s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 4731s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 4731s libcommons-io-java libcommons-logging-java libcommons-parent-java 4731s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-intel1 4731s libdrm-radeon1 libdropwizard-metrics-java 4731s libeclipse-jdt-core-compiler-batch-java libeclipse-jdt-core-java 4731s libel-api-java libepoxy0 liberror-prone-java libev4t64 4731s libfindbugs-annotations-java libfontconfig1 libgbm1 libgdk-pixbuf-2.0-0 4731s libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglapi-mesa 4731s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 libgtk-3-common 4731s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 4731s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 4731s libjaxb-api-java libjbig0 libjctools-java libjetty9-extra-java 4731s libjetty9-java libjffi-java libjffi-jni libjnr-constants-java 4731s libjnr-enxio-java libjnr-ffi-java libjnr-posix-java libjnr-unixsocket-java 4731s libjnr-x86asm-java libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc 4731s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 4731s liblerc4 liblog4j1.2-java libmail-java libnetty-java libnetty-tcnative-java 4731s libnetty-tcnative-jni libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 4731s libpciaccess0 libpcsclite1 libpixman-1-0 libpq5 libservlet-api-java 4731s libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni libsnappy1v5 4731s libspring-beans-java libspring-core-java libtaglibs-standard-impl-java 4731s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 4731s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 4731s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 4731s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 4731s libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 4731s libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 4731s libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 libxshmfence1 4731s libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java mesa-libgallium moreutils 4731s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 4731s postgresql-16 postgresql-client-16 postgresql-client-common 4731s postgresql-common python3-behave python3-cdiff python3-click 4731s python3-colorama python3-coverage python3-dateutil python3-dnspython 4731s python3-eventlet python3-gevent python3-greenlet python3-kazoo 4731s python3-kerberos python3-parse python3-parse-type python3-prettytable 4731s python3-psutil python3-psycopg2 python3-pure-sasl python3-six 4731s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 4731s sphinx-rtd-theme-common ssl-cert ubuntu-mono x11-common zookeeper zookeeperd 4731s 0 upgraded, 198 newly installed, 0 to remove and 0 not upgraded. 4731s Need to get 132 MB/132 MB of archives. 4731s After this operation, 461 MB of additional disk space will be used. 4731s Get:1 /tmp/autopkgtest.SBUqvr/4-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [768 B] 4731s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 4731s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 4731s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 262 [36.7 kB] 4731s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 4731s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 262 [162 kB] 4731s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 ca-certificates-java all 20240118 [11.6 kB] 4731s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 java-common all 0.76 [6852 B] 4731s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 liblcms2-2 amd64 2.16-2 [212 kB] 4731s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libjpeg-turbo8 amd64 2.1.5-2ubuntu2 [150 kB] 4731s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjpeg8 amd64 8c-2ubuntu11 [2148 B] 4732s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libpcsclite1 amd64 2.3.0-1 [23.9 kB] 4732s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 openjdk-21-jre-headless amd64 21.0.5+11-1 [46.4 MB] 4734s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 default-jre-headless amd64 2:1.21-76 [3178 B] 4734s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 4734s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libdeflate0 amd64 1.22-1 [64.5 kB] 4734s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libjbig0 amd64 2.1-6.1ubuntu2 [29.7 kB] 4734s Get:18 http://ftpmaster.internal/ubuntu plucky/main amd64 liblerc4 amd64 4.0.0+ds-4ubuntu2 [179 kB] 4734s Get:19 http://ftpmaster.internal/ubuntu plucky/main amd64 libsharpyuv0 amd64 1.4.0-0.1 [17.5 kB] 4734s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 libwebp7 amd64 1.4.0-0.1 [231 kB] 4734s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 libtiff6 amd64 4.5.1+git230720-4ubuntu4 [200 kB] 4734s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 libgdk-pixbuf-2.0-0 amd64 2.42.12+dfsg-1 [147 kB] 4734s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 gtk-update-icon-cache amd64 4.16.5+ds-1 [52.4 kB] 4734s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 hicolor-icon-theme all 0.18-1 [13.5 kB] 4734s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 humanity-icon-theme all 0.6.16 [1282 kB] 4734s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 4734s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 adwaita-icon-theme all 47.0-2 [525 kB] 4734s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 at-spi2-common all 2.54.0-1 [8774 B] 4734s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 libatk1.0-0t64 amd64 2.54.0-1 [55.1 kB] 4734s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 libxi6 amd64 2:1.8.2-1 [32.4 kB] 4734s Get:31 http://ftpmaster.internal/ubuntu plucky/main amd64 libatspi2.0-0t64 amd64 2.54.0-1 [79.6 kB] 4734s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 libatk-bridge2.0-0t64 amd64 2.54.0-1 [66.3 kB] 4734s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-dejavu-mono all 2.37-8 [502 kB] 4734s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-dejavu-core all 2.37-8 [835 kB] 4734s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 fontconfig-config amd64 2.15.0-1.1ubuntu2 [37.3 kB] 4734s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 libfontconfig1 amd64 2.15.0-1.1ubuntu2 [139 kB] 4734s Get:37 http://ftpmaster.internal/ubuntu plucky/main amd64 libpixman-1-0 amd64 0.44.0-3 [427 kB] 4734s Get:38 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-render0 amd64 1.17.0-2 [16.2 kB] 4734s Get:39 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-shm0 amd64 1.17.0-2 [5758 B] 4734s Get:40 http://ftpmaster.internal/ubuntu plucky/main amd64 libxrender1 amd64 1:0.9.10-1.1build1 [19.0 kB] 4734s Get:41 http://ftpmaster.internal/ubuntu plucky/main amd64 libcairo2 amd64 1.18.2-2 [569 kB] 4734s Get:42 http://ftpmaster.internal/ubuntu plucky/main amd64 libcairo-gobject2 amd64 1.18.2-2 [127 kB] 4734s Get:43 http://ftpmaster.internal/ubuntu plucky/main amd64 libcolord2 amd64 1.4.7-1build2 [149 kB] 4734s Get:44 http://ftpmaster.internal/ubuntu plucky/main amd64 libavahi-common-data amd64 0.8-13ubuntu6 [29.7 kB] 4734s Get:45 http://ftpmaster.internal/ubuntu plucky/main amd64 libavahi-common3 amd64 0.8-13ubuntu6 [23.3 kB] 4734s Get:46 http://ftpmaster.internal/ubuntu plucky/main amd64 libavahi-client3 amd64 0.8-13ubuntu6 [26.8 kB] 4734s Get:47 http://ftpmaster.internal/ubuntu plucky/main amd64 libcups2t64 amd64 2.4.10-1ubuntu2 [271 kB] 4734s Get:48 http://ftpmaster.internal/ubuntu plucky/main amd64 libepoxy0 amd64 1.5.10-2 [218 kB] 4734s Get:49 http://ftpmaster.internal/ubuntu plucky/main amd64 libgraphite2-3 amd64 1.3.14-2ubuntu1 [73.1 kB] 4734s Get:50 http://ftpmaster.internal/ubuntu plucky/main amd64 libharfbuzz0b amd64 10.0.1-1 [540 kB] 4734s Get:51 http://ftpmaster.internal/ubuntu plucky/main amd64 fontconfig amd64 2.15.0-1.1ubuntu2 [180 kB] 4734s Get:52 http://ftpmaster.internal/ubuntu plucky/main amd64 libthai-data all 0.1.29-2build1 [158 kB] 4734s Get:53 http://ftpmaster.internal/ubuntu plucky/main amd64 libdatrie1 amd64 0.2.13-3build1 [19.0 kB] 4734s Get:54 http://ftpmaster.internal/ubuntu plucky/main amd64 libthai0 amd64 0.1.29-2build1 [18.9 kB] 4734s Get:55 http://ftpmaster.internal/ubuntu plucky/main amd64 libpango-1.0-0 amd64 1.54.0+ds-3 [252 kB] 4734s Get:56 http://ftpmaster.internal/ubuntu plucky/main amd64 libpangoft2-1.0-0 amd64 1.54.0+ds-3 [51.6 kB] 4734s Get:57 http://ftpmaster.internal/ubuntu plucky/main amd64 libpangocairo-1.0-0 amd64 1.54.0+ds-3 [29.1 kB] 4734s Get:58 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-client0 amd64 1.23.0-1 [27.1 kB] 4734s Get:59 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-cursor0 amd64 1.23.0-1 [10.8 kB] 4734s Get:60 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-egl1 amd64 1.23.0-1 [5662 B] 4734s Get:61 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcomposite1 amd64 1:0.4.6-1 [6642 B] 4734s Get:62 http://ftpmaster.internal/ubuntu plucky/main amd64 libxfixes3 amd64 1:6.0.0-2build1 [10.8 kB] 4734s Get:63 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcursor1 amd64 1:1.2.2-1 [20.9 kB] 4734s Get:64 http://ftpmaster.internal/ubuntu plucky/main amd64 libxdamage1 amd64 1:1.1.6-1build1 [6150 B] 4734s Get:65 http://ftpmaster.internal/ubuntu plucky/main amd64 libxinerama1 amd64 2:1.1.4-3build1 [6396 B] 4734s Get:66 http://ftpmaster.internal/ubuntu plucky/main amd64 libxrandr2 amd64 2:1.5.4-1 [19.6 kB] 4734s Get:67 http://ftpmaster.internal/ubuntu plucky/main amd64 libdconf1 amd64 0.40.0-4build2 [39.4 kB] 4734s Get:68 http://ftpmaster.internal/ubuntu plucky/main amd64 dconf-service amd64 0.40.0-4build2 [27.5 kB] 4734s Get:69 http://ftpmaster.internal/ubuntu plucky/main amd64 dconf-gsettings-backend amd64 0.40.0-4build2 [22.1 kB] 4734s Get:70 http://ftpmaster.internal/ubuntu plucky/main amd64 libgtk-3-common all 3.24.43-3ubuntu2 [1202 kB] 4734s Get:71 http://ftpmaster.internal/ubuntu plucky/main amd64 libgtk-3-0t64 amd64 3.24.43-3ubuntu2 [2927 kB] 4734s Get:72 http://ftpmaster.internal/ubuntu plucky/main amd64 libglvnd0 amd64 1.7.0-1build1 [69.6 kB] 4734s Get:73 http://ftpmaster.internal/ubuntu plucky/main amd64 libglapi-mesa amd64 24.2.3-1ubuntu1 [42.4 kB] 4734s Get:74 http://ftpmaster.internal/ubuntu plucky/main amd64 libx11-xcb1 amd64 2:1.8.10-2 [7944 B] 4734s Get:75 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-dri2-0 amd64 1.17.0-2 [7222 B] 4734s Get:76 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-dri3-0 amd64 1.17.0-2 [7508 B] 4734s Get:77 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-glx0 amd64 1.17.0-2 [24.8 kB] 4734s Get:78 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-present0 amd64 1.17.0-2 [6064 B] 4734s Get:79 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-randr0 amd64 1.17.0-2 [17.9 kB] 4734s Get:80 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-sync1 amd64 1.17.0-2 [9312 B] 4734s Get:81 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-xfixes0 amd64 1.17.0-2 [10.2 kB] 4735s Get:82 http://ftpmaster.internal/ubuntu plucky/main amd64 libxshmfence1 amd64 1.3-1build5 [4764 B] 4735s Get:83 http://ftpmaster.internal/ubuntu plucky/main amd64 libxxf86vm1 amd64 1:1.1.4-1build4 [9282 B] 4735s Get:84 http://ftpmaster.internal/ubuntu plucky/main amd64 libdrm-amdgpu1 amd64 2.4.123-1 [21.7 kB] 4735s Get:85 http://ftpmaster.internal/ubuntu plucky/main amd64 libpciaccess0 amd64 0.17-3build1 [18.6 kB] 4735s Get:86 http://ftpmaster.internal/ubuntu plucky/main amd64 libdrm-intel1 amd64 2.4.123-1 [68.8 kB] 4735s Get:87 http://ftpmaster.internal/ubuntu plucky/main amd64 libdrm-radeon1 amd64 2.4.123-1 [25.3 kB] 4735s Get:88 http://ftpmaster.internal/ubuntu plucky/main amd64 mesa-libgallium amd64 24.2.3-1ubuntu1 [9904 kB] 4735s Get:89 http://ftpmaster.internal/ubuntu plucky/main amd64 libvulkan1 amd64 1.3.296.0-1 [143 kB] 4735s Get:90 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-server0 amd64 1.23.0-1 [35.1 kB] 4735s Get:91 http://ftpmaster.internal/ubuntu plucky/main amd64 libgbm1 amd64 24.2.3-1ubuntu1 [32.0 kB] 4735s Get:92 http://ftpmaster.internal/ubuntu plucky/main amd64 libgl1-mesa-dri amd64 24.2.3-1ubuntu1 [34.4 kB] 4735s Get:93 http://ftpmaster.internal/ubuntu plucky/main amd64 libglx-mesa0 amd64 24.2.3-1ubuntu1 [153 kB] 4735s Get:94 http://ftpmaster.internal/ubuntu plucky/main amd64 libglx0 amd64 1.7.0-1build1 [38.6 kB] 4735s Get:95 http://ftpmaster.internal/ubuntu plucky/main amd64 libgl1 amd64 1.7.0-1build1 [102 kB] 4735s Get:96 http://ftpmaster.internal/ubuntu plucky/main amd64 libasound2-data all 1.2.12-1 [21.0 kB] 4735s Get:97 http://ftpmaster.internal/ubuntu plucky/main amd64 libasound2t64 amd64 1.2.12-1 [394 kB] 4735s Get:98 http://ftpmaster.internal/ubuntu plucky/main amd64 libgif7 amd64 5.2.2-1ubuntu1 [35.2 kB] 4735s Get:99 http://ftpmaster.internal/ubuntu plucky/main amd64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 4735s Get:100 http://ftpmaster.internal/ubuntu plucky/main amd64 libxtst6 amd64 2:1.2.3-1.1build1 [12.6 kB] 4735s Get:101 http://ftpmaster.internal/ubuntu plucky/main amd64 openjdk-21-jre amd64 21.0.5+11-1 [220 kB] 4735s Get:102 http://ftpmaster.internal/ubuntu plucky/main amd64 default-jre amd64 2:1.21-76 [918 B] 4735s Get:103 http://ftpmaster.internal/ubuntu plucky/universe amd64 libhamcrest-java all 2.2-2 [117 kB] 4735s Get:104 http://ftpmaster.internal/ubuntu plucky/universe amd64 junit4 all 4.13.2-5 [348 kB] 4736s Get:105 http://ftpmaster.internal/ubuntu plucky/universe amd64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 4736s Get:106 http://ftpmaster.internal/ubuntu plucky/universe amd64 libapache-pom-java all 33-2 [5874 B] 4736s Get:107 http://ftpmaster.internal/ubuntu plucky/universe amd64 libcommons-parent-java all 56-1 [10.7 kB] 4736s Get:108 http://ftpmaster.internal/ubuntu plucky/universe amd64 libcommons-io-java all 2.17.0-1 [457 kB] 4736s Get:109 http://ftpmaster.internal/ubuntu plucky/universe amd64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 4736s Get:110 http://ftpmaster.internal/ubuntu plucky/universe amd64 libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 4736s Get:111 http://ftpmaster.internal/ubuntu plucky/universe amd64 libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 4736s Get:112 http://ftpmaster.internal/ubuntu plucky/universe amd64 liberror-prone-java all 2.18.0-1 [22.5 kB] 4736s Get:113 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 4736s Get:114 http://ftpmaster.internal/ubuntu plucky/universe amd64 libguava-java all 32.0.1-1 [2692 kB] 4736s Get:115 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 4736s Get:116 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjackson2-core-java all 2.14.1-1 [432 kB] 4736s Get:117 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 4736s Get:118 http://ftpmaster.internal/ubuntu plucky/universe amd64 libasm-java all 9.7.1-1 [388 kB] 4736s Get:119 http://ftpmaster.internal/ubuntu plucky/universe amd64 libel-api-java all 3.0.0-3 [64.9 kB] 4736s Get:120 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjsp-api-java all 2.3.4-3 [53.7 kB] 4736s Get:121 http://ftpmaster.internal/ubuntu plucky/universe amd64 libservlet-api-java all 4.0.1-2 [81.0 kB] 4736s Get:122 http://ftpmaster.internal/ubuntu plucky/universe amd64 libwebsocket-api-java all 1.1-2 [40.1 kB] 4736s Get:123 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjetty9-java all 9.4.56-1 [2790 kB] 4736s Get:124 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-constants-java all 0.10.4-2 [1397 kB] 4736s Get:125 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjffi-jni amd64 1.3.13+ds-1 [27.3 kB] 4736s Get:126 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjffi-java all 1.3.13+ds-1 [112 kB] 4736s Get:127 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 4736s Get:128 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-ffi-java all 2.2.15-2 [627 kB] 4736s Get:129 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 4736s Get:130 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-posix-java all 3.1.18-1 [267 kB] 4736s Get:131 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 4736s Get:132 http://ftpmaster.internal/ubuntu plucky/universe amd64 libactivation-java all 1.2.0-2 [84.7 kB] 4736s Get:133 http://ftpmaster.internal/ubuntu plucky/universe amd64 libmail-java all 1.6.5-3 [681 kB] 4736s Get:134 http://ftpmaster.internal/ubuntu plucky/universe amd64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 4736s Get:135 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjaxb-api-java all 2.3.1-1 [119 kB] 4736s Get:136 http://ftpmaster.internal/ubuntu plucky/universe amd64 libspring-core-java all 4.3.30-2 [1015 kB] 4736s Get:137 http://ftpmaster.internal/ubuntu plucky/universe amd64 libspring-beans-java all 4.3.30-2 [675 kB] 4736s Get:138 http://ftpmaster.internal/ubuntu plucky/universe amd64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 4736s Get:139 http://ftpmaster.internal/ubuntu plucky/universe amd64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 4736s Get:140 http://ftpmaster.internal/ubuntu plucky/universe amd64 libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 4737s Get:141 http://ftpmaster.internal/ubuntu plucky/universe amd64 libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 4737s Get:142 http://ftpmaster.internal/ubuntu plucky/universe amd64 libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 4737s Get:143 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjetty9-extra-java all 9.4.56-1 [1199 kB] 4737s Get:144 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjctools-java all 2.0.2-1 [188 kB] 4737s Get:145 http://ftpmaster.internal/ubuntu plucky/universe amd64 libnetty-java all 1:4.1.48-10 [3628 kB] 4737s Get:146 http://ftpmaster.internal/ubuntu plucky/universe amd64 libslf4j-java all 1.7.32-1 [141 kB] 4737s Get:147 http://ftpmaster.internal/ubuntu plucky/main amd64 libsnappy1v5 amd64 1.2.1-1 [30.4 kB] 4737s Get:148 http://ftpmaster.internal/ubuntu plucky/universe amd64 libsnappy-jni amd64 1.1.10.5-2 [6622 B] 4737s Get:149 http://ftpmaster.internal/ubuntu plucky/universe amd64 libsnappy-java all 1.1.10.5-2 [83.7 kB] 4737s Get:150 http://ftpmaster.internal/ubuntu plucky/main amd64 libapr1t64 amd64 1.7.2-3.2ubuntu1 [108 kB] 4737s Get:151 http://ftpmaster.internal/ubuntu plucky/universe amd64 libnetty-tcnative-jni amd64 2.0.28-1build4 [35.7 kB] 4737s Get:152 http://ftpmaster.internal/ubuntu plucky/universe amd64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 4737s Get:153 http://ftpmaster.internal/ubuntu plucky/universe amd64 liblog4j1.2-java all 1.2.17-11 [439 kB] 4737s Get:154 http://ftpmaster.internal/ubuntu plucky/universe amd64 libzookeeper-java all 3.9.2-2 [1885 kB] 4737s Get:155 http://ftpmaster.internal/ubuntu plucky/universe amd64 zookeeper all 3.9.2-2 [57.8 kB] 4737s Get:156 http://ftpmaster.internal/ubuntu plucky/universe amd64 zookeeperd all 3.9.2-2 [6036 B] 4737s Get:157 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 4737s Get:158 http://ftpmaster.internal/ubuntu plucky/main amd64 libcares2 amd64 1.34.2-1 [104 kB] 4737s Get:159 http://ftpmaster.internal/ubuntu plucky/universe amd64 libev4t64 amd64 1:4.33-2.1build1 [31.0 kB] 4737s Get:160 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB] 4737s Get:161 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB] 4737s Get:162 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 4737s Get:163 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 4737s Get:164 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 4737s Get:165 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 4737s Get:166 http://ftpmaster.internal/ubuntu plucky/main amd64 libtime-duration-perl all 1.21-2 [12.3 kB] 4737s Get:167 http://ftpmaster.internal/ubuntu plucky/main amd64 libtimedate-perl all 2.3300-2 [34.0 kB] 4737s Get:168 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu1 [169 kB] 4737s Get:169 http://ftpmaster.internal/ubuntu plucky/universe amd64 moreutils amd64 0.69-1 [56.4 kB] 4737s Get:170 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 4737s Get:171 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 4738s Get:172 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 4738s Get:173 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 4738s Get:174 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 4738s Get:175 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 4738s Get:176 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 4738s Get:177 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 4738s Get:178 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 4738s Get:179 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 4738s Get:180 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-greenlet amd64 3.0.3-0ubuntu6 [155 kB] 4738s Get:181 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 4738s Get:182 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 4738s Get:183 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-zope.event all 5.0-0.1 [7512 B] 4738s Get:184 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-zope.interface amd64 7.1.1-1 [141 kB] 4738s Get:185 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-gevent amd64 24.2.1-1 [805 kB] 4738s Get:186 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kerberos amd64 1.1.14-3.1build9 [21.2 kB] 4738s Get:187 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 4738s Get:188 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kazoo all 2.9.0-2 [103 kB] 4738s Get:189 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni all 3.3.1-1 [264 kB] 4738s Get:190 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 4738s Get:191 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni-doc all 3.3.1-1 [497 kB] 4738s Get:192 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-16 amd64 16.4-3 [1278 kB] 4738s Get:193 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-16 amd64 16.4-3 [15.2 MB] 4739s Get:194 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql all 16+262 [11.8 kB] 4739s Get:195 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse all 1.20.2-1 [27.0 kB] 4739s Get:196 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse-type all 0.6.4-1 [23.4 kB] 4739s Get:197 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-behave all 1.2.6-6 [98.6 kB] 4739s Get:198 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 4739s Preconfiguring packages ... 4739s Fetched 132 MB in 8s (16.6 MB/s) 4739s Selecting previously unselected package fonts-lato. 4739s (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 ... 75548 files and directories currently installed.) 4739s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 4739s Unpacking fonts-lato (2.015-1) ... 4739s Selecting previously unselected package libjson-perl. 4739s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 4739s Unpacking libjson-perl (4.10000-1) ... 4739s Selecting previously unselected package postgresql-client-common. 4739s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 4739s Unpacking postgresql-client-common (262) ... 4739s Selecting previously unselected package ssl-cert. 4739s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu2_all.deb ... 4739s Unpacking ssl-cert (1.1.2ubuntu2) ... 4739s Selecting previously unselected package postgresql-common. 4739s Preparing to unpack .../004-postgresql-common_262_all.deb ... 4739s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 4739s Unpacking postgresql-common (262) ... 4740s Selecting previously unselected package ca-certificates-java. 4740s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 4740s Unpacking ca-certificates-java (20240118) ... 4740s Selecting previously unselected package java-common. 4740s Preparing to unpack .../006-java-common_0.76_all.deb ... 4740s Unpacking java-common (0.76) ... 4740s Selecting previously unselected package liblcms2-2:amd64. 4740s Preparing to unpack .../007-liblcms2-2_2.16-2_amd64.deb ... 4740s Unpacking liblcms2-2:amd64 (2.16-2) ... 4740s Selecting previously unselected package libjpeg-turbo8:amd64. 4740s Preparing to unpack .../008-libjpeg-turbo8_2.1.5-2ubuntu2_amd64.deb ... 4740s Unpacking libjpeg-turbo8:amd64 (2.1.5-2ubuntu2) ... 4740s Selecting previously unselected package libjpeg8:amd64. 4740s Preparing to unpack .../009-libjpeg8_8c-2ubuntu11_amd64.deb ... 4740s Unpacking libjpeg8:amd64 (8c-2ubuntu11) ... 4740s Selecting previously unselected package libpcsclite1:amd64. 4740s Preparing to unpack .../010-libpcsclite1_2.3.0-1_amd64.deb ... 4740s Unpacking libpcsclite1:amd64 (2.3.0-1) ... 4740s Selecting previously unselected package openjdk-21-jre-headless:amd64. 4740s Preparing to unpack .../011-openjdk-21-jre-headless_21.0.5+11-1_amd64.deb ... 4740s Unpacking openjdk-21-jre-headless:amd64 (21.0.5+11-1) ... 4740s Selecting previously unselected package default-jre-headless. 4740s Preparing to unpack .../012-default-jre-headless_2%3a1.21-76_amd64.deb ... 4740s Unpacking default-jre-headless (2:1.21-76) ... 4740s Selecting previously unselected package libgdk-pixbuf2.0-common. 4740s Preparing to unpack .../013-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 4740s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 4740s Selecting previously unselected package libdeflate0:amd64. 4740s Preparing to unpack .../014-libdeflate0_1.22-1_amd64.deb ... 4740s Unpacking libdeflate0:amd64 (1.22-1) ... 4740s Selecting previously unselected package libjbig0:amd64. 4740s Preparing to unpack .../015-libjbig0_2.1-6.1ubuntu2_amd64.deb ... 4740s Unpacking libjbig0:amd64 (2.1-6.1ubuntu2) ... 4741s Selecting previously unselected package liblerc4:amd64. 4741s Preparing to unpack .../016-liblerc4_4.0.0+ds-4ubuntu2_amd64.deb ... 4741s Unpacking liblerc4:amd64 (4.0.0+ds-4ubuntu2) ... 4741s Selecting previously unselected package libsharpyuv0:amd64. 4741s Preparing to unpack .../017-libsharpyuv0_1.4.0-0.1_amd64.deb ... 4741s Unpacking libsharpyuv0:amd64 (1.4.0-0.1) ... 4741s Selecting previously unselected package libwebp7:amd64. 4741s Preparing to unpack .../018-libwebp7_1.4.0-0.1_amd64.deb ... 4741s Unpacking libwebp7:amd64 (1.4.0-0.1) ... 4741s Selecting previously unselected package libtiff6:amd64. 4741s Preparing to unpack .../019-libtiff6_4.5.1+git230720-4ubuntu4_amd64.deb ... 4741s Unpacking libtiff6:amd64 (4.5.1+git230720-4ubuntu4) ... 4741s Selecting previously unselected package libgdk-pixbuf-2.0-0:amd64. 4741s Preparing to unpack .../020-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_amd64.deb ... 4741s Unpacking libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-1) ... 4741s Selecting previously unselected package gtk-update-icon-cache. 4741s Preparing to unpack .../021-gtk-update-icon-cache_4.16.5+ds-1_amd64.deb ... 4741s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 4741s 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. 4741s Unpacking gtk-update-icon-cache (4.16.5+ds-1) ... 4741s Selecting previously unselected package hicolor-icon-theme. 4741s Preparing to unpack .../022-hicolor-icon-theme_0.18-1_all.deb ... 4741s Unpacking hicolor-icon-theme (0.18-1) ... 4741s Selecting previously unselected package humanity-icon-theme. 4741s Preparing to unpack .../023-humanity-icon-theme_0.6.16_all.deb ... 4741s Unpacking humanity-icon-theme (0.6.16) ... 4741s Selecting previously unselected package ubuntu-mono. 4741s Preparing to unpack .../024-ubuntu-mono_24.04-0ubuntu1_all.deb ... 4741s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 4742s Selecting previously unselected package adwaita-icon-theme. 4742s Preparing to unpack .../025-adwaita-icon-theme_47.0-2_all.deb ... 4742s Unpacking adwaita-icon-theme (47.0-2) ... 4742s Selecting previously unselected package at-spi2-common. 4742s Preparing to unpack .../026-at-spi2-common_2.54.0-1_all.deb ... 4742s Unpacking at-spi2-common (2.54.0-1) ... 4742s Selecting previously unselected package libatk1.0-0t64:amd64. 4742s Preparing to unpack .../027-libatk1.0-0t64_2.54.0-1_amd64.deb ... 4742s Unpacking libatk1.0-0t64:amd64 (2.54.0-1) ... 4742s Selecting previously unselected package libxi6:amd64. 4742s Preparing to unpack .../028-libxi6_2%3a1.8.2-1_amd64.deb ... 4742s Unpacking libxi6:amd64 (2:1.8.2-1) ... 4742s Selecting previously unselected package libatspi2.0-0t64:amd64. 4742s Preparing to unpack .../029-libatspi2.0-0t64_2.54.0-1_amd64.deb ... 4742s Unpacking libatspi2.0-0t64:amd64 (2.54.0-1) ... 4742s Selecting previously unselected package libatk-bridge2.0-0t64:amd64. 4742s Preparing to unpack .../030-libatk-bridge2.0-0t64_2.54.0-1_amd64.deb ... 4742s Unpacking libatk-bridge2.0-0t64:amd64 (2.54.0-1) ... 4742s Selecting previously unselected package fonts-dejavu-mono. 4742s Preparing to unpack .../031-fonts-dejavu-mono_2.37-8_all.deb ... 4742s Unpacking fonts-dejavu-mono (2.37-8) ... 4742s Selecting previously unselected package fonts-dejavu-core. 4742s Preparing to unpack .../032-fonts-dejavu-core_2.37-8_all.deb ... 4742s Unpacking fonts-dejavu-core (2.37-8) ... 4742s Selecting previously unselected package fontconfig-config. 4742s Preparing to unpack .../033-fontconfig-config_2.15.0-1.1ubuntu2_amd64.deb ... 4742s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 4742s Selecting previously unselected package libfontconfig1:amd64. 4742s Preparing to unpack .../034-libfontconfig1_2.15.0-1.1ubuntu2_amd64.deb ... 4742s Unpacking libfontconfig1:amd64 (2.15.0-1.1ubuntu2) ... 4742s Selecting previously unselected package libpixman-1-0:amd64. 4742s Preparing to unpack .../035-libpixman-1-0_0.44.0-3_amd64.deb ... 4742s Unpacking libpixman-1-0:amd64 (0.44.0-3) ... 4742s Selecting previously unselected package libxcb-render0:amd64. 4742s Preparing to unpack .../036-libxcb-render0_1.17.0-2_amd64.deb ... 4742s Unpacking libxcb-render0:amd64 (1.17.0-2) ... 4742s Selecting previously unselected package libxcb-shm0:amd64. 4742s Preparing to unpack .../037-libxcb-shm0_1.17.0-2_amd64.deb ... 4742s Unpacking libxcb-shm0:amd64 (1.17.0-2) ... 4742s Selecting previously unselected package libxrender1:amd64. 4742s Preparing to unpack .../038-libxrender1_1%3a0.9.10-1.1build1_amd64.deb ... 4742s Unpacking libxrender1:amd64 (1:0.9.10-1.1build1) ... 4742s Selecting previously unselected package libcairo2:amd64. 4742s Preparing to unpack .../039-libcairo2_1.18.2-2_amd64.deb ... 4742s Unpacking libcairo2:amd64 (1.18.2-2) ... 4743s Selecting previously unselected package libcairo-gobject2:amd64. 4743s Preparing to unpack .../040-libcairo-gobject2_1.18.2-2_amd64.deb ... 4743s Unpacking libcairo-gobject2:amd64 (1.18.2-2) ... 4743s Selecting previously unselected package libcolord2:amd64. 4743s Preparing to unpack .../041-libcolord2_1.4.7-1build2_amd64.deb ... 4743s Unpacking libcolord2:amd64 (1.4.7-1build2) ... 4743s Selecting previously unselected package libavahi-common-data:amd64. 4743s Preparing to unpack .../042-libavahi-common-data_0.8-13ubuntu6_amd64.deb ... 4743s Unpacking libavahi-common-data:amd64 (0.8-13ubuntu6) ... 4743s Selecting previously unselected package libavahi-common3:amd64. 4743s Preparing to unpack .../043-libavahi-common3_0.8-13ubuntu6_amd64.deb ... 4743s Unpacking libavahi-common3:amd64 (0.8-13ubuntu6) ... 4743s Selecting previously unselected package libavahi-client3:amd64. 4743s Preparing to unpack .../044-libavahi-client3_0.8-13ubuntu6_amd64.deb ... 4743s Unpacking libavahi-client3:amd64 (0.8-13ubuntu6) ... 4743s Selecting previously unselected package libcups2t64:amd64. 4743s Preparing to unpack .../045-libcups2t64_2.4.10-1ubuntu2_amd64.deb ... 4743s Unpacking libcups2t64:amd64 (2.4.10-1ubuntu2) ... 4743s Selecting previously unselected package libepoxy0:amd64. 4743s Preparing to unpack .../046-libepoxy0_1.5.10-2_amd64.deb ... 4743s Unpacking libepoxy0:amd64 (1.5.10-2) ... 4743s Selecting previously unselected package libgraphite2-3:amd64. 4743s Preparing to unpack .../047-libgraphite2-3_1.3.14-2ubuntu1_amd64.deb ... 4743s Unpacking libgraphite2-3:amd64 (1.3.14-2ubuntu1) ... 4743s Selecting previously unselected package libharfbuzz0b:amd64. 4743s Preparing to unpack .../048-libharfbuzz0b_10.0.1-1_amd64.deb ... 4743s Unpacking libharfbuzz0b:amd64 (10.0.1-1) ... 4743s Selecting previously unselected package fontconfig. 4743s Preparing to unpack .../049-fontconfig_2.15.0-1.1ubuntu2_amd64.deb ... 4743s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 4743s Selecting previously unselected package libthai-data. 4743s Preparing to unpack .../050-libthai-data_0.1.29-2build1_all.deb ... 4743s Unpacking libthai-data (0.1.29-2build1) ... 4743s Selecting previously unselected package libdatrie1:amd64. 4743s Preparing to unpack .../051-libdatrie1_0.2.13-3build1_amd64.deb ... 4743s Unpacking libdatrie1:amd64 (0.2.13-3build1) ... 4743s Selecting previously unselected package libthai0:amd64. 4743s Preparing to unpack .../052-libthai0_0.1.29-2build1_amd64.deb ... 4743s Unpacking libthai0:amd64 (0.1.29-2build1) ... 4743s Selecting previously unselected package libpango-1.0-0:amd64. 4743s Preparing to unpack .../053-libpango-1.0-0_1.54.0+ds-3_amd64.deb ... 4743s Unpacking libpango-1.0-0:amd64 (1.54.0+ds-3) ... 4743s Selecting previously unselected package libpangoft2-1.0-0:amd64. 4743s Preparing to unpack .../054-libpangoft2-1.0-0_1.54.0+ds-3_amd64.deb ... 4743s Unpacking libpangoft2-1.0-0:amd64 (1.54.0+ds-3) ... 4743s Selecting previously unselected package libpangocairo-1.0-0:amd64. 4743s Preparing to unpack .../055-libpangocairo-1.0-0_1.54.0+ds-3_amd64.deb ... 4743s Unpacking libpangocairo-1.0-0:amd64 (1.54.0+ds-3) ... 4743s Selecting previously unselected package libwayland-client0:amd64. 4743s Preparing to unpack .../056-libwayland-client0_1.23.0-1_amd64.deb ... 4743s Unpacking libwayland-client0:amd64 (1.23.0-1) ... 4743s Selecting previously unselected package libwayland-cursor0:amd64. 4743s Preparing to unpack .../057-libwayland-cursor0_1.23.0-1_amd64.deb ... 4743s Unpacking libwayland-cursor0:amd64 (1.23.0-1) ... 4743s Selecting previously unselected package libwayland-egl1:amd64. 4743s Preparing to unpack .../058-libwayland-egl1_1.23.0-1_amd64.deb ... 4743s Unpacking libwayland-egl1:amd64 (1.23.0-1) ... 4743s Selecting previously unselected package libxcomposite1:amd64. 4743s Preparing to unpack .../059-libxcomposite1_1%3a0.4.6-1_amd64.deb ... 4743s Unpacking libxcomposite1:amd64 (1:0.4.6-1) ... 4743s Selecting previously unselected package libxfixes3:amd64. 4743s Preparing to unpack .../060-libxfixes3_1%3a6.0.0-2build1_amd64.deb ... 4743s Unpacking libxfixes3:amd64 (1:6.0.0-2build1) ... 4743s Selecting previously unselected package libxcursor1:amd64. 4743s Preparing to unpack .../061-libxcursor1_1%3a1.2.2-1_amd64.deb ... 4743s Unpacking libxcursor1:amd64 (1:1.2.2-1) ... 4743s Selecting previously unselected package libxdamage1:amd64. 4743s Preparing to unpack .../062-libxdamage1_1%3a1.1.6-1build1_amd64.deb ... 4743s Unpacking libxdamage1:amd64 (1:1.1.6-1build1) ... 4743s Selecting previously unselected package libxinerama1:amd64. 4743s Preparing to unpack .../063-libxinerama1_2%3a1.1.4-3build1_amd64.deb ... 4743s Unpacking libxinerama1:amd64 (2:1.1.4-3build1) ... 4743s Selecting previously unselected package libxrandr2:amd64. 4743s Preparing to unpack .../064-libxrandr2_2%3a1.5.4-1_amd64.deb ... 4743s Unpacking libxrandr2:amd64 (2:1.5.4-1) ... 4743s Selecting previously unselected package libdconf1:amd64. 4743s Preparing to unpack .../065-libdconf1_0.40.0-4build2_amd64.deb ... 4743s Unpacking libdconf1:amd64 (0.40.0-4build2) ... 4743s Selecting previously unselected package dconf-service. 4743s Preparing to unpack .../066-dconf-service_0.40.0-4build2_amd64.deb ... 4743s Unpacking dconf-service (0.40.0-4build2) ... 4743s Selecting previously unselected package dconf-gsettings-backend:amd64. 4743s Preparing to unpack .../067-dconf-gsettings-backend_0.40.0-4build2_amd64.deb ... 4743s Unpacking dconf-gsettings-backend:amd64 (0.40.0-4build2) ... 4743s Selecting previously unselected package libgtk-3-common. 4743s Preparing to unpack .../068-libgtk-3-common_3.24.43-3ubuntu2_all.deb ... 4743s Unpacking libgtk-3-common (3.24.43-3ubuntu2) ... 4743s Selecting previously unselected package libgtk-3-0t64:amd64. 4743s Preparing to unpack .../069-libgtk-3-0t64_3.24.43-3ubuntu2_amd64.deb ... 4743s Unpacking libgtk-3-0t64:amd64 (3.24.43-3ubuntu2) ... 4744s Selecting previously unselected package libglvnd0:amd64. 4744s Preparing to unpack .../070-libglvnd0_1.7.0-1build1_amd64.deb ... 4744s Unpacking libglvnd0:amd64 (1.7.0-1build1) ... 4744s Selecting previously unselected package libglapi-mesa:amd64. 4744s Preparing to unpack .../071-libglapi-mesa_24.2.3-1ubuntu1_amd64.deb ... 4744s Unpacking libglapi-mesa:amd64 (24.2.3-1ubuntu1) ... 4744s Selecting previously unselected package libx11-xcb1:amd64. 4744s Preparing to unpack .../072-libx11-xcb1_2%3a1.8.10-2_amd64.deb ... 4744s Unpacking libx11-xcb1:amd64 (2:1.8.10-2) ... 4744s Selecting previously unselected package libxcb-dri2-0:amd64. 4744s Preparing to unpack .../073-libxcb-dri2-0_1.17.0-2_amd64.deb ... 4744s Unpacking libxcb-dri2-0:amd64 (1.17.0-2) ... 4744s Selecting previously unselected package libxcb-dri3-0:amd64. 4744s Preparing to unpack .../074-libxcb-dri3-0_1.17.0-2_amd64.deb ... 4744s Unpacking libxcb-dri3-0:amd64 (1.17.0-2) ... 4744s Selecting previously unselected package libxcb-glx0:amd64. 4744s Preparing to unpack .../075-libxcb-glx0_1.17.0-2_amd64.deb ... 4744s Unpacking libxcb-glx0:amd64 (1.17.0-2) ... 4744s Selecting previously unselected package libxcb-present0:amd64. 4744s Preparing to unpack .../076-libxcb-present0_1.17.0-2_amd64.deb ... 4744s Unpacking libxcb-present0:amd64 (1.17.0-2) ... 4744s Selecting previously unselected package libxcb-randr0:amd64. 4744s Preparing to unpack .../077-libxcb-randr0_1.17.0-2_amd64.deb ... 4744s Unpacking libxcb-randr0:amd64 (1.17.0-2) ... 4744s Selecting previously unselected package libxcb-sync1:amd64. 4744s Preparing to unpack .../078-libxcb-sync1_1.17.0-2_amd64.deb ... 4744s Unpacking libxcb-sync1:amd64 (1.17.0-2) ... 4744s Selecting previously unselected package libxcb-xfixes0:amd64. 4744s Preparing to unpack .../079-libxcb-xfixes0_1.17.0-2_amd64.deb ... 4744s Unpacking libxcb-xfixes0:amd64 (1.17.0-2) ... 4744s Selecting previously unselected package libxshmfence1:amd64. 4744s Preparing to unpack .../080-libxshmfence1_1.3-1build5_amd64.deb ... 4744s Unpacking libxshmfence1:amd64 (1.3-1build5) ... 4744s Selecting previously unselected package libxxf86vm1:amd64. 4744s Preparing to unpack .../081-libxxf86vm1_1%3a1.1.4-1build4_amd64.deb ... 4744s Unpacking libxxf86vm1:amd64 (1:1.1.4-1build4) ... 4744s Selecting previously unselected package libdrm-amdgpu1:amd64. 4744s Preparing to unpack .../082-libdrm-amdgpu1_2.4.123-1_amd64.deb ... 4744s Unpacking libdrm-amdgpu1:amd64 (2.4.123-1) ... 4744s Selecting previously unselected package libpciaccess0:amd64. 4744s Preparing to unpack .../083-libpciaccess0_0.17-3build1_amd64.deb ... 4744s Unpacking libpciaccess0:amd64 (0.17-3build1) ... 4744s Selecting previously unselected package libdrm-intel1:amd64. 4744s Preparing to unpack .../084-libdrm-intel1_2.4.123-1_amd64.deb ... 4744s Unpacking libdrm-intel1:amd64 (2.4.123-1) ... 4744s Selecting previously unselected package libdrm-radeon1:amd64. 4744s Preparing to unpack .../085-libdrm-radeon1_2.4.123-1_amd64.deb ... 4744s Unpacking libdrm-radeon1:amd64 (2.4.123-1) ... 4744s Selecting previously unselected package mesa-libgallium:amd64. 4744s Preparing to unpack .../086-mesa-libgallium_24.2.3-1ubuntu1_amd64.deb ... 4744s Unpacking mesa-libgallium:amd64 (24.2.3-1ubuntu1) ... 4744s Selecting previously unselected package libvulkan1:amd64. 4744s Preparing to unpack .../087-libvulkan1_1.3.296.0-1_amd64.deb ... 4744s Unpacking libvulkan1:amd64 (1.3.296.0-1) ... 4744s Selecting previously unselected package libwayland-server0:amd64. 4744s Preparing to unpack .../088-libwayland-server0_1.23.0-1_amd64.deb ... 4744s Unpacking libwayland-server0:amd64 (1.23.0-1) ... 4744s Selecting previously unselected package libgbm1:amd64. 4744s Preparing to unpack .../089-libgbm1_24.2.3-1ubuntu1_amd64.deb ... 4744s Unpacking libgbm1:amd64 (24.2.3-1ubuntu1) ... 4744s Selecting previously unselected package libgl1-mesa-dri:amd64. 4744s Preparing to unpack .../090-libgl1-mesa-dri_24.2.3-1ubuntu1_amd64.deb ... 4744s Unpacking libgl1-mesa-dri:amd64 (24.2.3-1ubuntu1) ... 4744s Selecting previously unselected package libglx-mesa0:amd64. 4744s Preparing to unpack .../091-libglx-mesa0_24.2.3-1ubuntu1_amd64.deb ... 4744s Unpacking libglx-mesa0:amd64 (24.2.3-1ubuntu1) ... 4744s Selecting previously unselected package libglx0:amd64. 4744s Preparing to unpack .../092-libglx0_1.7.0-1build1_amd64.deb ... 4744s Unpacking libglx0:amd64 (1.7.0-1build1) ... 4744s Selecting previously unselected package libgl1:amd64. 4744s Preparing to unpack .../093-libgl1_1.7.0-1build1_amd64.deb ... 4744s Unpacking libgl1:amd64 (1.7.0-1build1) ... 4744s Selecting previously unselected package libasound2-data. 4744s Preparing to unpack .../094-libasound2-data_1.2.12-1_all.deb ... 4744s Unpacking libasound2-data (1.2.12-1) ... 4744s Selecting previously unselected package libasound2t64:amd64. 4744s Preparing to unpack .../095-libasound2t64_1.2.12-1_amd64.deb ... 4744s Unpacking libasound2t64:amd64 (1.2.12-1) ... 4744s Selecting previously unselected package libgif7:amd64. 4744s Preparing to unpack .../096-libgif7_5.2.2-1ubuntu1_amd64.deb ... 4744s Unpacking libgif7:amd64 (5.2.2-1ubuntu1) ... 4744s Selecting previously unselected package x11-common. 4744s Preparing to unpack .../097-x11-common_1%3a7.7+23ubuntu3_all.deb ... 4744s Unpacking x11-common (1:7.7+23ubuntu3) ... 4744s Selecting previously unselected package libxtst6:amd64. 4744s Preparing to unpack .../098-libxtst6_2%3a1.2.3-1.1build1_amd64.deb ... 4744s Unpacking libxtst6:amd64 (2:1.2.3-1.1build1) ... 4744s Selecting previously unselected package openjdk-21-jre:amd64. 4744s Preparing to unpack .../099-openjdk-21-jre_21.0.5+11-1_amd64.deb ... 4744s Unpacking openjdk-21-jre:amd64 (21.0.5+11-1) ... 4745s Selecting previously unselected package default-jre. 4745s Preparing to unpack .../100-default-jre_2%3a1.21-76_amd64.deb ... 4745s Unpacking default-jre (2:1.21-76) ... 4745s Selecting previously unselected package libhamcrest-java. 4745s Preparing to unpack .../101-libhamcrest-java_2.2-2_all.deb ... 4745s Unpacking libhamcrest-java (2.2-2) ... 4745s Selecting previously unselected package junit4. 4745s Preparing to unpack .../102-junit4_4.13.2-5_all.deb ... 4745s Unpacking junit4 (4.13.2-5) ... 4745s Selecting previously unselected package libcommons-cli-java. 4745s Preparing to unpack .../103-libcommons-cli-java_1.6.0-1_all.deb ... 4745s Unpacking libcommons-cli-java (1.6.0-1) ... 4745s Selecting previously unselected package libapache-pom-java. 4745s Preparing to unpack .../104-libapache-pom-java_33-2_all.deb ... 4745s Unpacking libapache-pom-java (33-2) ... 4745s Selecting previously unselected package libcommons-parent-java. 4745s Preparing to unpack .../105-libcommons-parent-java_56-1_all.deb ... 4745s Unpacking libcommons-parent-java (56-1) ... 4745s Selecting previously unselected package libcommons-io-java. 4745s Preparing to unpack .../106-libcommons-io-java_2.17.0-1_all.deb ... 4745s Unpacking libcommons-io-java (2.17.0-1) ... 4745s Selecting previously unselected package libdropwizard-metrics-java. 4745s Preparing to unpack .../107-libdropwizard-metrics-java_3.2.6-1_all.deb ... 4745s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 4745s Selecting previously unselected package libfindbugs-annotations-java. 4745s Preparing to unpack .../108-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 4745s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 4745s Selecting previously unselected package libatinject-jsr330-api-java. 4745s Preparing to unpack .../109-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 4745s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 4745s Selecting previously unselected package liberror-prone-java. 4745s Preparing to unpack .../110-liberror-prone-java_2.18.0-1_all.deb ... 4745s Unpacking liberror-prone-java (2.18.0-1) ... 4745s Selecting previously unselected package libjsr305-java. 4745s Preparing to unpack .../111-libjsr305-java_0.1~+svn49-11_all.deb ... 4745s Unpacking libjsr305-java (0.1~+svn49-11) ... 4745s Selecting previously unselected package libguava-java. 4745s Preparing to unpack .../112-libguava-java_32.0.1-1_all.deb ... 4745s Unpacking libguava-java (32.0.1-1) ... 4745s Selecting previously unselected package libjackson2-annotations-java. 4745s Preparing to unpack .../113-libjackson2-annotations-java_2.14.0-1_all.deb ... 4745s Unpacking libjackson2-annotations-java (2.14.0-1) ... 4745s Selecting previously unselected package libjackson2-core-java. 4745s Preparing to unpack .../114-libjackson2-core-java_2.14.1-1_all.deb ... 4745s Unpacking libjackson2-core-java (2.14.1-1) ... 4745s Selecting previously unselected package libjackson2-databind-java. 4745s Preparing to unpack .../115-libjackson2-databind-java_2.14.0-1_all.deb ... 4745s Unpacking libjackson2-databind-java (2.14.0-1) ... 4745s Selecting previously unselected package libasm-java. 4745s Preparing to unpack .../116-libasm-java_9.7.1-1_all.deb ... 4745s Unpacking libasm-java (9.7.1-1) ... 4745s Selecting previously unselected package libel-api-java. 4745s Preparing to unpack .../117-libel-api-java_3.0.0-3_all.deb ... 4745s Unpacking libel-api-java (3.0.0-3) ... 4745s Selecting previously unselected package libjsp-api-java. 4745s Preparing to unpack .../118-libjsp-api-java_2.3.4-3_all.deb ... 4745s Unpacking libjsp-api-java (2.3.4-3) ... 4745s Selecting previously unselected package libservlet-api-java. 4745s Preparing to unpack .../119-libservlet-api-java_4.0.1-2_all.deb ... 4745s Unpacking libservlet-api-java (4.0.1-2) ... 4745s Selecting previously unselected package libwebsocket-api-java. 4745s Preparing to unpack .../120-libwebsocket-api-java_1.1-2_all.deb ... 4745s Unpacking libwebsocket-api-java (1.1-2) ... 4745s Selecting previously unselected package libjetty9-java. 4745s Preparing to unpack .../121-libjetty9-java_9.4.56-1_all.deb ... 4745s Unpacking libjetty9-java (9.4.56-1) ... 4745s Selecting previously unselected package libjnr-constants-java. 4745s Preparing to unpack .../122-libjnr-constants-java_0.10.4-2_all.deb ... 4745s Unpacking libjnr-constants-java (0.10.4-2) ... 4745s Selecting previously unselected package libjffi-jni:amd64. 4745s Preparing to unpack .../123-libjffi-jni_1.3.13+ds-1_amd64.deb ... 4745s Unpacking libjffi-jni:amd64 (1.3.13+ds-1) ... 4745s Selecting previously unselected package libjffi-java. 4745s Preparing to unpack .../124-libjffi-java_1.3.13+ds-1_all.deb ... 4745s Unpacking libjffi-java (1.3.13+ds-1) ... 4745s Selecting previously unselected package libjnr-x86asm-java. 4745s Preparing to unpack .../125-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 4745s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 4745s Selecting previously unselected package libjnr-ffi-java. 4745s Preparing to unpack .../126-libjnr-ffi-java_2.2.15-2_all.deb ... 4745s Unpacking libjnr-ffi-java (2.2.15-2) ... 4745s Selecting previously unselected package libjnr-enxio-java. 4745s Preparing to unpack .../127-libjnr-enxio-java_0.32.16-1_all.deb ... 4745s Unpacking libjnr-enxio-java (0.32.16-1) ... 4745s Selecting previously unselected package libjnr-posix-java. 4745s Preparing to unpack .../128-libjnr-posix-java_3.1.18-1_all.deb ... 4745s Unpacking libjnr-posix-java (3.1.18-1) ... 4745s Selecting previously unselected package libjnr-unixsocket-java. 4745s Preparing to unpack .../129-libjnr-unixsocket-java_0.38.21-2_all.deb ... 4745s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 4745s Selecting previously unselected package libactivation-java. 4745s Preparing to unpack .../130-libactivation-java_1.2.0-2_all.deb ... 4745s Unpacking libactivation-java (1.2.0-2) ... 4745s Selecting previously unselected package libmail-java. 4745s Preparing to unpack .../131-libmail-java_1.6.5-3_all.deb ... 4745s Unpacking libmail-java (1.6.5-3) ... 4745s Selecting previously unselected package libcommons-logging-java. 4745s Preparing to unpack .../132-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 4745s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 4746s Selecting previously unselected package libjaxb-api-java. 4746s Preparing to unpack .../133-libjaxb-api-java_2.3.1-1_all.deb ... 4746s Unpacking libjaxb-api-java (2.3.1-1) ... 4746s Selecting previously unselected package libspring-core-java. 4746s Preparing to unpack .../134-libspring-core-java_4.3.30-2_all.deb ... 4746s Unpacking libspring-core-java (4.3.30-2) ... 4746s Selecting previously unselected package libspring-beans-java. 4746s Preparing to unpack .../135-libspring-beans-java_4.3.30-2_all.deb ... 4746s Unpacking libspring-beans-java (4.3.30-2) ... 4746s Selecting previously unselected package libtaglibs-standard-spec-java. 4746s Preparing to unpack .../136-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 4746s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 4746s Selecting previously unselected package libtaglibs-standard-impl-java. 4746s Preparing to unpack .../137-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 4746s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 4746s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 4746s Preparing to unpack .../138-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 4746s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 4746s Selecting previously unselected package libeclipse-jdt-core-java. 4746s Preparing to unpack .../139-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 4746s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 4746s Selecting previously unselected package libtomcat9-java. 4746s Preparing to unpack .../140-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 4746s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 4746s Selecting previously unselected package libjetty9-extra-java. 4746s Preparing to unpack .../141-libjetty9-extra-java_9.4.56-1_all.deb ... 4746s Unpacking libjetty9-extra-java (9.4.56-1) ... 4746s Selecting previously unselected package libjctools-java. 4746s Preparing to unpack .../142-libjctools-java_2.0.2-1_all.deb ... 4746s Unpacking libjctools-java (2.0.2-1) ... 4746s Selecting previously unselected package libnetty-java. 4746s Preparing to unpack .../143-libnetty-java_1%3a4.1.48-10_all.deb ... 4746s Unpacking libnetty-java (1:4.1.48-10) ... 4746s Selecting previously unselected package libslf4j-java. 4746s Preparing to unpack .../144-libslf4j-java_1.7.32-1_all.deb ... 4746s Unpacking libslf4j-java (1.7.32-1) ... 4746s Selecting previously unselected package libsnappy1v5:amd64. 4746s Preparing to unpack .../145-libsnappy1v5_1.2.1-1_amd64.deb ... 4746s Unpacking libsnappy1v5:amd64 (1.2.1-1) ... 4746s Selecting previously unselected package libsnappy-jni. 4746s Preparing to unpack .../146-libsnappy-jni_1.1.10.5-2_amd64.deb ... 4746s Unpacking libsnappy-jni (1.1.10.5-2) ... 4746s Selecting previously unselected package libsnappy-java. 4746s Preparing to unpack .../147-libsnappy-java_1.1.10.5-2_all.deb ... 4746s Unpacking libsnappy-java (1.1.10.5-2) ... 4746s Selecting previously unselected package libapr1t64:amd64. 4746s Preparing to unpack .../148-libapr1t64_1.7.2-3.2ubuntu1_amd64.deb ... 4746s Unpacking libapr1t64:amd64 (1.7.2-3.2ubuntu1) ... 4746s Selecting previously unselected package libnetty-tcnative-jni. 4746s Preparing to unpack .../149-libnetty-tcnative-jni_2.0.28-1build4_amd64.deb ... 4746s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 4746s Selecting previously unselected package libnetty-tcnative-java. 4746s Preparing to unpack .../150-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 4746s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 4746s Selecting previously unselected package liblog4j1.2-java. 4746s Preparing to unpack .../151-liblog4j1.2-java_1.2.17-11_all.deb ... 4746s Unpacking liblog4j1.2-java (1.2.17-11) ... 4746s Selecting previously unselected package libzookeeper-java. 4746s Preparing to unpack .../152-libzookeeper-java_3.9.2-2_all.deb ... 4746s Unpacking libzookeeper-java (3.9.2-2) ... 4746s Selecting previously unselected package zookeeper. 4746s Preparing to unpack .../153-zookeeper_3.9.2-2_all.deb ... 4746s Unpacking zookeeper (3.9.2-2) ... 4746s Selecting previously unselected package zookeeperd. 4746s Preparing to unpack .../154-zookeeperd_3.9.2-2_all.deb ... 4746s Unpacking zookeeperd (3.9.2-2) ... 4746s Selecting previously unselected package fonts-font-awesome. 4746s Preparing to unpack .../155-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 4746s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4746s Selecting previously unselected package libcares2:amd64. 4746s Preparing to unpack .../156-libcares2_1.34.2-1_amd64.deb ... 4746s Unpacking libcares2:amd64 (1.34.2-1) ... 4746s Selecting previously unselected package libev4t64:amd64. 4746s Preparing to unpack .../157-libev4t64_1%3a4.33-2.1build1_amd64.deb ... 4746s Unpacking libev4t64:amd64 (1:4.33-2.1build1) ... 4746s Selecting previously unselected package libio-pty-perl. 4746s Preparing to unpack .../158-libio-pty-perl_1%3a1.20-1build3_amd64.deb ... 4746s Unpacking libio-pty-perl (1:1.20-1build3) ... 4746s Selecting previously unselected package libipc-run-perl. 4746s Preparing to unpack .../159-libipc-run-perl_20231003.0-2_all.deb ... 4746s Unpacking libipc-run-perl (20231003.0-2) ... 4746s Selecting previously unselected package libjs-jquery. 4746s Preparing to unpack .../160-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 4746s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4746s Selecting previously unselected package libjs-underscore. 4746s Preparing to unpack .../161-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 4746s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4746s Selecting previously unselected package libjs-sphinxdoc. 4746s Preparing to unpack .../162-libjs-sphinxdoc_7.4.7-4_all.deb ... 4746s Unpacking libjs-sphinxdoc (7.4.7-4) ... 4747s Selecting previously unselected package libpq5:amd64. 4747s Preparing to unpack .../163-libpq5_17.0-1_amd64.deb ... 4747s Unpacking libpq5:amd64 (17.0-1) ... 4747s Selecting previously unselected package libtime-duration-perl. 4747s Preparing to unpack .../164-libtime-duration-perl_1.21-2_all.deb ... 4747s Unpacking libtime-duration-perl (1.21-2) ... 4747s Selecting previously unselected package libtimedate-perl. 4747s Preparing to unpack .../165-libtimedate-perl_2.3300-2_all.deb ... 4747s Unpacking libtimedate-perl (2.3300-2) ... 4747s Selecting previously unselected package libxslt1.1:amd64. 4747s Preparing to unpack .../166-libxslt1.1_1.1.39-0exp1ubuntu1_amd64.deb ... 4747s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 4747s Selecting previously unselected package moreutils. 4747s Preparing to unpack .../167-moreutils_0.69-1_amd64.deb ... 4747s Unpacking moreutils (0.69-1) ... 4747s Selecting previously unselected package python3-ydiff. 4747s Preparing to unpack .../168-python3-ydiff_1.3-1_all.deb ... 4747s Unpacking python3-ydiff (1.3-1) ... 4747s Selecting previously unselected package python3-cdiff. 4747s Preparing to unpack .../169-python3-cdiff_1.3-1_all.deb ... 4747s Unpacking python3-cdiff (1.3-1) ... 4747s Selecting previously unselected package python3-colorama. 4747s Preparing to unpack .../170-python3-colorama_0.4.6-4_all.deb ... 4747s Unpacking python3-colorama (0.4.6-4) ... 4747s Selecting previously unselected package python3-click. 4747s Preparing to unpack .../171-python3-click_8.1.7-2_all.deb ... 4747s Unpacking python3-click (8.1.7-2) ... 4747s Selecting previously unselected package python3-six. 4747s Preparing to unpack .../172-python3-six_1.16.0-7_all.deb ... 4747s Unpacking python3-six (1.16.0-7) ... 4747s Selecting previously unselected package python3-dateutil. 4747s Preparing to unpack .../173-python3-dateutil_2.9.0-2_all.deb ... 4747s Unpacking python3-dateutil (2.9.0-2) ... 4747s Selecting previously unselected package python3-wcwidth. 4747s Preparing to unpack .../174-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 4747s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 4747s Selecting previously unselected package python3-prettytable. 4747s Preparing to unpack .../175-python3-prettytable_3.10.1-1_all.deb ... 4747s Unpacking python3-prettytable (3.10.1-1) ... 4747s Selecting previously unselected package python3-psutil. 4747s Preparing to unpack .../176-python3-psutil_5.9.8-2build2_amd64.deb ... 4747s Unpacking python3-psutil (5.9.8-2build2) ... 4747s Selecting previously unselected package python3-psycopg2. 4747s Preparing to unpack .../177-python3-psycopg2_2.9.9-2_amd64.deb ... 4747s Unpacking python3-psycopg2 (2.9.9-2) ... 4747s Selecting previously unselected package python3-greenlet. 4747s Preparing to unpack .../178-python3-greenlet_3.0.3-0ubuntu6_amd64.deb ... 4747s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 4747s Selecting previously unselected package python3-dnspython. 4747s Preparing to unpack .../179-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 4747s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 4747s Selecting previously unselected package python3-eventlet. 4747s Preparing to unpack .../180-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 4747s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 4747s Selecting previously unselected package python3-zope.event. 4747s Preparing to unpack .../181-python3-zope.event_5.0-0.1_all.deb ... 4747s Unpacking python3-zope.event (5.0-0.1) ... 4747s Selecting previously unselected package python3-zope.interface. 4747s Preparing to unpack .../182-python3-zope.interface_7.1.1-1_amd64.deb ... 4747s Unpacking python3-zope.interface (7.1.1-1) ... 4747s Selecting previously unselected package python3-gevent. 4747s Preparing to unpack .../183-python3-gevent_24.2.1-1_amd64.deb ... 4747s Unpacking python3-gevent (24.2.1-1) ... 4747s Selecting previously unselected package python3-kerberos. 4747s Preparing to unpack .../184-python3-kerberos_1.1.14-3.1build9_amd64.deb ... 4747s Unpacking python3-kerberos (1.1.14-3.1build9) ... 4747s Selecting previously unselected package python3-pure-sasl. 4747s Preparing to unpack .../185-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 4747s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 4747s Selecting previously unselected package python3-kazoo. 4747s Preparing to unpack .../186-python3-kazoo_2.9.0-2_all.deb ... 4747s Unpacking python3-kazoo (2.9.0-2) ... 4747s Selecting previously unselected package patroni. 4747s Preparing to unpack .../187-patroni_3.3.1-1_all.deb ... 4747s Unpacking patroni (3.3.1-1) ... 4747s Selecting previously unselected package sphinx-rtd-theme-common. 4747s Preparing to unpack .../188-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 4747s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 4747s Selecting previously unselected package patroni-doc. 4747s Preparing to unpack .../189-patroni-doc_3.3.1-1_all.deb ... 4747s Unpacking patroni-doc (3.3.1-1) ... 4747s Selecting previously unselected package postgresql-client-16. 4747s Preparing to unpack .../190-postgresql-client-16_16.4-3_amd64.deb ... 4747s Unpacking postgresql-client-16 (16.4-3) ... 4747s Selecting previously unselected package postgresql-16. 4747s Preparing to unpack .../191-postgresql-16_16.4-3_amd64.deb ... 4747s Unpacking postgresql-16 (16.4-3) ... 4748s Selecting previously unselected package postgresql. 4748s Preparing to unpack .../192-postgresql_16+262_all.deb ... 4748s Unpacking postgresql (16+262) ... 4748s Selecting previously unselected package python3-parse. 4748s Preparing to unpack .../193-python3-parse_1.20.2-1_all.deb ... 4748s Unpacking python3-parse (1.20.2-1) ... 4748s Selecting previously unselected package python3-parse-type. 4748s Preparing to unpack .../194-python3-parse-type_0.6.4-1_all.deb ... 4748s Unpacking python3-parse-type (0.6.4-1) ... 4748s Selecting previously unselected package python3-behave. 4748s Preparing to unpack .../195-python3-behave_1.2.6-6_all.deb ... 4748s Unpacking python3-behave (1.2.6-6) ... 4748s Selecting previously unselected package python3-coverage. 4748s Preparing to unpack .../196-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 4748s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 4748s Selecting previously unselected package autopkgtest-satdep. 4748s Preparing to unpack .../197-4-autopkgtest-satdep.deb ... 4748s Unpacking autopkgtest-satdep (0) ... 4748s Setting up postgresql-client-common (262) ... 4748s Setting up libgraphite2-3:amd64 (1.3.14-2ubuntu1) ... 4748s Setting up libxcb-dri3-0:amd64 (1.17.0-2) ... 4748s Setting up liblcms2-2:amd64 (2.16-2) ... 4748s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 4748s Setting up libpixman-1-0:amd64 (0.44.0-3) ... 4748s Setting up libev4t64:amd64 (1:4.33-2.1build1) ... 4748s Setting up libjackson2-annotations-java (2.14.0-1) ... 4748s Setting up libsharpyuv0:amd64 (1.4.0-0.1) ... 4748s Setting up libwayland-server0:amd64 (1.23.0-1) ... 4748s Setting up libx11-xcb1:amd64 (2:1.8.10-2) ... 4748s Setting up libpciaccess0:amd64 (0.17-3build1) ... 4748s Setting up libslf4j-java (1.7.32-1) ... 4748s Setting up fonts-lato (2.015-1) ... 4748s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 4748s Setting up libxdamage1:amd64 (1:1.1.6-1build1) ... 4748s Setting up libxcb-xfixes0:amd64 (1.17.0-2) ... 4748s Setting up liblerc4:amd64 (4.0.0+ds-4ubuntu2) ... 4748s Setting up libjsr305-java (0.1~+svn49-11) ... 4748s Setting up hicolor-icon-theme (0.18-1) ... 4748s Setting up libxi6:amd64 (2:1.8.2-1) ... 4748s Setting up java-common (0.76) ... 4748s Setting up libxrender1:amd64 (1:0.9.10-1.1build1) ... 4748s Setting up libdatrie1:amd64 (0.2.13-3build1) ... 4748s Setting up libcommons-cli-java (1.6.0-1) ... 4748s Setting up libio-pty-perl (1:1.20-1build3) ... 4748s Setting up python3-colorama (0.4.6-4) ... 4748s Setting up libxcb-render0:amd64 (1.17.0-2) ... 4748s Setting up python3-zope.event (5.0-0.1) ... 4748s Setting up python3-zope.interface (7.1.1-1) ... 4748s Setting up libdrm-radeon1:amd64 (2.4.123-1) ... 4748s Setting up libglvnd0:amd64 (1.7.0-1build1) ... 4748s Setting up libxcb-glx0:amd64 (1.17.0-2) ... 4748s Setting up libdrm-intel1:amd64 (2.4.123-1) ... 4748s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 4748s Setting up python3-ydiff (1.3-1) ... 4748s Setting up libasm-java (9.7.1-1) ... 4748s Setting up x11-common (1:7.7+23ubuntu3) ... 4749s Setting up libpq5:amd64 (17.0-1) ... 4749s Setting up libdeflate0:amd64 (1.22-1) ... 4749s Setting up python3-kerberos (1.1.14-3.1build9) ... 4749s Setting up liblog4j1.2-java (1.2.17-11) ... 4749s Setting up libel-api-java (3.0.0-3) ... 4749s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 4749s Setting up libxcb-shm0:amd64 (1.17.0-2) ... 4749s Setting up python3-click (8.1.7-2) ... 4749s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 4749s Setting up libjbig0:amd64 (2.1-6.1ubuntu2) ... 4749s Setting up libcolord2:amd64 (1.4.7-1build2) ... 4749s Setting up python3-psutil (5.9.8-2build2) ... 4749s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 4749s Setting up libxxf86vm1:amd64 (1:1.1.4-1build4) ... 4749s Setting up libsnappy1v5:amd64 (1.2.1-1) ... 4749s Setting up libxcb-present0:amd64 (1.17.0-2) ... 4749s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 4749s Setting up libdconf1:amd64 (0.40.0-4build2) ... 4749s Setting up libjctools-java (2.0.2-1) ... 4749s Setting up libdropwizard-metrics-java (3.2.6-1) ... 4749s Setting up python3-six (1.16.0-7) ... 4749s Setting up libasound2-data (1.2.12-1) ... 4749s Setting up libasound2t64:amd64 (1.2.12-1) ... 4749s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 4750s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 4750s Setting up libepoxy0:amd64 (1.5.10-2) ... 4750s Setting up ssl-cert (1.1.2ubuntu2) ... 4750s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 4750s Setting up libxfixes3:amd64 (1:6.0.0-2build1) ... 4750s Setting up libxcb-sync1:amd64 (1.17.0-2) ... 4750s Setting up libapache-pom-java (33-2) ... 4750s Setting up libavahi-common-data:amd64 (0.8-13ubuntu6) ... 4750s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 4750s Setting up libatspi2.0-0t64:amd64 (2.54.0-1) ... 4750s Setting up libwebsocket-api-java (1.1-2) ... 4750s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 4750s Setting up libxinerama1:amd64 (2:1.1.4-3build1) ... 4750s Setting up fonts-dejavu-mono (2.37-8) ... 4750s Setting up libcares2:amd64 (1.34.2-1) ... 4750s Setting up libxrandr2:amd64 (2:1.5.4-1) ... 4750s Setting up python3-psycopg2 (2.9.9-2) ... 4750s Setting up fonts-dejavu-core (2.37-8) ... 4750s Setting up libipc-run-perl (20231003.0-2) ... 4750s Setting up libpcsclite1:amd64 (2.3.0-1) ... 4750s Setting up libjpeg-turbo8:amd64 (2.1.5-2ubuntu2) ... 4750s Setting up libactivation-java (1.2.0-2) ... 4750s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 4750s Setting up libhamcrest-java (2.2-2) ... 4750s Setting up libglapi-mesa:amd64 (24.2.3-1ubuntu1) ... 4750s Setting up libjsp-api-java (2.3.4-3) ... 4750s Setting up libvulkan1:amd64 (1.3.296.0-1) ... 4750s Setting up libtime-duration-perl (1.21-2) ... 4750s Setting up libwebp7:amd64 (1.4.0-0.1) ... 4750s Setting up libtimedate-perl (2.3300-2) ... 4750s Setting up libxcb-dri2-0:amd64 (1.17.0-2) ... 4750s Setting up libgif7:amd64 (5.2.2-1ubuntu1) ... 4750s Setting up libxshmfence1:amd64 (1.3-1build5) ... 4750s Setting up libmail-java (1.6.5-3) ... 4750s Setting up at-spi2-common (2.54.0-1) ... 4750s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 4751s Setting up libnetty-java (1:4.1.48-10) ... 4751s Setting up libxcb-randr0:amd64 (1.17.0-2) ... 4751s Setting up python3-parse (1.20.2-1) ... 4751s Setting up libapr1t64:amd64 (1.7.2-3.2ubuntu1) ... 4751s Setting up libjson-perl (4.10000-1) ... 4751s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 4751s Setting up libservlet-api-java (4.0.1-2) ... 4751s Setting up libjackson2-core-java (2.14.1-1) ... 4751s Setting up libharfbuzz0b:amd64 (10.0.1-1) ... 4751s Setting up libthai-data (0.1.29-2build1) ... 4751s Setting up python3-dateutil (2.9.0-2) ... 4751s Setting up libjffi-jni:amd64 (1.3.13+ds-1) ... 4751s Setting up libwayland-egl1:amd64 (1.23.0-1) ... 4751s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4751s Setting up ca-certificates-java (20240118) ... 4751s No JRE found. Skipping Java certificates setup. 4751s Setting up python3-prettytable (3.10.1-1) ... 4751s Setting up libsnappy-jni (1.1.10.5-2) ... 4751s Setting up libxcomposite1:amd64 (1:0.4.6-1) ... 4751s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4751s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 4751s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4751s Setting up libdrm-amdgpu1:amd64 (2.4.123-1) ... 4751s Setting up libjnr-constants-java (0.10.4-2) ... 4751s Setting up libwayland-client0:amd64 (1.23.0-1) ... 4751s Setting up libjpeg8:amd64 (8c-2ubuntu11) ... 4751s Setting up libjaxb-api-java (2.3.1-1) ... 4751s Setting up libjffi-java (1.3.13+ds-1) ... 4751s Setting up mesa-libgallium:amd64 (24.2.3-1ubuntu1) ... 4751s Setting up libjetty9-java (9.4.56-1) ... 4751s Setting up moreutils (0.69-1) ... 4751s Setting up libatk1.0-0t64:amd64 (2.54.0-1) ... 4751s Setting up openjdk-21-jre-headless:amd64 (21.0.5+11-1) ... 4751s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode 4751s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 4751s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 4751s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 4751s update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 4751s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 4751s Setting up libgbm1:amd64 (24.2.3-1ubuntu1) ... 4751s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 4751s Setting up libxtst6:amd64 (2:1.2.3-1.1build1) ... 4751s Setting up libxcursor1:amd64 (1:1.2.2-1) ... 4751s Setting up postgresql-client-16 (16.4-3) ... 4752s 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 4752s Setting up python3-cdiff (1.3-1) ... 4752s Setting up libgl1-mesa-dri:amd64 (24.2.3-1ubuntu1) ... 4752s Setting up libcommons-parent-java (56-1) ... 4752s Setting up libavahi-common3:amd64 (0.8-13ubuntu6) ... 4752s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 4752s Setting up dconf-service (0.40.0-4build2) ... 4752s Setting up python3-gevent (24.2.1-1) ... 4752s Setting up libjackson2-databind-java (2.14.0-1) ... 4752s Setting up libthai0:amd64 (0.1.29-2build1) ... 4752s Setting up python3-parse-type (0.6.4-1) ... 4752s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 4752s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 4752s Setting up python3-kazoo (2.9.0-2) ... 4752s Setting up postgresql-common (262) ... 4753s 4753s Creating config file /etc/postgresql-common/createcluster.conf with new version 4753s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 4753s Removing obsolete dictionary files: 4753s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 4754s Setting up libjs-sphinxdoc (7.4.7-4) ... 4754s Setting up libtiff6:amd64 (4.5.1+git230720-4ubuntu4) ... 4754s Setting up libwayland-cursor0:amd64 (1.23.0-1) ... 4754s Setting up libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-1) ... 4754s Setting up python3-behave (1.2.6-6) ... 4754s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 4754s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 4754s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 4754s """Registers a custom type that will be available to "parse" 4754s Setting up libsnappy-java (1.1.10.5-2) ... 4754s Setting up libfontconfig1:amd64 (2.15.0-1.1ubuntu2) ... 4754s Setting up patroni (3.3.1-1) ... 4754s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 4754s Setting up libavahi-client3:amd64 (0.8-13ubuntu6) ... 4754s Setting up libjnr-ffi-java (2.2.15-2) ... 4754s Setting up libatk-bridge2.0-0t64:amd64 (2.54.0-1) ... 4754s Setting up gtk-update-icon-cache (4.16.5+ds-1) ... 4754s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 4756s Regenerating fonts cache... done. 4756s Setting up libglx-mesa0:amd64 (24.2.3-1ubuntu1) ... 4756s Setting up postgresql-16 (16.4-3) ... 4757s Creating new PostgreSQL cluster 16/main ... 4757s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 4757s The files belonging to this database system will be owned by user "postgres". 4757s This user must also own the server process. 4757s 4757s The database cluster will be initialized with locale "C.UTF-8". 4757s The default database encoding has accordingly been set to "UTF8". 4757s The default text search configuration will be set to "english". 4757s 4757s Data page checksums are disabled. 4757s 4757s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 4757s creating subdirectories ... ok 4757s selecting dynamic shared memory implementation ... posix 4757s selecting default max_connections ... 100 4757s selecting default shared_buffers ... 128MB 4757s selecting default time zone ... Etc/UTC 4757s creating configuration files ... ok 4757s running bootstrap script ... ok 4757s performing post-bootstrap initialization ... ok 4757s syncing data to disk ... ok 4760s Setting up libglx0:amd64 (1.7.0-1build1) ... 4760s Setting up libspring-core-java (4.3.30-2) ... 4760s Setting up dconf-gsettings-backend:amd64 (0.40.0-4build2) ... 4760s Setting up libcommons-io-java (2.17.0-1) ... 4760s Setting up patroni-doc (3.3.1-1) ... 4760s Setting up libpango-1.0-0:amd64 (1.54.0+ds-3) ... 4760s Setting up libcairo2:amd64 (1.18.2-2) ... 4760s Setting up libjnr-enxio-java (0.32.16-1) ... 4760s Setting up libgl1:amd64 (1.7.0-1build1) ... 4760s Setting up libcairo-gobject2:amd64 (1.18.2-2) ... 4760s Setting up postgresql (16+262) ... 4760s Setting up libpangoft2-1.0-0:amd64 (1.54.0+ds-3) ... 4760s Setting up libcups2t64:amd64 (2.4.10-1ubuntu2) ... 4760s Setting up libgtk-3-common (3.24.43-3ubuntu2) ... 4760s Setting up libjnr-posix-java (3.1.18-1) ... 4760s Setting up libpangocairo-1.0-0:amd64 (1.54.0+ds-3) ... 4760s Setting up libspring-beans-java (4.3.30-2) ... 4760s Setting up libjnr-unixsocket-java (0.38.21-2) ... 4760s Setting up libjetty9-extra-java (9.4.56-1) ... 4760s Setting up libguava-java (32.0.1-1) ... 4760s Setting up adwaita-icon-theme (47.0-2) ... 4760s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 4760s Setting up liberror-prone-java (2.18.0-1) ... 4760s Setting up humanity-icon-theme (0.6.16) ... 4760s Setting up ubuntu-mono (24.04-0ubuntu1) ... 4760s Processing triggers for man-db (2.12.1-3) ... 4761s Processing triggers for libglib2.0-0t64:amd64 (2.82.1-0ubuntu1) ... 4761s Setting up libgtk-3-0t64:amd64 (3.24.43-3ubuntu2) ... 4761s Processing triggers for libc-bin (2.40-1ubuntu3) ... 4761s Processing triggers for ca-certificates-java (20240118) ... 4762s Adding debian:ACCVRAIZ1.pem 4762s Adding debian:AC_RAIZ_FNMT-RCM.pem 4762s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 4762s Adding debian:ANF_Secure_Server_Root_CA.pem 4762s Adding debian:Actalis_Authentication_Root_CA.pem 4762s Adding debian:AffirmTrust_Commercial.pem 4762s Adding debian:AffirmTrust_Networking.pem 4762s Adding debian:AffirmTrust_Premium.pem 4762s Adding debian:AffirmTrust_Premium_ECC.pem 4762s Adding debian:Amazon_Root_CA_1.pem 4762s Adding debian:Amazon_Root_CA_2.pem 4762s Adding debian:Amazon_Root_CA_3.pem 4762s Adding debian:Amazon_Root_CA_4.pem 4762s Adding debian:Atos_TrustedRoot_2011.pem 4762s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 4762s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 4762s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 4762s Adding debian:BJCA_Global_Root_CA1.pem 4762s Adding debian:BJCA_Global_Root_CA2.pem 4762s Adding debian:Baltimore_CyberTrust_Root.pem 4762s Adding debian:Buypass_Class_2_Root_CA.pem 4762s Adding debian:Buypass_Class_3_Root_CA.pem 4762s Adding debian:CA_Disig_Root_R2.pem 4762s Adding debian:CFCA_EV_ROOT.pem 4762s Adding debian:COMODO_Certification_Authority.pem 4762s Adding debian:COMODO_ECC_Certification_Authority.pem 4762s Adding debian:COMODO_RSA_Certification_Authority.pem 4762s Adding debian:Certainly_Root_E1.pem 4762s Adding debian:Certainly_Root_R1.pem 4762s Adding debian:Certigna.pem 4762s Adding debian:Certigna_Root_CA.pem 4762s Adding debian:Certum_EC-384_CA.pem 4762s Adding debian:Certum_Trusted_Network_CA.pem 4762s Adding debian:Certum_Trusted_Network_CA_2.pem 4762s Adding debian:Certum_Trusted_Root_CA.pem 4762s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 4762s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 4762s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 4762s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 4762s Adding debian:Comodo_AAA_Services_root.pem 4762s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 4762s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 4762s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 4762s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 4762s Adding debian:DigiCert_Assured_ID_Root_CA.pem 4762s Adding debian:DigiCert_Assured_ID_Root_G2.pem 4762s Adding debian:DigiCert_Assured_ID_Root_G3.pem 4762s Adding debian:DigiCert_Global_Root_CA.pem 4762s Adding debian:DigiCert_Global_Root_G2.pem 4762s Adding debian:DigiCert_Global_Root_G3.pem 4762s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 4762s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 4762s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 4762s Adding debian:DigiCert_Trusted_Root_G4.pem 4762s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 4762s Adding debian:Entrust_Root_Certification_Authority.pem 4762s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 4762s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 4762s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 4762s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 4762s Adding debian:GLOBALTRUST_2020.pem 4762s Adding debian:GTS_Root_R1.pem 4762s Adding debian:GTS_Root_R2.pem 4762s Adding debian:GTS_Root_R3.pem 4762s Adding debian:GTS_Root_R4.pem 4762s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 4762s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 4762s Adding debian:GlobalSign_Root_CA.pem 4762s Adding debian:GlobalSign_Root_CA_-_R3.pem 4762s Adding debian:GlobalSign_Root_CA_-_R6.pem 4762s Adding debian:GlobalSign_Root_E46.pem 4762s Adding debian:GlobalSign_Root_R46.pem 4762s Adding debian:Go_Daddy_Class_2_CA.pem 4762s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 4762s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 4762s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 4762s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 4762s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 4762s Adding debian:HiPKI_Root_CA_-_G1.pem 4762s Adding debian:Hongkong_Post_Root_CA_3.pem 4762s Adding debian:ISRG_Root_X1.pem 4762s Adding debian:ISRG_Root_X2.pem 4762s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 4762s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 4762s Adding debian:Izenpe.com.pem 4762s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 4762s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 4762s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 4762s Adding debian:NAVER_Global_Root_Certification_Authority.pem 4762s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 4762s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 4762s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 4762s Adding debian:QuoVadis_Root_CA_1_G3.pem 4762s Adding debian:QuoVadis_Root_CA_2.pem 4762s Adding debian:QuoVadis_Root_CA_2_G3.pem 4762s Adding debian:QuoVadis_Root_CA_3.pem 4762s Adding debian:QuoVadis_Root_CA_3_G3.pem 4762s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 4762s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 4762s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 4762s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 4762s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 4762s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 4762s Adding debian:SZAFIR_ROOT_CA2.pem 4762s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 4762s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 4762s Adding debian:SecureSign_RootCA11.pem 4762s Adding debian:SecureTrust_CA.pem 4762s Adding debian:Secure_Global_CA.pem 4762s Adding debian:Security_Communication_ECC_RootCA1.pem 4762s Adding debian:Security_Communication_RootCA2.pem 4762s Adding debian:Security_Communication_RootCA3.pem 4762s Adding debian:Security_Communication_Root_CA.pem 4762s Adding debian:Starfield_Class_2_CA.pem 4762s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 4762s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 4762s Adding debian:SwissSign_Gold_CA_-_G2.pem 4762s Adding debian:SwissSign_Silver_CA_-_G2.pem 4762s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 4762s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 4762s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 4762s Adding debian:TWCA_Global_Root_CA.pem 4762s Adding debian:TWCA_Root_Certification_Authority.pem 4762s Adding debian:TeliaSonera_Root_CA_v1.pem 4762s Adding debian:Telia_Root_CA_v2.pem 4762s Adding debian:TrustAsia_Global_Root_CA_G3.pem 4762s Adding debian:TrustAsia_Global_Root_CA_G4.pem 4762s Adding debian:Trustwave_Global_Certification_Authority.pem 4762s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 4762s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 4762s Adding debian:TunTrust_Root_CA.pem 4762s Adding debian:UCA_Extended_Validation_Root.pem 4762s Adding debian:UCA_Global_G2_Root.pem 4762s Adding debian:USERTrust_ECC_Certification_Authority.pem 4762s Adding debian:USERTrust_RSA_Certification_Authority.pem 4762s Adding debian:XRamp_Global_CA_Root.pem 4762s Adding debian:certSIGN_ROOT_CA.pem 4762s Adding debian:certSIGN_Root_CA_G2.pem 4762s Adding debian:e-Szigno_Root_CA_2017.pem 4762s Adding debian:ePKI_Root_Certification_Authority.pem 4762s Adding debian:emSign_ECC_Root_CA_-_C3.pem 4762s Adding debian:emSign_ECC_Root_CA_-_G3.pem 4762s Adding debian:emSign_Root_CA_-_C1.pem 4762s Adding debian:emSign_Root_CA_-_G1.pem 4762s Adding debian:vTrus_ECC_Root_CA.pem 4762s Adding debian:vTrus_Root_CA.pem 4762s done. 4762s Setting up openjdk-21-jre:amd64 (21.0.5+11-1) ... 4762s Setting up junit4 (4.13.2-5) ... 4762s Setting up default-jre-headless (2:1.21-76) ... 4762s Setting up default-jre (2:1.21-76) ... 4762s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 4762s Setting up libzookeeper-java (3.9.2-2) ... 4762s Setting up zookeeper (3.9.2-2) ... 4762s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 4762s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 4762s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 4762s Setting up zookeeperd (3.9.2-2) ... 4763s Setting up autopkgtest-satdep (0) ... 4768s (Reading database ... 95711 files and directories currently installed.) 4768s Removing autopkgtest-satdep (0) ... 4771s autopkgtest [11:46:35]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 4771s autopkgtest [11:46:35]: test acceptance-zookeeper: [----------------------- 4776s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 4776s ++ ls -1r /usr/lib/postgresql/ 4776s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 4776s + '[' 16 == 10 -o 16 == 11 ']' 4776s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 4776s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=zookeeper PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave -e dcs_failsafe_mode | ts' 4776s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 4777s Nov 13 11:46:41 Feature: basic replication # features/basic_replication.feature:1 4777s Nov 13 11:46:41 We should check that the basic bootstrapping, replication and failover works. 4777s Nov 13 11:46:41 Scenario: check replication of a single table # features/basic_replication.feature:4 4777s Nov 13 11:46:41 Given I start postgres0 # features/steps/basic_replication.py:8 4780s Nov 13 11:46:44 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4781s Nov 13 11:46:45 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 4781s Nov 13 11:46:45 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 4781s Nov 13 11:46:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 4781s Nov 13 11:46:45 When I start postgres1 # features/steps/basic_replication.py:8 4783s Nov 13 11:46:47 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 4786s Nov 13 11:46:50 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 4786s Nov 13 11:46:50 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 4786s Nov 13 11:46:50 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 4787s Nov 13 11:46:51 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 4791s Nov 13 11:46:55 4791s Nov 13 11:46:55 Scenario: check restart of sync replica # features/basic_replication.feature:17 4791s Nov 13 11:46:55 Given I shut down postgres2 # features/steps/basic_replication.py:29 4792s Nov 13 11:46:56 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 4792s Nov 13 11:46:56 When I start postgres2 # features/steps/basic_replication.py:8 4794s Nov 13 11:46:58 And I shut down postgres1 # features/steps/basic_replication.py:29 4797s Nov 13 11:47:01 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 4798s Nov 13 11:47:02 When I start postgres1 # features/steps/basic_replication.py:8 4800s Nov 13 11:47:04 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4801s Nov 13 11:47:05 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4801s Nov 13 11:47:05 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 4801s Nov 13 11:47:05 4801s Nov 13 11:47:05 Scenario: check stuck sync replica # features/basic_replication.feature:28 4801s Nov 13 11:47:05 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 4801s Nov 13 11:47:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 4801s Nov 13 11:47:05 And I create table on postgres0 # features/steps/basic_replication.py:73 4801s Nov 13 11:47:05 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 4802s Nov 13 11:47:06 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 4802s Nov 13 11:47:06 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 4802s Nov 13 11:47:06 And I load data on postgres0 # features/steps/basic_replication.py:84 4802s Nov 13 11:47:06 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 4805s Nov 13 11:47:09 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 4806s Nov 13 11:47:09 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4807s Nov 13 11:47:11 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 4807s Nov 13 11:47:11 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 4807s Nov 13 11:47:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 4807s Nov 13 11:47:11 And I drop table on postgres0 # features/steps/basic_replication.py:73 4807s Nov 13 11:47:11 4807s Nov 13 11:47:11 Scenario: check multi sync replication # features/basic_replication.feature:44 4807s Nov 13 11:47:11 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 4807s Nov 13 11:47:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 4807s Nov 13 11:47:11 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 4811s Nov 13 11:47:15 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4811s Nov 13 11:47:15 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4811s Nov 13 11:47:15 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 4811s Nov 13 11:47:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 4811s Nov 13 11:47:15 And I shut down postgres1 # features/steps/basic_replication.py:29 4814s Nov 13 11:47:18 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 4815s Nov 13 11:47:19 When I start postgres1 # features/steps/basic_replication.py:8 4817s Nov 13 11:47:21 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4818s Nov 13 11:47:22 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 4818s Nov 13 11:47:22 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 4818s Nov 13 11:47:22 4818s Nov 13 11:47:22 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 4818s Nov 13 11:47:22 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 4819s Nov 13 11:47:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4819s Nov 13 11:47:23 When I sleep for 2 seconds # features/steps/patroni_api.py:39 4821s Nov 13 11:47:25 And I shut down postgres0 # features/steps/basic_replication.py:29 4822s Nov 13 11:47:26 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 4823s Nov 13 11:47:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4823s Nov 13 11:47:27 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 4843s Nov 13 11:47:47 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 4845s Nov 13 11:47:49 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 4845s Nov 13 11:47:49 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 4845s Nov 13 11:47:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 4845s Nov 13 11:47:49 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 4845s Nov 13 11:47:49 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 4848s Nov 13 11:47:52 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 4848s Nov 13 11:47:52 4848s Nov 13 11:47:52 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 4848s Nov 13 11:47:52 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 4848s Nov 13 11:47:52 And I start postgres0 # features/steps/basic_replication.py:8 4848s Nov 13 11:47:52 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 4851s Nov 13 11:47:55 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 4851s Nov 13 11:47:55 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 4854s Nov 13 11:47:58 4854s Nov 13 11:47:58 @reject-duplicate-name 4854s Nov 13 11:47:58 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 4854s Nov 13 11:47:58 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 4856s Nov 13 11:48:00 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 4861s Nov 13 11:48:05 4861s Nov 13 11:48:05 Feature: cascading replication # features/cascading_replication.feature:1 4861s Nov 13 11:48:05 We should check that patroni can do base backup and streaming from the replica 4861s Nov 13 11:48:05 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 4861s Nov 13 11:48:05 Given I start postgres0 # features/steps/basic_replication.py:8 4863s Nov 13 11:48:07 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4865s Nov 13 11:48:09 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 4868s Nov 13 11:48:12 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 4873s Nov 13 11:48:17 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 4873s Nov 13 11:48:17 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 4873s Nov 13 11:48:17 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 4873s Nov 13 11:48:17 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 4876s Nov 13 11:48:20 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 4881s Nov 13 11:48:25 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 4886s Nov 13 11:48:30 4886s SKIP FEATURE citus: Citus extenstion isn't available 4886s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 4886s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 4886s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 4886s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 4886s 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 4886s Nov 13 11:48:30 Feature: citus # features/citus.feature:1 4886s Nov 13 11:48:30 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 4886s Nov 13 11:48:30 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 4886s Nov 13 11:48:30 Given I start postgres0 in citus group 0 # None 4886s Nov 13 11:48:30 And I start postgres2 in citus group 1 # None 4886s Nov 13 11:48:30 Then postgres0 is a leader in a group 0 after 10 seconds # None 4886s Nov 13 11:48:30 And postgres2 is a leader in a group 1 after 10 seconds # None 4886s Nov 13 11:48:30 When I start postgres1 in citus group 0 # None 4886s Nov 13 11:48:30 And I start postgres3 in citus group 1 # None 4886s Nov 13 11:48:30 Then replication works from postgres0 to postgres1 after 15 seconds # None 4886s Nov 13 11:48:30 Then replication works from postgres2 to postgres3 after 15 seconds # None 4886s Nov 13 11:48:30 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 4886s Nov 13 11:48:30 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 4886s Nov 13 11:48:30 4886s Nov 13 11:48:30 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 4886s Nov 13 11:48:30 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 4886s Nov 13 11:48:30 Then postgres1 role is the primary after 10 seconds # None 4886s Nov 13 11:48:30 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 4886s Nov 13 11:48:30 And replication works from postgres1 to postgres0 after 15 seconds # None 4886s Nov 13 11:48:30 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 4886s Nov 13 11:48:30 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 4886s Nov 13 11:48:30 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 4886s Nov 13 11:48:30 Then postgres0 role is the primary after 10 seconds # None 4886s Nov 13 11:48:30 And replication works from postgres0 to postgres1 after 15 seconds # None 4886s Nov 13 11:48:30 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 4886s Nov 13 11:48:30 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 4886s Nov 13 11:48:30 4886s Nov 13 11:48:30 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 4886s Nov 13 11:48:30 Given I create a distributed table on postgres0 # None 4886s Nov 13 11:48:30 And I start a thread inserting data on postgres0 # None 4886s Nov 13 11:48:30 When I run patronictl.py switchover batman --group 1 --force # None 4886s Nov 13 11:48:30 Then I receive a response returncode 0 # None 4886s Nov 13 11:48:30 And postgres3 role is the primary after 10 seconds # None 4886s Nov 13 11:48:30 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 4886s Nov 13 11:48:30 And replication works from postgres3 to postgres2 after 15 seconds # None 4886s Nov 13 11:48:30 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 4886s Nov 13 11:48:30 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 4886s Nov 13 11:48:30 And a thread is still alive # None 4886s Nov 13 11:48:30 When I run patronictl.py switchover batman --group 1 --force # None 4886s Nov 13 11:48:30 Then I receive a response returncode 0 # None 4886s Nov 13 11:48:30 And postgres2 role is the primary after 10 seconds # None 4886s Nov 13 11:48:30 And replication works from postgres2 to postgres3 after 15 seconds # None 4886s Nov 13 11:48:30 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 4886s Nov 13 11:48:30 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 4886s Nov 13 11:48:30 And a thread is still alive # None 4886s Nov 13 11:48:30 When I stop a thread # None 4886s Nov 13 11:48:30 Then a distributed table on postgres0 has expected rows # None 4886s Nov 13 11:48:30 4886s Nov 13 11:48:30 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 4886s Nov 13 11:48:30 Given I cleanup a distributed table on postgres0 # None 4886s Nov 13 11:48:30 And I start a thread inserting data on postgres0 # None 4886s Nov 13 11:48:30 When I run patronictl.py restart batman postgres2 --group 1 --force # None 4886s Nov 13 11:48:30 Then I receive a response returncode 0 # None 4886s Nov 13 11:48:30 And postgres2 role is the primary after 10 seconds # None 4886s Nov 13 11:48:30 And replication works from postgres2 to postgres3 after 15 seconds # None 4886s Nov 13 11:48:30 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 4886s Nov 13 11:48:30 And a thread is still alive # None 4886s Nov 13 11:48:30 When I stop a thread # None 4886s Nov 13 11:48:30 Then a distributed table on postgres0 has expected rows # None 4886s Nov 13 11:48:30 4886s Nov 13 11:48:30 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 4886s Nov 13 11:48:30 Given I start postgres4 in citus group 2 # None 4886s Nov 13 11:48:30 Then postgres4 is a leader in a group 2 after 10 seconds # None 4886s Nov 13 11:48:30 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 4886s Nov 13 11:48:30 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 4886s Nov 13 11:48:30 Then I receive a response returncode 0 # None 4886s Nov 13 11:48:30 And I receive a response output "+ttl: 20" # None 4886s Nov 13 11:48:30 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 4886s Nov 13 11:48:30 When I shut down postgres4 # None 4886s Nov 13 11:48:30 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 4886s Nov 13 11:48:30 When I run patronictl.py restart batman postgres2 --group 1 --force # None 4886s Nov 13 11:48:30 Then a transaction finishes in 20 seconds # None 4886s Nov 13 11:48:30 4886s Nov 13 11:48:30 Feature: custom bootstrap # features/custom_bootstrap.feature:1 4886s Nov 13 11:48:30 We should check that patroni can bootstrap a new cluster from a backup 4886s Nov 13 11:48:30 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 4886s Nov 13 11:48:30 Given I start postgres0 # features/steps/basic_replication.py:8 4889s Nov 13 11:48:33 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4890s Nov 13 11:48:34 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 4890s Nov 13 11:48:34 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 4893s Nov 13 11:48:37 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 4894s Nov 13 11:48:38 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 4894s Nov 13 11:48:38 4894s Nov 13 11:48:38 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 4894s Nov 13 11:48:38 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 4894s Nov 13 11:48:38 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 4894s Nov 13 11:48:38 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 4897s Nov 13 11:48:41 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 4897s Nov 13 11:48:41 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 4904s Nov 13 11:48:48 4904s Nov 13 11:48:48 Feature: ignored slots # features/ignored_slots.feature:1 4904s Nov 13 11:48:48 4904s Nov 13 11:48:48 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 4904s Nov 13 11:48:48 Given I start postgres1 # features/steps/basic_replication.py:8 4906s Nov 13 11:48:50 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 4907s Nov 13 11:48:51 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 4907s Nov 13 11:48:51 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 4907s Nov 13 11:48:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 4907s Nov 13 11:48:51 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 4907s Nov 13 11:48:51 When I shut down postgres1 # features/steps/basic_replication.py:29 4909s Nov 13 11:48:53 And I start postgres1 # features/steps/basic_replication.py:8 4911s Nov 13 11:48:55 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 4912s Nov 13 11:48:56 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 4913s Nov 13 11:48:57 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 4913s Nov 13 11:48:57 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4913s Nov 13 11:48:57 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4913s Nov 13 11:48:57 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4913s Nov 13 11:48:57 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4913s Nov 13 11:48:57 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 4913s Nov 13 11:48:57 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4913s Nov 13 11:48:57 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4913s Nov 13 11:48:57 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4913s Nov 13 11:48:57 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4913s Nov 13 11:48:57 When I start postgres0 # features/steps/basic_replication.py:8 4916s Nov 13 11:49:00 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 4916s Nov 13 11:49:00 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 4916s Nov 13 11:49:00 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 4917s Nov 13 11:49:01 When I shut down postgres1 # features/steps/basic_replication.py:29 4919s Nov 13 11:49:03 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 4920s Nov 13 11:49:04 When I start postgres1 # features/steps/basic_replication.py:8 4922s Nov 13 11:49:06 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 4922s Nov 13 11:49:06 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 4923s Nov 13 11:49:07 And I sleep for 2 seconds # features/steps/patroni_api.py:39 4925s Nov 13 11:49:09 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4925s Nov 13 11:49:09 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4925s Nov 13 11:49:09 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4925s Nov 13 11:49:09 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4925s Nov 13 11:49:09 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 4925s Nov 13 11:49:09 When I shut down postgres0 # features/steps/basic_replication.py:29 4927s Nov 13 11:49:11 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 4928s Nov 13 11:49:12 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4928s Nov 13 11:49:12 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4928s Nov 13 11:49:12 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4928s Nov 13 11:49:12 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 4930s Nov 13 11:49:14 4930s Nov 13 11:49:14 Feature: nostream node # features/nostream_node.feature:1 4930s Nov 13 11:49:14 4930s Nov 13 11:49:14 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 4930s Nov 13 11:49:14 When I start postgres0 # features/steps/basic_replication.py:8 4932s Nov 13 11:49:16 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 4936s Nov 13 11:49:20 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 4937s Nov 13 11:49:21 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 4942s Nov 13 11:49:26 4942s Nov 13 11:49:26 @slot-advance 4942s Nov 13 11:49:26 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 4942s Nov 13 11:49:26 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 4942s Nov 13 11:49:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 4942s Nov 13 11:49:26 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 4944s Nov 13 11:49:28 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 4945s Nov 13 11:49:29 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 4947s Nov 13 11:49:31 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 4954s Nov 13 11:49:38 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 4954s Nov 13 11:49:38 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 4960s Nov 13 11:49:44 4960s Nov 13 11:49:44 Feature: patroni api # features/patroni_api.feature:1 4960s Nov 13 11:49:44 We should check that patroni correctly responds to valid and not-valid API requests. 4960s Nov 13 11:49:44 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 4960s Nov 13 11:49:44 Given I start postgres0 # features/steps/basic_replication.py:8 4962s Nov 13 11:49:46 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4962s Nov 13 11:49:46 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 4962s Nov 13 11:49:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 4962s Nov 13 11:49:46 And I receive a response state running # features/steps/patroni_api.py:98 4962s Nov 13 11:49:46 And I receive a response role master # features/steps/patroni_api.py:98 4962s Nov 13 11:49:46 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 4962s Nov 13 11:49:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 4962s Nov 13 11:49:46 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 4962s Nov 13 11:49:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 4962s Nov 13 11:49:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 4962s Nov 13 11:49:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 4962s Nov 13 11:49:46 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 4962s Nov 13 11:49:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 4962s Nov 13 11:49:46 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 4962s Nov 13 11:49:46 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 4963s Nov 13 11:49:47 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 4963s Nov 13 11:49:47 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 4963s Nov 13 11:49:47 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 4963s Nov 13 11:49:47 Then I receive a response code 412 # features/steps/patroni_api.py:98 4963s Nov 13 11:49:47 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 4963s Nov 13 11:49:47 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 4963s Nov 13 11:49:47 Then I receive a response code 400 # features/steps/patroni_api.py:98 4963s Nov 13 11:49:47 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 4963s Nov 13 11:49:47 Then I receive a response code 400 # features/steps/patroni_api.py:98 4963s Nov 13 11:49:47 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 4963s Nov 13 11:49:47 4963s Nov 13 11:49:47 Scenario: check local configuration reload # features/patroni_api.feature:32 4963s Nov 13 11:49:47 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 4963s Nov 13 11:49:47 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 4963s Nov 13 11:49:47 Then I receive a response code 202 # features/steps/patroni_api.py:98 4963s Nov 13 11:49:47 4963s Nov 13 11:49:47 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 4963s Nov 13 11:49:47 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 4963s Nov 13 11:49:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 4963s Nov 13 11:49:47 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 4966s Nov 13 11:49:49 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 4966s Nov 13 11:49:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 4966s Nov 13 11:49:50 And I receive a response ttl 20 # features/steps/patroni_api.py:98 4966s Nov 13 11:49:50 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 4966s Nov 13 11:49:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 4966s Nov 13 11:49:50 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 4966s Nov 13 11:49:50 And I sleep for 4 seconds # features/steps/patroni_api.py:39 4970s Nov 13 11:49:54 4970s Nov 13 11:49:54 Scenario: check the scheduled restart # features/patroni_api.feature:49 4970s Nov 13 11:49:54 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 4971s Nov 13 11:49:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4971s Nov 13 11:49:55 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 4971s Nov 13 11:49:55 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 4971s Nov 13 11:49:55 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 4971s Nov 13 11:49:55 Then I receive a response code 202 # features/steps/patroni_api.py:98 4971s Nov 13 11:49:55 And I sleep for 8 seconds # features/steps/patroni_api.py:39 4979s Nov 13 11:50:03 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 4979s Nov 13 11:50:03 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 4979s Nov 13 11:50:03 Then I receive a response code 202 # features/steps/patroni_api.py:98 4979s Nov 13 11:50:03 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 4985s Nov 13 11:50:09 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 4986s Nov 13 11:50:10 4986s Nov 13 11:50:10 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 4986s Nov 13 11:50:10 Given I start postgres1 # features/steps/basic_replication.py:8 4988s Nov 13 11:50:12 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 4989s Nov 13 11:50:13 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 4990s Nov 13 11:50:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4990s Nov 13 11:50:14 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 4990s Nov 13 11:50:14 waiting for server to shut down.... done 4990s Nov 13 11:50:14 server stopped 4990s Nov 13 11:50:14 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4990s Nov 13 11:50:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 4990s Nov 13 11:50:14 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 4991s Nov 13 11:50:15 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 4994s Nov 13 11:50:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4994s Nov 13 11:50:18 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 4995s Nov 13 11:50:19 And I sleep for 2 seconds # features/steps/patroni_api.py:39 4997s Nov 13 11:50:21 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4997s Nov 13 11:50:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 4997s Nov 13 11:50:21 And I receive a response state running # features/steps/patroni_api.py:98 4997s Nov 13 11:50:21 And I receive a response role replica # features/steps/patroni_api.py:98 4997s Nov 13 11:50:21 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 5000s Nov 13 11:50:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5000s Nov 13 11:50:24 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 5000s Nov 13 11:50:24 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 5001s Nov 13 11:50:25 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 5002s Nov 13 11:50:26 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 5005s Nov 13 11:50:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5005s Nov 13 11:50:29 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 5005s Nov 13 11:50:29 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 5006s Nov 13 11:50:30 5006s Nov 13 11:50:30 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 5006s Nov 13 11:50:30 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 5008s Nov 13 11:50:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 5008s Nov 13 11:50:32 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 5008s Nov 13 11:50:32 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 5008s Nov 13 11:50:32 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 5013s Nov 13 11:50:37 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 5013s Nov 13 11:50:37 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 5014s Nov 13 11:50:38 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 5014s Nov 13 11:50:38 Then I receive a response code 503 # features/steps/patroni_api.py:98 5014s Nov 13 11:50:38 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 5014s Nov 13 11:50:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 5014s Nov 13 11:50:38 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 5014s Nov 13 11:50:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 5014s Nov 13 11:50:38 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 5014s Nov 13 11:50:38 Then I receive a response code 503 # features/steps/patroni_api.py:98 5014s Nov 13 11:50:38 5014s Nov 13 11:50:38 Scenario: check the scheduled switchover # features/patroni_api.feature:107 5014s Nov 13 11:50:38 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 5015s Nov 13 11:50:39 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 5015s Nov 13 11:50:39 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 5015s Nov 13 11:50:39 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 5016s Nov 13 11:50:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5016s Nov 13 11:50:40 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 5017s Nov 13 11:50:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5017s Nov 13 11:50:41 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 5028s Nov 13 11:50:52 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 5028s Nov 13 11:50:52 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 5030s Nov 13 11:50:54 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 5030s Nov 13 11:50:54 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 5032s Nov 13 11:50:56 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 5032s Nov 13 11:50:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 5032s Nov 13 11:50:56 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 5032s Nov 13 11:50:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 5032s Nov 13 11:50:56 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 5032s Nov 13 11:50:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 5032s Nov 13 11:50:56 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 5032s Nov 13 11:50:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 5036s Nov 13 11:51:00 5036s Nov 13 11:51:00 Feature: permanent slots # features/permanent_slots.feature:1 5036s Nov 13 11:51:00 5036s Nov 13 11:51:00 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 5036s Nov 13 11:51:00 Given I start postgres0 # features/steps/basic_replication.py:8 5038s Nov 13 11:51:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 5038s Nov 13 11:51:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 5038s Nov 13 11:51:02 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 5038s Nov 13 11:51:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 5038s Nov 13 11:51:02 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 5038s Nov 13 11:51:02 When I start postgres1 # features/steps/basic_replication.py:8 5041s Nov 13 11:51:04 And I start postgres2 # features/steps/basic_replication.py:8 5044s Nov 13 11:51:07 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 5047s Nov 13 11:51:10 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 5047s Nov 13 11:51:10 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 5047s Nov 13 11:51:10 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 5047s Nov 13 11:51:10 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 5047s Nov 13 11:51:11 5047s Nov 13 11:51:11 @slot-advance 5047s Nov 13 11:51:11 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 5047s Nov 13 11:51:11 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 5048s Nov 13 11:51:12 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 5048s Nov 13 11:51:12 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 5049s Nov 13 11:51:13 5049s Nov 13 11:51:13 @slot-advance 5049s Nov 13 11:51:13 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 5049s Nov 13 11:51:13 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 5056s Nov 13 11:51:20 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 5056s Nov 13 11:51:20 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 5057s Nov 13 11:51:21 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 5058s Nov 13 11:51:22 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 5058s Nov 13 11:51:22 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 5058s Nov 13 11:51:22 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 5058s Nov 13 11:51:22 5058s Nov 13 11:51:22 @slot-advance 5058s Nov 13 11:51:22 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 5058s Nov 13 11:51:22 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 5058s Nov 13 11:51:22 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 5058s Nov 13 11:51:22 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 5058s Nov 13 11:51:22 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 5058s Nov 13 11:51:22 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 5058s Nov 13 11:51:22 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 5058s Nov 13 11:51:22 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 5058s Nov 13 11:51:22 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 5058s Nov 13 11:51:22 5058s Nov 13 11:51:22 @slot-advance 5058s Nov 13 11:51:22 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 5058s Nov 13 11:51:22 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 5058s Nov 13 11:51:22 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 5058s Nov 13 11:51:22 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 5058s Nov 13 11:51:22 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 5062s Nov 13 11:51:26 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 5062s Nov 13 11:51:26 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 5062s Nov 13 11:51:26 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 5062s Nov 13 11:51:26 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 5062s Nov 13 11:51:26 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 5062s Nov 13 11:51:26 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 5063s Nov 13 11:51:26 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 5063s Nov 13 11:51:26 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 5063s Nov 13 11:51:26 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 5063s Nov 13 11:51:26 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 5063s Nov 13 11:51:26 5063s Nov 13 11:51:26 @slot-advance 5063s Nov 13 11:51:26 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 5063s Nov 13 11:51:26 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 5063s Nov 13 11:51:26 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 5063s Nov 13 11:51:26 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 5063s Nov 13 11:51:26 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 5063s Nov 13 11:51:26 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 5063s Nov 13 11:51:26 5063s Nov 13 11:51:26 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 5063s Nov 13 11:51:26 Given I shut down postgres3 # features/steps/basic_replication.py:29 5063s Nov 13 11:51:27 And I shut down postgres2 # features/steps/basic_replication.py:29 5064s Nov 13 11:51:28 And I shut down postgres0 # features/steps/basic_replication.py:29 5066s Nov 13 11:51:30 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 5066s Nov 13 11:51:30 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 5066s Nov 13 11:51:30 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 5069s Nov 13 11:51:33 5069s Nov 13 11:51:33 Feature: priority replication # features/priority_failover.feature:1 5069s Nov 13 11:51:33 We should check that we can give nodes priority during failover 5069s Nov 13 11:51:33 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 5069s Nov 13 11:51:33 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 5072s Nov 13 11:51:36 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 5074s Nov 13 11:51:38 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 5075s Nov 13 11:51:39 When I shut down postgres0 # features/steps/basic_replication.py:29 5077s Nov 13 11:51:41 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 5079s Nov 13 11:51:43 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 5079s Nov 13 11:51:43 When I start postgres0 # features/steps/basic_replication.py:8 5081s Nov 13 11:51:45 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 5082s Nov 13 11:51:46 5082s Nov 13 11:51:46 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 5082s Nov 13 11:51:46 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 5086s Nov 13 11:51:49 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 5087s Nov 13 11:51:51 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 5088s Nov 13 11:51:52 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 5089s Nov 13 11:51:53 When I shut down postgres0 # features/steps/basic_replication.py:29 5091s Nov 13 11:51:55 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 5091s Nov 13 11:51:55 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 5091s Nov 13 11:51:55 5091s Nov 13 11:51:55 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 5091s Nov 13 11:51:55 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 5091s Nov 13 11:51:55 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 5091s Nov 13 11:51:55 Then I receive a response code 202 # features/steps/patroni_api.py:98 5091s Nov 13 11:51:55 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 5093s Nov 13 11:51:57 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 5094s Nov 13 11:51:58 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 5094s Nov 13 11:51:58 Then I receive a response code 412 # features/steps/patroni_api.py:98 5094s Nov 13 11:51:58 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 5094s Nov 13 11:51:58 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 5094s Nov 13 11:51:58 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 5094s Nov 13 11:51:58 Then I receive a response code 202 # features/steps/patroni_api.py:98 5094s Nov 13 11:51:58 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 5095s Nov 13 11:51:59 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 5096s Nov 13 11:52:00 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 5099s Nov 13 11:52:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 5099s Nov 13 11:52:03 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 5104s Nov 13 11:52:08 5104s Nov 13 11:52:08 Feature: recovery # features/recovery.feature:1 5104s Nov 13 11:52:08 We want to check that crashed postgres is started back 5104s Nov 13 11:52:08 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 5104s Nov 13 11:52:08 Given I start postgres0 # features/steps/basic_replication.py:8 5106s Nov 13 11:52:10 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 5107s Nov 13 11:52:11 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 5107s Nov 13 11:52:11 When I start postgres1 # features/steps/basic_replication.py:8 5109s Nov 13 11:52:13 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 5109s Nov 13 11:52:13 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 5110s Nov 13 11:52:14 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 5110s Nov 13 11:52:14 waiting for server to shut down.... done 5110s Nov 13 11:52:14 server stopped 5110s Nov 13 11:52:14 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 5112s Nov 13 11:52:16 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 5112s Nov 13 11:52:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 5112s Nov 13 11:52:16 And I receive a response role master # features/steps/patroni_api.py:98 5112s Nov 13 11:52:16 And I receive a response timeline 1 # features/steps/patroni_api.py:98 5112s Nov 13 11:52:16 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 5112s Nov 13 11:52:16 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 5116s Nov 13 11:52:20 5116s Nov 13 11:52:20 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 5116s Nov 13 11:52:20 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 5116s Nov 13 11:52:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 5116s Nov 13 11:52:20 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 5116s Nov 13 11:52:20 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 5116s Nov 13 11:52:20 waiting for server to shut down.... done 5116s Nov 13 11:52:20 server stopped 5116s Nov 13 11:52:20 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 5118s Nov 13 11:52:22 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 5122s Nov 13 11:52:26 5122s Nov 13 11:52:26 Feature: standby cluster # features/standby_cluster.feature:1 5122s Nov 13 11:52:26 5122s Nov 13 11:52:26 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 5122s Nov 13 11:52:26 Given I start postgres1 # features/steps/basic_replication.py:8 5125s Nov 13 11:52:29 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 5125s Nov 13 11:52:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 5125s Nov 13 11:52:29 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 5125s Nov 13 11:52:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 5125s Nov 13 11:52:29 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 5125s Nov 13 11:52:29 And I sleep for 3 seconds # features/steps/patroni_api.py:39 5128s Nov 13 11:52:32 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 5128s Nov 13 11:52:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 5128s Nov 13 11:52:32 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 5129s Nov 13 11:52:33 When I start postgres0 # features/steps/basic_replication.py:8 5131s Nov 13 11:52:35 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 5132s Nov 13 11:52:36 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 5133s Nov 13 11:52:37 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 5133s Nov 13 11:52:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 5133s Nov 13 11:52:37 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 5133s Nov 13 11:52:37 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 5134s Nov 13 11:52:38 5134s Nov 13 11:52:38 @slot-advance 5134s Nov 13 11:52:38 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 5134s Nov 13 11:52:38 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 5136s Nov 13 11:52:40 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 5143s Nov 13 11:52:47 5143s Nov 13 11:52:47 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 5143s Nov 13 11:52:47 When I shut down postgres1 # features/steps/basic_replication.py:29 5145s Nov 13 11:52:49 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 5145s Nov 13 11:52:49 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 5146s Nov 13 11:52:50 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 5146s Nov 13 11:52:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 5146s Nov 13 11:52:50 5146s Nov 13 11:52:50 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 5146s Nov 13 11:52:50 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 5148s Nov 13 11:52:52 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 5149s Nov 13 11:52:53 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 5149s Nov 13 11:52:53 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 5149s Nov 13 11:52:53 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 5150s Nov 13 11:52:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 5150s Nov 13 11:52:54 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 5150s Nov 13 11:52:54 And I sleep for 3 seconds # features/steps/patroni_api.py:39 5153s Nov 13 11:52:57 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 5153s Nov 13 11:52:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 5153s Nov 13 11:52:57 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 5153s Nov 13 11:52:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 5153s Nov 13 11:52:57 And I receive a response role standby_leader # features/steps/patroni_api.py:98 5153s Nov 13 11:52:57 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 5153s Nov 13 11:52:57 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 5155s Nov 13 11:52:59 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 5155s Nov 13 11:52:59 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 5156s Nov 13 11:53:00 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 5156s Nov 13 11:53:00 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 5156s Nov 13 11:53:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 5156s Nov 13 11:53:00 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 5156s Nov 13 11:53:00 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 5156s Nov 13 11:53:00 5156s Nov 13 11:53:00 Scenario: check switchover # features/standby_cluster.feature:57 5156s Nov 13 11:53:00 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 5159s Nov 13 11:53:03 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 5159s Nov 13 11:53:03 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 5161s Nov 13 11:53:05 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 5161s Nov 13 11:53:05 5161s Nov 13 11:53:05 Scenario: check failover # features/standby_cluster.feature:63 5161s Nov 13 11:53:05 When I kill postgres2 # features/steps/basic_replication.py:34 5162s Nov 13 11:53:06 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 5162s Nov 13 11:53:06 waiting for server to shut down.... done 5162s Nov 13 11:53:06 server stopped 5162s Nov 13 11:53:06 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 5182s Nov 13 11:53:26 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 5182s Nov 13 11:53:26 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 5182s Nov 13 11:53:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 5182s Nov 13 11:53:26 And I receive a response role standby_leader # features/steps/patroni_api.py:98 5182s Nov 13 11:53:26 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 5183s Nov 13 11:53:27 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 5187s Nov 13 11:53:31 5187s Nov 13 11:53:31 Feature: watchdog # features/watchdog.feature:1 5187s Nov 13 11:53:31 Verify that watchdog gets pinged and triggered under appropriate circumstances. 5187s Nov 13 11:53:31 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 5187s Nov 13 11:53:31 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 5189s Nov 13 11:53:33 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 5189s Nov 13 11:53:33 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 5189s Nov 13 11:53:33 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 5190s Nov 13 11:53:34 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 5190s Nov 13 11:53:34 5190s Nov 13 11:53:34 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 5190s Nov 13 11:53:34 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 5191s Nov 13 11:53:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5191s Nov 13 11:53:35 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 5191s Nov 13 11:53:35 When I sleep for 4 seconds # features/steps/patroni_api.py:39 5195s Nov 13 11:53:39 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 5195s Nov 13 11:53:39 5195s Nov 13 11:53:39 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 5195s Nov 13 11:53:39 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 5196s Nov 13 11:53:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5196s Nov 13 11:53:40 When I sleep for 2 seconds # features/steps/patroni_api.py:39 5198s Nov 13 11:53:42 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 5198s Nov 13 11:53:42 5198s Nov 13 11:53:42 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 5198s Nov 13 11:53:42 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 5198s Nov 13 11:53:42 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 5199s Nov 13 11:53:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 5199s Nov 13 11:53:43 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 5199s Nov 13 11:53:43 5199s Nov 13 11:53:43 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 5199s Nov 13 11:53:43 Given I shut down postgres0 # features/steps/basic_replication.py:29 5201s Nov 13 11:53:45 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 5201s Nov 13 11:53:45 5201s Nov 13 11:53:45 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 5201s Nov 13 11:53:45 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 5201s Nov 13 11:53:45 And I start postgres0 with watchdog # features/steps/watchdog.py:16 5203s Nov 13 11:53:47 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 5205s Nov 13 11:53:48 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 5205s Nov 13 11:53:48 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 5228s Nov 13 11:54:12 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10161.XwmiPWCx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10207.XOeLBiDx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10351.XAYWMQmx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10415.XjgPmFtx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10481.XXksabhx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10585.XfxihqTx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10706.XjyzQaZx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10899.XuPskpbx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10946.XsXIJzvx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10953.XVrKuxHx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10962.XHNTVYfx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.10978.XeaapWHx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.6951.XssSKHXx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.6999.XYoxYExx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7044.XUbneFmx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7120.XlkhVZLx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7167.XxMAYvYx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7239.XFKtSScx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7288.XVROpVfx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7294.XrbMNhjx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7391.XqeprFnx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7504.XTQuuXpx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7518.XKAscJux 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7564.XJNEwKax 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7630.XkZXrqHx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7768.XqNUfoCx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7816.XuGwZkzx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7872.XjQfNyex 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.7980.XkjyZHhx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8038.XDroAJlx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8101.XEAeBLkx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8198.XwvWyDsx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8301.XECABMJx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8339.XOOUwcSx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8416.XMCcqdRx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8446.XUiOFVdx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8626.XwjDZbAx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8676.XSoYSJMx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8696.XZsPUubx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8739.XjKkyXfx 5229s Nov 13 11:54:13 Skipping duplicate data .coverage.autopkgtest.8792.Xjbjvzgx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8799.XYuTjSCx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8837.XMUWxjSx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.8882.XkuljQxx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9050.Xsjoxwvx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9054.XBHBFAGx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9062.Xutcijdx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9203.XtwvBajx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9250.XaXKKCtx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9292.XWDSkdWx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9344.XLfRXtSx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9390.XDNmkDfx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9578.XSgzOaUx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9622.XyPDeCkx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9696.XxkhGfDx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9761.XKRZnynx 5229s Nov 13 11:54:13 Combined data file .coverage.autopkgtest.9846.XvYIelix 5230s Nov 13 11:54:14 Name Stmts Miss Cover 5230s Nov 13 11:54:14 -------------------------------------------------------------------------------------------------------- 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/api.py 770 289 62% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 92 86% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 288 70 76% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/ha.py 1244 367 70% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 170 79% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 214 74% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 5230s + rm -f '/tmp/pgpass?' 5230s ++ id -u 5230s + '[' 0 -eq 0 ']' 5230s + '[' -x /etc/init.d/zookeeper ']' 5230s + /etc/init.d/zookeeper stop 5230s 170 85 50% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/six.py 504 249 51% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 5230s Nov 13 11:54:14 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 5230s Nov 13 11:54:14 patroni/__init__.py 13 2 85% 5230s Nov 13 11:54:14 patroni/__main__.py 199 199 0% 5230s Nov 13 11:54:14 patroni/api.py 770 770 0% 5230s Nov 13 11:54:14 patroni/async_executor.py 96 69 28% 5230s Nov 13 11:54:14 patroni/collections.py 56 15 73% 5230s Nov 13 11:54:14 patroni/config.py 371 194 48% 5230s Nov 13 11:54:14 patroni/config_generator.py 212 212 0% 5230s Nov 13 11:54:14 patroni/ctl.py 936 411 56% 5230s Nov 13 11:54:14 patroni/daemon.py 76 76 0% 5230s Nov 13 11:54:14 patroni/dcs/__init__.py 646 269 58% 5230s Nov 13 11:54:14 patroni/dcs/consul.py 485 485 0% 5230s Nov 13 11:54:14 patroni/dcs/etcd3.py 679 679 0% 5230s Nov 13 11:54:14 patroni/dcs/etcd.py 603 603 0% 5230s Nov 13 11:54:14 patroni/dcs/exhibitor.py 61 61 0% 5230s Nov 13 11:54:14 patroni/dcs/kubernetes.py 938 938 0% 5230s Nov 13 11:54:14 patroni/dcs/raft.py 319 319 0% 5230s Nov 13 11:54:14 patroni/dcs/zookeeper.py 288 149 48% 5230s Nov 13 11:54:14 patroni/dynamic_loader.py 35 7 80% 5230s Nov 13 11:54:14 patroni/exceptions.py 16 1 94% 5230s Nov 13 11:54:14 patroni/file_perm.py 43 15 65% 5230s Nov 13 11:54:14 patroni/global_config.py 81 18 78% 5230s Nov 13 11:54:14 patroni/ha.py 1244 1244 0% 5230s Nov 13 11:54:14 patroni/log.py 219 173 21% 5230s Nov 13 11:54:14 patroni/postgresql/__init__.py 821 651 21% 5230s Nov 13 11:54:14 patroni/postgresql/available_parameters/__init__.py 21 3 86% 5230s Nov 13 11:54:14 patroni/postgresql/bootstrap.py 252 222 12% 5230s Nov 13 11:54:14 patroni/postgresql/callback_executor.py 55 34 38% 5230s Nov 13 11:54:14 patroni/postgresql/cancellable.py 104 84 19% 5230s Nov 13 11:54:14 patroni/postgresql/config.py 813 698 14% 5230s Nov 13 11:54:14 patroni/postgresql/connection.py 75 50 33% 5230s Nov 13 11:54:14 patroni/postgresql/misc.py 41 29 29% 5230s Nov 13 11:54:14 patroni/postgresql/mpp/__init__.py 89 21 76% 5230s Nov 13 11:54:14 patroni/postgresql/mpp/citus.py 259 259 0% 5230s Nov 13 11:54:14 patroni/postgresql/postmaster.py 170 139 18% 5230s Nov 13 11:54:14 patroni/postgresql/rewind.py 416 416 0% 5230s Nov 13 11:54:14 patroni/postgresql/slots.py 334 285 15% 5230s Nov 13 11:54:14 patroni/postgresql/sync.py 130 96 26% 5230s Nov 13 11:54:14 patroni/postgresql/validator.py 157 52 67% 5230s Nov 13 11:54:14 patroni/psycopg.py 42 28 33% 5230s Nov 13 11:54:14 patroni/raft_controller.py 22 22 0% 5230s Nov 13 11:54:14 patroni/request.py 62 6 90% 5230s Nov 13 11:54:14 patroni/scripts/__init__.py 0 0 100% 5230s Nov 13 11:54:14 patroni/scripts/aws.py 59 59 0% 5230s Nov 13 11:54:14 patroni/scripts/barman/__init__.py 0 0 100% 5230s Nov 13 11:54:14 patroni/scripts/barman/cli.py 51 51 0% 5230s Nov 13 11:54:14 patroni/scripts/barman/config_switch.py 51 51 0% 5230s Nov 13 11:54:14 patroni/scripts/barman/recover.py 37 37 0% 5230s Nov 13 11:54:14 patroni/scripts/barman/utils.py 94 94 0% 5230s Nov 13 11:54:14 patroni/scripts/wale_restore.py 207 207 0% 5230s Nov 13 11:54:14 patroni/tags.py 38 11 71% 5230s Nov 13 11:54:14 patroni/utils.py 350 228 35% 5230s Nov 13 11:54:14 patroni/validator.py 301 215 29% 5230s Nov 13 11:54:14 patroni/version.py 1 0 100% 5230s Nov 13 11:54:14 patroni/watchdog/__init__.py 2 2 0% 5230s Nov 13 11:54:14 patroni/watchdog/base.py 203 203 0% 5230s Nov 13 11:54:14 patroni/watchdog/linux.py 135 135 0% 5230s Nov 13 11:54:14 -------------------------------------------------------------------------------------------------------- 5230s Nov 13 11:54:14 TOTAL 39824 23861 40% 5230s Nov 13 11:54:14 11 features passed, 0 failed, 1 skipped 5230s Nov 13 11:54:14 44 scenarios passed, 0 failed, 5 skipped 5230s Nov 13 11:54:14 444 steps passed, 0 failed, 61 skipped, 0 undefined 5230s Nov 13 11:54:14 Took 6m47.534s 5230s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 5230s Stopping zookeeper (via systemctl): zookeeper.service. 5231s autopkgtest [11:54:15]: test acceptance-zookeeper: -----------------------] 5231s autopkgtest [11:54:15]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 5231s acceptance-zookeeper PASS 5232s autopkgtest [11:54:16]: test acceptance-raft: preparing testbed 6489s autopkgtest [12:15:13]: testbed dpkg architecture: amd64 6489s autopkgtest [12:15:13]: testbed apt version: 2.9.8 6489s autopkgtest [12:15:13]: @@@@@@@@@@@@@@@@@@@@ test bed setup 6490s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 6490s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 6490s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 6490s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 6490s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 6490s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [65.2 kB] 6490s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [111 kB] 6490s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 6490s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [639 kB] 6491s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [255 kB] 6491s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [37.7 kB] 6491s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.0 kB] 6491s Fetched 2175 kB in 1s (2627 kB/s) 6491s Reading package lists... 6493s Reading package lists... 6493s Building dependency tree... 6493s Reading state information... 6493s Calculating upgrade... 6493s The following NEW packages will be installed: 6493s python3.13-gdbm 6493s The following packages will be upgraded: 6493s libgpgme11t64 libpython3-stdlib python3 python3-gdbm python3-minimal 6493s 5 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 6493s Need to get 253 kB of archives. 6493s After this operation, 147 kB of additional disk space will be used. 6493s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-minimal amd64 3.12.7-1 [27.4 kB] 6493s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3 amd64 3.12.7-1 [24.0 kB] 6493s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libpython3-stdlib amd64 3.12.7-1 [10.0 kB] 6493s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-gdbm amd64 3.13.0-2 [31.3 kB] 6493s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-gdbm amd64 3.12.7-1 [8642 B] 6493s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libgpgme11t64 amd64 1.23.2-5ubuntu4 [152 kB] 6494s Fetched 253 kB in 0s (601 kB/s) 6494s (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 ... 75541 files and directories currently installed.) 6494s Preparing to unpack .../python3-minimal_3.12.7-1_amd64.deb ... 6494s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 6494s Setting up python3-minimal (3.12.7-1) ... 6494s (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 ... 75541 files and directories currently installed.) 6494s Preparing to unpack .../python3_3.12.7-1_amd64.deb ... 6494s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 6494s Preparing to unpack .../libpython3-stdlib_3.12.7-1_amd64.deb ... 6494s Unpacking libpython3-stdlib:amd64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 6494s Selecting previously unselected package python3.13-gdbm. 6494s Preparing to unpack .../python3.13-gdbm_3.13.0-2_amd64.deb ... 6494s Unpacking python3.13-gdbm (3.13.0-2) ... 6494s Preparing to unpack .../python3-gdbm_3.12.7-1_amd64.deb ... 6494s Unpacking python3-gdbm:amd64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 6494s Preparing to unpack .../libgpgme11t64_1.23.2-5ubuntu4_amd64.deb ... 6494s Unpacking libgpgme11t64:amd64 (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ... 6494s Setting up libgpgme11t64:amd64 (1.23.2-5ubuntu4) ... 6494s Setting up python3.13-gdbm (3.13.0-2) ... 6494s Setting up libpython3-stdlib:amd64 (3.12.7-1) ... 6494s Setting up python3 (3.12.7-1) ... 6494s Setting up python3-gdbm:amd64 (3.12.7-1) ... 6494s Processing triggers for man-db (2.12.1-3) ... 6495s Processing triggers for libc-bin (2.40-1ubuntu3) ... 6495s Reading package lists... 6495s Building dependency tree... 6495s Reading state information... 6495s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 6496s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 6496s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 6496s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 6496s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 6497s Reading package lists... 6497s Reading package lists... 6497s Building dependency tree... 6497s Reading state information... 6497s Calculating upgrade... 6497s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 6497s Reading package lists... 6497s Building dependency tree... 6497s Reading state information... 6497s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 6501s Reading package lists... 6501s Building dependency tree... 6501s Reading state information... 6502s Starting pkgProblemResolver with broken count: 0 6502s Starting 2 pkgProblemResolver with broken count: 0 6502s Done 6502s The following additional packages will be installed: 6502s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 6502s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libtime-duration-perl 6502s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 6502s postgresql-16 postgresql-client-16 postgresql-client-common 6502s postgresql-common python3-behave python3-cdiff python3-click 6502s python3-colorama python3-coverage python3-dateutil python3-parse 6502s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 6502s python3-pysyncobj python3-six python3-wcwidth python3-ydiff 6502s sphinx-rtd-theme-common ssl-cert 6502s Suggested packages: 6502s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 6502s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 6502s Recommended packages: 6502s javascript-common libjson-xs-perl 6502s The following NEW packages will be installed: 6502s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 6502s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 6502s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 6502s patroni-doc postgresql postgresql-16 postgresql-client-16 6502s postgresql-client-common postgresql-common python3-behave python3-cdiff 6502s python3-click python3-colorama python3-coverage python3-dateutil 6502s python3-parse python3-parse-type python3-prettytable python3-psutil 6502s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 6502s sphinx-rtd-theme-common ssl-cert 6502s 0 upgraded, 38 newly installed, 0 to remove and 0 not upgraded. 6502s Need to get 24.0 MB/24.0 MB of archives. 6502s After this operation, 81.6 MB of additional disk space will be used. 6502s Get:1 /tmp/autopkgtest.SBUqvr/5-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [756 B] 6502s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 6503s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 6503s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-common all 262 [36.7 kB] 6503s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 6503s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-common all 262 [162 kB] 6503s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 6503s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 libio-pty-perl amd64 1:1.20-1build3 [31.4 kB] 6503s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libipc-run-perl all 20231003.0-2 [91.5 kB] 6503s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 6503s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 6503s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 6503s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 6503s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 libtime-duration-perl all 1.21-2 [12.3 kB] 6503s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libtimedate-perl all 2.3300-2 [34.0 kB] 6503s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libxslt1.1 amd64 1.1.39-0exp1ubuntu1 [169 kB] 6503s Get:17 http://ftpmaster.internal/ubuntu plucky/universe amd64 moreutils amd64 0.69-1 [56.4 kB] 6503s Get:18 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 6503s Get:19 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 6503s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 6503s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 6503s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 6503s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 6503s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 6503s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 6503s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 6503s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 6503s Get:28 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 6503s Get:29 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni all 3.3.1-1 [264 kB] 6503s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 6503s Get:31 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni-doc all 3.3.1-1 [497 kB] 6503s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-client-16 amd64 16.4-3 [1278 kB] 6503s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql-16 amd64 16.4-3 [15.2 MB] 6503s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 postgresql all 16+262 [11.8 kB] 6503s Get:35 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse all 1.20.2-1 [27.0 kB] 6503s Get:36 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-parse-type all 0.6.4-1 [23.4 kB] 6503s Get:37 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-behave all 1.2.6-6 [98.6 kB] 6503s Get:38 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 6504s Preconfiguring packages ... 6504s Fetched 24.0 MB in 2s (15.4 MB/s) 6504s Selecting previously unselected package fonts-lato. 6504s (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 ... 75548 files and directories currently installed.) 6504s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 6504s Unpacking fonts-lato (2.015-1) ... 6504s Selecting previously unselected package libjson-perl. 6504s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 6504s Unpacking libjson-perl (4.10000-1) ... 6504s Selecting previously unselected package postgresql-client-common. 6504s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 6504s Unpacking postgresql-client-common (262) ... 6504s Selecting previously unselected package ssl-cert. 6504s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 6504s Unpacking ssl-cert (1.1.2ubuntu2) ... 6504s Selecting previously unselected package postgresql-common. 6504s Preparing to unpack .../04-postgresql-common_262_all.deb ... 6504s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 6504s Unpacking postgresql-common (262) ... 6504s Selecting previously unselected package fonts-font-awesome. 6504s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 6504s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 6504s Selecting previously unselected package libio-pty-perl. 6504s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1build3_amd64.deb ... 6504s Unpacking libio-pty-perl (1:1.20-1build3) ... 6504s Selecting previously unselected package libipc-run-perl. 6504s Preparing to unpack .../07-libipc-run-perl_20231003.0-2_all.deb ... 6504s Unpacking libipc-run-perl (20231003.0-2) ... 6504s Selecting previously unselected package libjs-jquery. 6504s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 6504s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 6504s Selecting previously unselected package libjs-underscore. 6504s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 6504s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 6504s Selecting previously unselected package libjs-sphinxdoc. 6504s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 6504s Unpacking libjs-sphinxdoc (7.4.7-4) ... 6504s Selecting previously unselected package libpq5:amd64. 6504s Preparing to unpack .../11-libpq5_17.0-1_amd64.deb ... 6504s Unpacking libpq5:amd64 (17.0-1) ... 6504s Selecting previously unselected package libtime-duration-perl. 6504s Preparing to unpack .../12-libtime-duration-perl_1.21-2_all.deb ... 6504s Unpacking libtime-duration-perl (1.21-2) ... 6504s Selecting previously unselected package libtimedate-perl. 6504s Preparing to unpack .../13-libtimedate-perl_2.3300-2_all.deb ... 6504s Unpacking libtimedate-perl (2.3300-2) ... 6504s Selecting previously unselected package libxslt1.1:amd64. 6504s Preparing to unpack .../14-libxslt1.1_1.1.39-0exp1ubuntu1_amd64.deb ... 6504s Unpacking libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 6504s Selecting previously unselected package moreutils. 6504s Preparing to unpack .../15-moreutils_0.69-1_amd64.deb ... 6504s Unpacking moreutils (0.69-1) ... 6504s Selecting previously unselected package python3-ydiff. 6504s Preparing to unpack .../16-python3-ydiff_1.3-1_all.deb ... 6504s Unpacking python3-ydiff (1.3-1) ... 6504s Selecting previously unselected package python3-cdiff. 6504s Preparing to unpack .../17-python3-cdiff_1.3-1_all.deb ... 6504s Unpacking python3-cdiff (1.3-1) ... 6504s Selecting previously unselected package python3-colorama. 6504s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 6504s Unpacking python3-colorama (0.4.6-4) ... 6504s Selecting previously unselected package python3-click. 6504s Preparing to unpack .../19-python3-click_8.1.7-2_all.deb ... 6504s Unpacking python3-click (8.1.7-2) ... 6504s Selecting previously unselected package python3-six. 6504s Preparing to unpack .../20-python3-six_1.16.0-7_all.deb ... 6504s Unpacking python3-six (1.16.0-7) ... 6504s Selecting previously unselected package python3-dateutil. 6504s Preparing to unpack .../21-python3-dateutil_2.9.0-2_all.deb ... 6504s Unpacking python3-dateutil (2.9.0-2) ... 6504s Selecting previously unselected package python3-wcwidth. 6504s Preparing to unpack .../22-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 6504s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 6504s Selecting previously unselected package python3-prettytable. 6504s Preparing to unpack .../23-python3-prettytable_3.10.1-1_all.deb ... 6504s Unpacking python3-prettytable (3.10.1-1) ... 6504s Selecting previously unselected package python3-psutil. 6504s Preparing to unpack .../24-python3-psutil_5.9.8-2build2_amd64.deb ... 6504s Unpacking python3-psutil (5.9.8-2build2) ... 6505s Selecting previously unselected package python3-psycopg2. 6505s Preparing to unpack .../25-python3-psycopg2_2.9.9-2_amd64.deb ... 6505s Unpacking python3-psycopg2 (2.9.9-2) ... 6505s Selecting previously unselected package python3-pysyncobj. 6505s Preparing to unpack .../26-python3-pysyncobj_0.3.12-1_all.deb ... 6505s Unpacking python3-pysyncobj (0.3.12-1) ... 6505s Selecting previously unselected package patroni. 6505s Preparing to unpack .../27-patroni_3.3.1-1_all.deb ... 6505s Unpacking patroni (3.3.1-1) ... 6505s Selecting previously unselected package sphinx-rtd-theme-common. 6505s Preparing to unpack .../28-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 6505s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 6505s Selecting previously unselected package patroni-doc. 6505s Preparing to unpack .../29-patroni-doc_3.3.1-1_all.deb ... 6505s Unpacking patroni-doc (3.3.1-1) ... 6505s Selecting previously unselected package postgresql-client-16. 6505s Preparing to unpack .../30-postgresql-client-16_16.4-3_amd64.deb ... 6505s Unpacking postgresql-client-16 (16.4-3) ... 6505s Selecting previously unselected package postgresql-16. 6505s Preparing to unpack .../31-postgresql-16_16.4-3_amd64.deb ... 6505s Unpacking postgresql-16 (16.4-3) ... 6505s Selecting previously unselected package postgresql. 6505s Preparing to unpack .../32-postgresql_16+262_all.deb ... 6505s Unpacking postgresql (16+262) ... 6505s Selecting previously unselected package python3-parse. 6505s Preparing to unpack .../33-python3-parse_1.20.2-1_all.deb ... 6505s Unpacking python3-parse (1.20.2-1) ... 6505s Selecting previously unselected package python3-parse-type. 6505s Preparing to unpack .../34-python3-parse-type_0.6.4-1_all.deb ... 6505s Unpacking python3-parse-type (0.6.4-1) ... 6505s Selecting previously unselected package python3-behave. 6505s Preparing to unpack .../35-python3-behave_1.2.6-6_all.deb ... 6505s Unpacking python3-behave (1.2.6-6) ... 6505s Selecting previously unselected package python3-coverage. 6505s Preparing to unpack .../36-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 6505s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 6506s Selecting previously unselected package autopkgtest-satdep. 6506s Preparing to unpack .../37-5-autopkgtest-satdep.deb ... 6506s Unpacking autopkgtest-satdep (0) ... 6506s Setting up postgresql-client-common (262) ... 6506s Setting up fonts-lato (2.015-1) ... 6506s Setting up libio-pty-perl (1:1.20-1build3) ... 6506s Setting up python3-pysyncobj (0.3.12-1) ... 6506s Setting up python3-colorama (0.4.6-4) ... 6506s Setting up python3-ydiff (1.3-1) ... 6506s Setting up libpq5:amd64 (17.0-1) ... 6506s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 6506s Setting up python3-click (8.1.7-2) ... 6506s Setting up python3-psutil (5.9.8-2build2) ... 6506s Setting up python3-six (1.16.0-7) ... 6506s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 6506s Setting up ssl-cert (1.1.2ubuntu2) ... 6507s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 6507s Setting up python3-psycopg2 (2.9.9-2) ... 6507s Setting up libipc-run-perl (20231003.0-2) ... 6507s Setting up libtime-duration-perl (1.21-2) ... 6507s Setting up libtimedate-perl (2.3300-2) ... 6507s Setting up python3-parse (1.20.2-1) ... 6507s Setting up libjson-perl (4.10000-1) ... 6507s Setting up libxslt1.1:amd64 (1.1.39-0exp1ubuntu1) ... 6507s Setting up python3-dateutil (2.9.0-2) ... 6507s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 6507s Setting up python3-prettytable (3.10.1-1) ... 6507s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 6507s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 6507s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 6507s Setting up moreutils (0.69-1) ... 6507s Setting up postgresql-client-16 (16.4-3) ... 6508s 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 6508s Setting up python3-cdiff (1.3-1) ... 6508s Setting up python3-parse-type (0.6.4-1) ... 6508s Setting up postgresql-common (262) ... 6508s 6508s Creating config file /etc/postgresql-common/createcluster.conf with new version 6508s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 6508s Removing obsolete dictionary files: 6509s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 6509s Setting up libjs-sphinxdoc (7.4.7-4) ... 6509s Setting up python3-behave (1.2.6-6) ... 6509s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 6509s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 6509s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 6509s """Registers a custom type that will be available to "parse" 6509s Setting up patroni (3.3.1-1) ... 6509s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 6510s Setting up postgresql-16 (16.4-3) ... 6510s Creating new PostgreSQL cluster 16/main ... 6510s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 6510s The files belonging to this database system will be owned by user "postgres". 6510s This user must also own the server process. 6510s 6510s The database cluster will be initialized with locale "C.UTF-8". 6510s The default database encoding has accordingly been set to "UTF8". 6510s The default text search configuration will be set to "english". 6510s 6510s Data page checksums are disabled. 6510s 6510s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 6510s creating subdirectories ... ok 6510s selecting dynamic shared memory implementation ... posix 6510s selecting default max_connections ... 100 6510s selecting default shared_buffers ... 128MB 6510s selecting default time zone ... Etc/UTC 6510s creating configuration files ... ok 6510s running bootstrap script ... ok 6511s performing post-bootstrap initialization ... ok 6511s syncing data to disk ... ok 6514s Setting up patroni-doc (3.3.1-1) ... 6514s Setting up postgresql (16+262) ... 6514s Setting up autopkgtest-satdep (0) ... 6514s Processing triggers for man-db (2.12.1-3) ... 6515s Processing triggers for libc-bin (2.40-1ubuntu3) ... 6517s (Reading database ... 78567 files and directories currently installed.) 6517s Removing autopkgtest-satdep (0) ... 6520s autopkgtest [12:15:44]: test acceptance-raft: debian/tests/acceptance raft 6520s autopkgtest [12:15:44]: test acceptance-raft: [----------------------- 6520s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 6520s ++ ls -1r /usr/lib/postgresql/ 6520s ### PostgreSQL 16 acceptance-raft ### 6520s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 6520s + '[' 16 == 10 -o 16 == 11 ']' 6520s + echo '### PostgreSQL 16 acceptance-raft ###' 6520s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH= DCS=raft PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 6526s Nov 13 12:15:50 Feature: basic replication # features/basic_replication.feature:1 6526s Nov 13 12:15:50 We should check that the basic bootstrapping, replication and failover works. 6526s Nov 13 12:15:50 Scenario: check replication of a single table # features/basic_replication.feature:4 6526s Nov 13 12:15:50 Given I start postgres0 # features/steps/basic_replication.py:8 6529s Nov 13 12:15:53 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 6530s Nov 13 12:15:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 6530s Nov 13 12:15:54 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 6530s Nov 13 12:15:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 6530s Nov 13 12:15:54 When I start postgres1 # features/steps/basic_replication.py:8 6533s Nov 13 12:15:57 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 6542s Nov 13 12:16:06 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 6542s Nov 13 12:16:06 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 6542s Nov 13 12:16:06 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 6543s Nov 13 12:16:07 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 6543s Nov 13 12:16:07 6543s Nov 13 12:16:07 Scenario: check restart of sync replica # features/basic_replication.feature:17 6543s Nov 13 12:16:07 Given I shut down postgres2 # features/steps/basic_replication.py:29 6544s Nov 13 12:16:08 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 6544s Nov 13 12:16:08 When I start postgres2 # features/steps/basic_replication.py:8 6546s Nov 13 12:16:10 And I shut down postgres1 # features/steps/basic_replication.py:29 6550s Nov 13 12:16:13 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 6550s Nov 13 12:16:14 When I start postgres1 # features/steps/basic_replication.py:8 6552s Nov 13 12:16:16 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 6553s Nov 13 12:16:17 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 6553s Nov 13 12:16:17 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 6553s Nov 13 12:16:17 6553s Nov 13 12:16:17 Scenario: check stuck sync replica # features/basic_replication.feature:28 6553s Nov 13 12:16:17 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 6553s Nov 13 12:16:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 6553s Nov 13 12:16:17 And I create table on postgres0 # features/steps/basic_replication.py:73 6553s Nov 13 12:16:17 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 6554s Nov 13 12:16:18 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 6554s Nov 13 12:16:18 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 6554s Nov 13 12:16:18 And I load data on postgres0 # features/steps/basic_replication.py:84 6554s Nov 13 12:16:18 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 6557s Nov 13 12:16:21 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 6557s Nov 13 12:16:21 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 6557s Nov 13 12:16:21 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 6557s Nov 13 12:16:21 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 6558s Nov 13 12:16:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 6558s Nov 13 12:16:21 And I drop table on postgres0 # features/steps/basic_replication.py:73 6558s Nov 13 12:16:22 6558s Nov 13 12:16:22 Scenario: check multi sync replication # features/basic_replication.feature:44 6558s Nov 13 12:16:22 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 6558s Nov 13 12:16:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 6558s Nov 13 12:16:22 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 6562s Nov 13 12:16:26 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 6562s Nov 13 12:16:26 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 6562s Nov 13 12:16:26 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 6562s Nov 13 12:16:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 6562s Nov 13 12:16:26 And I shut down postgres1 # features/steps/basic_replication.py:29 6565s Nov 13 12:16:29 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 6566s Nov 13 12:16:30 When I start postgres1 # features/steps/basic_replication.py:8 6569s Nov 13 12:16:33 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 6569s Nov 13 12:16:33 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 6569s Nov 13 12:16:33 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 6569s Nov 13 12:16:33 6569s Nov 13 12:16:33 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 6569s Nov 13 12:16:33 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 6570s Nov 13 12:16:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 6570s Nov 13 12:16:34 When I sleep for 2 seconds # features/steps/patroni_api.py:39 6572s Nov 13 12:16:36 And I shut down postgres0 # features/steps/basic_replication.py:29 6573s Nov 13 12:16:37 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 6574s Nov 13 12:16:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 6574s Nov 13 12:16:38 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 6593s Nov 13 12:16:57 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 6596s Nov 13 12:16:59 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 6596s Nov 13 12:16:59 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 6596s Nov 13 12:17:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 6596s Nov 13 12:17:00 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 6596s Nov 13 12:17:00 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 6599s Nov 13 12:17:03 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 6599s Nov 13 12:17:03 6599s Nov 13 12:17:03 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 6599s Nov 13 12:17:03 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 6599s Nov 13 12:17:03 And I start postgres0 # features/steps/basic_replication.py:8 6599s Nov 13 12:17:03 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 6605s Nov 13 12:17:09 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 6605s Nov 13 12:17:09 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 6605s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 6621s Nov 13 12:17:25 6621s Nov 13 12:17:25 @reject-duplicate-name 6621s Nov 13 12:17:25 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 6621s Nov 13 12:17:25 Given I start duplicate postgres0 on port 8011 # None 6621s Nov 13 12:17:25 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 6621s Nov 13 12:17:25 6621s Nov 13 12:17:25 Feature: cascading replication # features/cascading_replication.feature:1 6621s Nov 13 12:17:25 We should check that patroni can do base backup and streaming from the replica 6621s Nov 13 12:17:25 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 6621s Nov 13 12:17:25 Given I start postgres0 # features/steps/basic_replication.py:8 6630s Nov 13 12:17:34 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 6631s Nov 13 12:17:35 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 6634s Nov 13 12:17:38 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 6635s Nov 13 12:17:39 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 6635s Nov 13 12:17:39 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 6635s Nov 13 12:17:39 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 6635s Nov 13 12:17:39 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 6638s Nov 13 12:17:42 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 6639s Nov 13 12:17:43 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 6657s Nov 13 12:18:01 6657s Nov 13 12:18:01 Feature: citus # features/citus.feature:1 6657s Nov 13 12:18:01 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 6657s Nov 13 12:18:01 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 6657s Nov 13 12:18:01 Given I start postgres0 in citus group 0 # None 6657s Nov 13 12:18:01 And I start postgres2 in citus group 1 # None 6657s Nov 13 12:18:01 Then postgres0 is a leader in a group 0 after 10 seconds # None 6657s Nov 13 12:18:01 And postgres2 is a leader in a group 1 after 10 seconds # None 6657s Nov 13 12:18:01 When I start postgres1 in citus group 0 # None 6657s Nov 13 12:18:01 And I start postgres3 in citus group 1 # None 6657s Nov 13 12:18:01 Then replication works from postgres0 to postgres1 after 15 seconds # None 6657s Nov 13 12:18:01 Then replication works from postgres2 to postgres3 after 15 seconds # None 6657s Nov 13 12:18:01 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 6657s Nov 13 12:18:01 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 6657s SKIP FEATURE citus: Citus extenstion isn't available 6657s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 6657s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 6657s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 6657s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 6657s 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 6657s Nov 13 12:18:01 6657s Nov 13 12:18:01 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 6657s Nov 13 12:18:01 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 6657s Nov 13 12:18:01 Then postgres1 role is the primary after 10 seconds # None 6657s Nov 13 12:18:01 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 6657s Nov 13 12:18:01 And replication works from postgres1 to postgres0 after 15 seconds # None 6657s Nov 13 12:18:01 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 6657s Nov 13 12:18:01 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 6657s Nov 13 12:18:01 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 6657s Nov 13 12:18:01 Then postgres0 role is the primary after 10 seconds # None 6657s Nov 13 12:18:01 And replication works from postgres0 to postgres1 after 15 seconds # None 6657s Nov 13 12:18:01 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 6657s Nov 13 12:18:01 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 6657s Nov 13 12:18:01 6657s Nov 13 12:18:01 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 6657s Nov 13 12:18:01 Given I create a distributed table on postgres0 # None 6657s Nov 13 12:18:01 And I start a thread inserting data on postgres0 # None 6657s Nov 13 12:18:01 When I run patronictl.py switchover batman --group 1 --force # None 6657s Nov 13 12:18:01 Then I receive a response returncode 0 # None 6657s Nov 13 12:18:01 And postgres3 role is the primary after 10 seconds # None 6657s Nov 13 12:18:01 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 6657s Nov 13 12:18:01 And replication works from postgres3 to postgres2 after 15 seconds # None 6657s Nov 13 12:18:01 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 6657s Nov 13 12:18:01 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 6657s Nov 13 12:18:01 And a thread is still alive # None 6657s Nov 13 12:18:01 When I run patronictl.py switchover batman --group 1 --force # None 6657s Nov 13 12:18:01 Then I receive a response returncode 0 # None 6657s Nov 13 12:18:01 And postgres2 role is the primary after 10 seconds # None 6657s Nov 13 12:18:01 And replication works from postgres2 to postgres3 after 15 seconds # None 6657s Nov 13 12:18:01 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 6657s Nov 13 12:18:01 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 6657s Nov 13 12:18:01 And a thread is still alive # None 6657s Nov 13 12:18:01 When I stop a thread # None 6657s Nov 13 12:18:01 Then a distributed table on postgres0 has expected rows # None 6657s Nov 13 12:18:01 6657s Nov 13 12:18:01 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 6657s Nov 13 12:18:01 Given I cleanup a distributed table on postgres0 # None 6657s Nov 13 12:18:01 And I start a thread inserting data on postgres0 # None 6657s Nov 13 12:18:01 When I run patronictl.py restart batman postgres2 --group 1 --force # None 6657s Nov 13 12:18:01 Then I receive a response returncode 0 # None 6657s Nov 13 12:18:01 And postgres2 role is the primary after 10 seconds # None 6657s Nov 13 12:18:01 And replication works from postgres2 to postgres3 after 15 seconds # None 6657s Nov 13 12:18:01 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 6657s Nov 13 12:18:01 And a thread is still alive # None 6657s Nov 13 12:18:01 When I stop a thread # None 6657s Nov 13 12:18:01 Then a distributed table on postgres0 has expected rows # None 6663s Nov 13 12:18:07 6663s Nov 13 12:18:07 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 6663s Nov 13 12:18:07 Given I start postgres4 in citus group 2 # None 6663s Nov 13 12:18:07 Then postgres4 is a leader in a group 2 after 10 seconds # None 6663s Nov 13 12:18:07 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 6663s Nov 13 12:18:07 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 6663s Nov 13 12:18:07 Then I receive a response returncode 0 # None 6663s Nov 13 12:18:07 And I receive a response output "+ttl: 20" # None 6663s Nov 13 12:18:07 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 6663s Nov 13 12:18:07 When I shut down postgres4 # None 6663s Nov 13 12:18:07 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 6663s Nov 13 12:18:07 When I run patronictl.py restart batman postgres2 --group 1 --force # None 6663s Nov 13 12:18:07 Then a transaction finishes in 20 seconds # None 6663s Nov 13 12:18:07 6663s Nov 13 12:18:07 Feature: custom bootstrap # features/custom_bootstrap.feature:1 6663s Nov 13 12:18:07 We should check that patroni can bootstrap a new cluster from a backup 6663s Nov 13 12:18:07 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 6663s Nov 13 12:18:07 Given I start postgres0 # features/steps/basic_replication.py:8 6666s Nov 13 12:18:10 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 6667s Nov 13 12:18:11 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 6667s Nov 13 12:18:11 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 6670s Nov 13 12:18:14 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 6671s Nov 13 12:18:15 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 6671s Nov 13 12:18:15 6671s Nov 13 12:18:15 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 6671s Nov 13 12:18:15 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 6671s Nov 13 12:18:15 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 6671s Nov 13 12:18:15 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 6675s Nov 13 12:18:19 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 6675s Nov 13 12:18:19 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 6691s Nov 13 12:18:35 6691s Nov 13 12:18:35 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 6691s Nov 13 12:18:35 We should check the basic dcs failsafe mode functioning 6691s Nov 13 12:18:35 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 6691s Nov 13 12:18:35 Given I start postgres0 # features/steps/basic_replication.py:8 6694s Nov 13 12:18:38 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 6694s Nov 13 12:18:38 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 6694s Nov 13 12:18: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 6694s Nov 13 12:18:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 6694s Nov 13 12:18:38 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 6694s Nov 13 12:18:38 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 6694s Nov 13 12:18:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 6694s Nov 13 12:18:38 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 6694s Nov 13 12:18:38 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 6694s Nov 13 12:18:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 6694s Nov 13 12:18:38 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 6694s Nov 13 12:18:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 6694s Nov 13 12:18:38 6694s Nov 13 12:18:38 @dcs-failsafe 6694s Nov 13 12:18:38 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 6694s Nov 13 12:18:38 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 6694s Nov 13 12:18:38 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 6698s Nov 13 12:18:42 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 6698s Nov 13 12:18:42 6698s Nov 13 12:18:42 @dcs-failsafe 6698s Nov 13 12:18:42 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 6698s Nov 13 12:18:42 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 6698s Nov 13 12:18:42 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 6699s Nov 13 12:18:43 And I shut down postgres0 # features/steps/basic_replication.py:29 6701s Nov 13 12:18:45 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 6704s Nov 13 12:18:48 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 6704s Nov 13 12:18:48 6704s Nov 13 12:18:48 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 6704s Nov 13 12:18:48 Given I start postgres0 # features/steps/basic_replication.py:8 6706s Nov 13 12:18:50 And I start postgres1 # features/steps/basic_replication.py:8 6706s Nov 13 12:18:50 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 6707s Nov 13 12:18:51 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 6707s Nov 13 12:18:51 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 6712s Nov 13 12:18:56 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 6712s Nov 13 12:18:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 6712s Nov 13 12:18:56 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 6712s Nov 13 12:18:56 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 6712s Nov 13 12:18:56 6712s Nov 13 12:18:56 @dcs-failsafe @slot-advance 6712s Nov 13 12:18:56 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 6712s Nov 13 12:18:56 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 6712s Nov 13 12:18:56 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 6715s Nov 13 12:18:59 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 6715s Nov 13 12:18:59 And DCS is down # features/steps/dcs_failsafe_mode.py:4 6715s Nov 13 12:18:59 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 6719s Nov 13 12:19:03 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 6719s Nov 13 12:19:03 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 6719s Nov 13 12:19:03 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 6719s Nov 13 12:19:03 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 6719s Nov 13 12:19:03 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 6719s Nov 13 12:19:03 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 6726s Nov 13 12:19:10 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 6726s Nov 13 12:19:10 6726s Nov 13 12:19:10 @dcs-failsafe 6726s Nov 13 12:19:10 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 6726s Nov 13 12:19:10 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 6726s Nov 13 12:19:10 And I kill postgres1 # features/steps/basic_replication.py:34 6727s Nov 13 12:19:11 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 6727s Nov 13 12:19:11 waiting for server to shut down.... done 6727s Nov 13 12:19:11 server stopped 6727s Nov 13 12:19:11 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 6729s Nov 13 12:19:13 6729s Nov 13 12:19:13 @dcs-failsafe 6729s Nov 13 12:19:13 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 6729s Nov 13 12:19:13 Given I kill postgres0 # features/steps/basic_replication.py:34 6730s Nov 13 12:19:14 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 6731s Nov 13 12:19:14 waiting for server to shut down.... done 6731s Nov 13 12:19:14 server stopped 6731s Nov 13 12:19:14 And DCS is up # features/steps/dcs_failsafe_mode.py:9 6731s Nov 13 12:19:14 When I start postgres1 # features/steps/basic_replication.py:8 6733s Nov 13 12:19:17 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 6734s Nov 13 12:19:18 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 6735s Nov 13 12:19:19 6735s Nov 13 12:19:19 @dcs-failsafe 6735s Nov 13 12:19:19 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 6735s Nov 13 12:19:19 Given I start postgres0 # features/steps/basic_replication.py:8 6738s Nov 13 12:19:22 And I start postgres2 # features/steps/basic_replication.py:8 6742s Nov 13 12:19:26 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 6742s Nov 13 12:19:26 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 6742s Nov 13 12:19:26 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 6743s Nov 13 12:19:27 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 6744s Nov 13 12:19:28 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 6745s Nov 13 12:19:29 6745s Nov 13 12:19:29 @dcs-failsafe @slot-advance 6745s Nov 13 12:19:29 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 6745s Nov 13 12:19:29 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 6745s Nov 13 12:19:29 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 6751s Nov 13 12:19:35 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 6752s Nov 13 12:19:36 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 6752s Nov 13 12:19:36 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 6753s Nov 13 12:19:37 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 6753s Nov 13 12:19:37 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 6753s Nov 13 12:19:37 6753s Nov 13 12:19:37 @dcs-failsafe 6753s Nov 13 12:19:37 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 6753s Nov 13 12:19:37 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 6753s Nov 13 12:19:37 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 6758s Nov 13 12:19:42 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 6758s Nov 13 12:19:42 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 6758s Nov 13 12:19:42 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 6758s Nov 13 12:19:42 6758s Nov 13 12:19:42 @dcs-failsafe @slot-advance 6758s Nov 13 12:19:42 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 6758s Nov 13 12:19:42 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 6758s Nov 13 12:19:42 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 6759s Nov 13 12:19:43 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 6759s Nov 13 12:19:43 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 6759s Nov 13 12:19:43 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 6765s Nov 13 12:19:49 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 6765s Nov 13 12:19:49 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 6765s Nov 13 12:19:49 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 6765s Nov 13 12:19:49 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 6777s Nov 13 12:20:01 6777s Nov 13 12:20:01 Feature: ignored slots # features/ignored_slots.feature:1 6777s Nov 13 12:20:01 6777s Nov 13 12:20:01 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 6777s Nov 13 12:20:01 Given I start postgres1 # features/steps/basic_replication.py:8 6785s Nov 13 12:20:09 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 6785s Nov 13 12:20:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 6785s Nov 13 12:20:09 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 6785s Nov 13 12:20:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 6785s Nov 13 12:20:09 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 6785s Nov 13 12:20:09 When I shut down postgres1 # features/steps/basic_replication.py:29 6787s Nov 13 12:20:11 And I start postgres1 # features/steps/basic_replication.py:8 6789s Nov 13 12:20:13 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 6792s Nov 13 12:20:16 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 6793s Nov 13 12:20:17 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 6793s Nov 13 12:20:17 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 6793s Nov 13 12:20:17 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 6793s Nov 13 12:20:17 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 6793s Nov 13 12:20:17 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 6793s Nov 13 12:20:17 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 6793s Nov 13 12:20: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 6793s Nov 13 12:20: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 6793s Nov 13 12:20: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 6793s Nov 13 12:20: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 6793s Nov 13 12:20:17 When I start postgres0 # features/steps/basic_replication.py:8 6796s Nov 13 12:20:20 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 6796s Nov 13 12:20:20 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 6796s Nov 13 12:20:20 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 6797s Nov 13 12:20:21 When I shut down postgres1 # features/steps/basic_replication.py:29 6799s Nov 13 12:20:23 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 6800s Nov 13 12:20:24 When I start postgres1 # features/steps/basic_replication.py:8 6803s Nov 13 12:20:27 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 6803s Nov 13 12:20:27 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 6803s Nov 13 12:20:27 And I sleep for 2 seconds # features/steps/patroni_api.py:39 6805s Nov 13 12:20:29 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 6805s Nov 13 12:20:29 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 6805s Nov 13 12:20:29 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 6805s Nov 13 12:20:29 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 6805s Nov 13 12:20:29 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 6805s Nov 13 12:20:29 When I shut down postgres0 # features/steps/basic_replication.py:29 6807s Nov 13 12:20:31 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 6808s Nov 13 12:20:32 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 6808s Nov 13 12:20:32 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 6808s Nov 13 12:20:32 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 6808s Nov 13 12:20:32 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 6817s Nov 13 12:20:40 6817s Nov 13 12:20:40 Feature: nostream node # features/nostream_node.feature:1 6817s Nov 13 12:20:40 6817s Nov 13 12:20:40 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 6817s Nov 13 12:20:40 When I start postgres0 # features/steps/basic_replication.py:8 6820s Nov 13 12:20:43 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 6823s Nov 13 12:20:47 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 6823s Nov 13 12:20:47 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 6828s Nov 13 12:20:52 6828s Nov 13 12:20:52 @slot-advance 6828s Nov 13 12:20:52 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 6828s Nov 13 12:20:52 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 6828s Nov 13 12:20:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 6828s Nov 13 12:20:52 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 6829s Nov 13 12:20:53 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 6830s Nov 13 12:20:54 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 6833s Nov 13 12:20:57 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 6839s Nov 13 12:21:03 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 6839s Nov 13 12:21:03 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 6855s Nov 13 12:21:19 6855s Nov 13 12:21:19 Feature: patroni api # features/patroni_api.feature:1 6855s Nov 13 12:21:19 We should check that patroni correctly responds to valid and not-valid API requests. 6855s Nov 13 12:21:19 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 6855s Nov 13 12:21:19 Given I start postgres0 # features/steps/basic_replication.py:8 6858s Nov 13 12:21:22 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 6858s Nov 13 12:21:22 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 6858s Nov 13 12:21:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 6858s Nov 13 12:21:22 And I receive a response state running # features/steps/patroni_api.py:98 6858s Nov 13 12:21:22 And I receive a response role master # features/steps/patroni_api.py:98 6858s Nov 13 12:21:22 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 6858s Nov 13 12:21:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 6858s Nov 13 12:21:22 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 6858s Nov 13 12:21:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 6858s Nov 13 12:21:22 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 6858s Nov 13 12:21:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 6858s Nov 13 12:21:22 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 6858s Nov 13 12:21:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 6858s Nov 13 12:21:22 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 6858s Nov 13 12:21:22 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 6859s Nov 13 12:21:23 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 6859s Nov 13 12:21:23 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 6859s Nov 13 12:21:23 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 6859s Nov 13 12:21:23 Then I receive a response code 412 # features/steps/patroni_api.py:98 6859s Nov 13 12:21:23 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 6859s Nov 13 12:21:23 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 6859s Nov 13 12:21:23 Then I receive a response code 400 # features/steps/patroni_api.py:98 6859s Nov 13 12:21:23 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 6859s Nov 13 12:21:23 Then I receive a response code 400 # features/steps/patroni_api.py:98 6859s Nov 13 12:21:23 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 6859s Nov 13 12:21:23 6859s Nov 13 12:21:23 Scenario: check local configuration reload # features/patroni_api.feature:32 6859s Nov 13 12:21:23 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 6859s Nov 13 12:21:23 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 6859s Nov 13 12:21:23 Then I receive a response code 202 # features/steps/patroni_api.py:98 6859s Nov 13 12:21:23 6859s Nov 13 12:21:23 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 6859s Nov 13 12:21:23 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 6859s Nov 13 12:21:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 6859s Nov 13 12:21:23 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 6861s Nov 13 12:21:25 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 6861s Nov 13 12:21:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 6861s Nov 13 12:21:25 And I receive a response ttl 20 # features/steps/patroni_api.py:98 6861s Nov 13 12:21:25 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 6861s Nov 13 12:21:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 6861s Nov 13 12:21:25 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 6861s Nov 13 12:21:25 And I sleep for 4 seconds # features/steps/patroni_api.py:39 6865s Nov 13 12:21:29 6865s Nov 13 12:21:29 Scenario: check the scheduled restart # features/patroni_api.feature:49 6865s Nov 13 12:21:29 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 6867s Nov 13 12:21:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 6867s Nov 13 12:21:31 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 6867s Nov 13 12:21:31 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 6867s Nov 13 12:21:31 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 6867s Nov 13 12:21:31 Then I receive a response code 202 # features/steps/patroni_api.py:98 6867s Nov 13 12:21:31 And I sleep for 8 seconds # features/steps/patroni_api.py:39 6875s Nov 13 12:21:39 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 6875s Nov 13 12:21:39 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 6875s Nov 13 12:21:39 Then I receive a response code 202 # features/steps/patroni_api.py:98 6875s Nov 13 12:21:39 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 6882s Nov 13 12:21:46 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 6883s Nov 13 12:21:47 6883s Nov 13 12:21:47 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 6883s Nov 13 12:21:47 Given I start postgres1 # features/steps/basic_replication.py:8 6886s Nov 13 12:21:50 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 6887s Nov 13 12:21:51 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 6888s Nov 13 12:21:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 6888s Nov 13 12:21:52 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 6888s Nov 13 12:21:52 waiting for server to shut down.... done 6888s Nov 13 12:21:52 server stopped 6888s Nov 13 12:21:52 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 6888s Nov 13 12:21:52 Then I receive a response code 503 # features/steps/patroni_api.py:98 6888s Nov 13 12:21:52 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 6889s Nov 13 12:21:53 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 6892s Nov 13 12:21:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 6892s Nov 13 12:21:56 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 6893s Nov 13 12:21:57 And I sleep for 2 seconds # features/steps/patroni_api.py:39 6895s Nov 13 12:21:59 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 6895s Nov 13 12:21:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 6895s Nov 13 12:21:59 And I receive a response state running # features/steps/patroni_api.py:98 6895s Nov 13 12:21:59 And I receive a response role replica # features/steps/patroni_api.py:98 6895s Nov 13 12:21:59 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 6898s Nov 13 12:22:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 6898s Nov 13 12:22:02 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 6898s Nov 13 12:22:02 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 6899s Nov 13 12:22:03 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 6899s Nov 13 12:22:03 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 6901s Nov 13 12:22:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 6901s Nov 13 12:22:05 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 6901s Nov 13 12:22:05 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 6902s Nov 13 12:22:06 6902s Nov 13 12:22:06 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 6902s Nov 13 12:22:06 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 6904s Nov 13 12:22:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 6904s Nov 13 12:22:08 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 6904s Nov 13 12:22:08 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 6904s Nov 13 12:22:08 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 6909s Nov 13 12:22:13 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 6909s Nov 13 12:22:13 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 6910s Nov 13 12:22:14 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 6910s Nov 13 12:22:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 6910s Nov 13 12:22:14 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 6910s Nov 13 12:22:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 6910s Nov 13 12:22:14 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 6910s Nov 13 12:22:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 6910s Nov 13 12:22:14 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 6910s Nov 13 12:22:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 6910s Nov 13 12:22:14 6910s Nov 13 12:22:14 Scenario: check the scheduled switchover # features/patroni_api.feature:107 6910s Nov 13 12:22:14 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 6911s Nov 13 12:22:15 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 6911s Nov 13 12:22:15 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 6911s Nov 13 12:22:15 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 6913s Nov 13 12:22:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 6913s Nov 13 12:22:16 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 6914s Nov 13 12:22:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 6914s Nov 13 12:22:18 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 6924s Nov 13 12:22:28 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 6925s Nov 13 12:22:29 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 6927s Nov 13 12:22:31 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 6927s Nov 13 12:22:31 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 6928s Nov 13 12:22:32 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 6928s Nov 13 12:22:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 6928s Nov 13 12:22:32 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 6928s Nov 13 12:22:32 Then I receive a response code 503 # features/steps/patroni_api.py:98 6928s Nov 13 12:22:32 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 6928s Nov 13 12:22:32 Then I receive a response code 503 # features/steps/patroni_api.py:98 6928s Nov 13 12:22:32 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 6928s Nov 13 12:22:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 6938s Nov 13 12:22:42 6938s Nov 13 12:22:42 Feature: permanent slots # features/permanent_slots.feature:1 6938s Nov 13 12:22:42 6938s Nov 13 12:22:42 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 6938s Nov 13 12:22:42 Given I start postgres0 # features/steps/basic_replication.py:8 6941s Nov 13 12:22:45 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 6941s Nov 13 12:22:45 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 6941s Nov 13 12:22:45 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 6942s Nov 13 12:22:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 6942s Nov 13 12:22:46 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 6942s Nov 13 12:22:46 When I start postgres1 # features/steps/basic_replication.py:8 6945s Nov 13 12:22:49 And I start postgres2 # features/steps/basic_replication.py:8 6953s Nov 13 12:22:57 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 6962s Nov 13 12:23:06 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 6962s Nov 13 12:23:06 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 6962s Nov 13 12:23:06 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 6962s Nov 13 12:23:06 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 6962s Nov 13 12:23:06 6962s Nov 13 12:23:06 @slot-advance 6962s Nov 13 12:23:06 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 6962s Nov 13 12:23:06 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 6964s Nov 13 12:23:08 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 6964s Nov 13 12:23:08 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 6965s Nov 13 12:23:09 6965s Nov 13 12:23:09 @slot-advance 6965s Nov 13 12:23:09 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 6965s Nov 13 12:23:09 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 6968s Nov 13 12:23:12 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 6968s Nov 13 12:23:12 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 6969s Nov 13 12:23:13 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 6970s Nov 13 12:23:14 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 6970s Nov 13 12:23:14 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 6970s Nov 13 12:23:14 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 6970s Nov 13 12:23:14 6970s Nov 13 12:23:14 @slot-advance 6970s Nov 13 12:23:14 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 6970s Nov 13 12:23:14 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 6970s Nov 13 12:23:14 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 6970s Nov 13 12:23:14 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 6970s Nov 13 12:23:14 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 6970s Nov 13 12:23:14 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 6970s Nov 13 12:23:14 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 6970s Nov 13 12:23:14 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 6970s Nov 13 12:23:14 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 6970s Nov 13 12:23:14 6970s Nov 13 12:23:14 @slot-advance 6970s Nov 13 12:23:14 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 6970s Nov 13 12:23:14 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 6970s Nov 13 12:23:14 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 6970s Nov 13 12:23:14 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 6970s Nov 13 12:23:14 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 6972s Nov 13 12:23:16 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 6972s Nov 13 12:23:16 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 6972s Nov 13 12:23:16 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 6972s Nov 13 12:23:16 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 6972s Nov 13 12:23:16 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 6972s Nov 13 12:23:16 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 6972s Nov 13 12:23:16 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 6972s Nov 13 12:23:16 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 6972s Nov 13 12:23:16 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 6972s Nov 13 12:23:16 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 6972s Nov 13 12:23:16 6972s Nov 13 12:23:16 @slot-advance 6972s Nov 13 12:23:16 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 6972s Nov 13 12:23:16 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 6972s Nov 13 12:23:16 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 6972s Nov 13 12:23:16 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 6972s Nov 13 12:23:16 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 6972s Nov 13 12:23:16 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 6972s Nov 13 12:23:16 6972s Nov 13 12:23:16 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 6972s Nov 13 12:23:16 Given I shut down postgres3 # features/steps/basic_replication.py:29 6973s Nov 13 12:23:17 And I shut down postgres2 # features/steps/basic_replication.py:29 6974s Nov 13 12:23:18 And I shut down postgres0 # features/steps/basic_replication.py:29 6976s Nov 13 12:23:20 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 6976s Nov 13 12:23:20 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 6976s Nov 13 12:23:20 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 6987s Nov 13 12:23:31 6987s Nov 13 12:23:31 Feature: priority replication # features/priority_failover.feature:1 6987s Nov 13 12:23:31 We should check that we can give nodes priority during failover 6987s Nov 13 12:23:31 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 6987s Nov 13 12:23:31 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 6995s Nov 13 12:23:39 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 6998s Nov 13 12:23:42 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 6999s Nov 13 12:23:43 When I shut down postgres0 # features/steps/basic_replication.py:29 7001s Nov 13 12:23:45 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 7003s Nov 13 12:23:47 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 7003s Nov 13 12:23:47 When I start postgres0 # features/steps/basic_replication.py:8 7006s Nov 13 12:23:49 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 7009s Nov 13 12:23:52 7009s Nov 13 12:23:52 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 7009s Nov 13 12:23:52 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 7018s Nov 13 12:24:02 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 7021s Nov 13 12:24:05 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 7022s Nov 13 12:24:06 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 7023s Nov 13 12:24:07 When I shut down postgres0 # features/steps/basic_replication.py:29 7025s Nov 13 12:24:09 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 7026s Nov 13 12:24:10 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 7026s Nov 13 12:24:10 7026s Nov 13 12:24:10 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 7026s Nov 13 12:24:10 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 7026s Nov 13 12:24:10 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 7026s Nov 13 12:24:10 Then I receive a response code 202 # features/steps/patroni_api.py:98 7026s Nov 13 12:24:10 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 7028s Nov 13 12:24:12 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 7029s Nov 13 12:24:13 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 7029s Nov 13 12:24:13 Then I receive a response code 412 # features/steps/patroni_api.py:98 7029s Nov 13 12:24:13 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 7029s Nov 13 12:24:13 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 7029s Nov 13 12:24:13 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 7029s Nov 13 12:24:13 Then I receive a response code 202 # features/steps/patroni_api.py:98 7029s Nov 13 12:24:13 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 7031s Nov 13 12:24:15 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 7032s Nov 13 12:24:16 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 7035s Nov 13 12:24:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 7035s Nov 13 12:24:19 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 7047s Nov 13 12:24:31 7047s Nov 13 12:24:31 Feature: recovery # features/recovery.feature:1 7047s Nov 13 12:24:31 We want to check that crashed postgres is started back 7047s Nov 13 12:24:31 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 7047s Nov 13 12:24:31 Given I start postgres0 # features/steps/basic_replication.py:8 7050s Nov 13 12:24:34 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 7051s Nov 13 12:24:35 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 7051s Nov 13 12:24:35 When I start postgres1 # features/steps/basic_replication.py:8 7054s Nov 13 12:24:38 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 7055s Nov 13 12:24:39 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 7060s Nov 13 12:24:44 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 7060s Nov 13 12:24:44 waiting for server to shut down.... done 7060s Nov 13 12:24:44 server stopped 7060s Nov 13 12:24:44 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 7062s Nov 13 12:24:46 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 7062s Nov 13 12:24:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 7062s Nov 13 12:24:46 And I receive a response role master # features/steps/patroni_api.py:98 7062s Nov 13 12:24:46 And I receive a response timeline 1 # features/steps/patroni_api.py:98 7062s Nov 13 12:24:46 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 7063s Nov 13 12:24:47 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 7065s Nov 13 12:24:49 7065s Nov 13 12:24:49 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 7065s Nov 13 12:24:49 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 7065s Nov 13 12:24:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 7065s Nov 13 12:24:49 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 7065s Nov 13 12:24:49 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 7065s Nov 13 12:24:49 waiting for server to shut down.... done 7065s Nov 13 12:24:49 server stopped 7065s Nov 13 12:24:49 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 7067s Nov 13 12:24:51 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 7077s Nov 13 12:25:01 7077s Nov 13 12:25:01 Feature: standby cluster # features/standby_cluster.feature:1 7077s Nov 13 12:25:01 7077s Nov 13 12:25:01 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 7077s Nov 13 12:25:01 Given I start postgres1 # features/steps/basic_replication.py:8 7085s Nov 13 12:25:09 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 7085s Nov 13 12:25:09 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 7085s Nov 13 12:25:09 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 7085s Nov 13 12:25:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 7085s Nov 13 12:25:09 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 7085s Nov 13 12:25:09 And I sleep for 3 seconds # features/steps/patroni_api.py:39 7088s Nov 13 12:25: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 7089s Nov 13 12:25:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 7089s Nov 13 12:25:12 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 7089s Nov 13 12:25:13 When I start postgres0 # features/steps/basic_replication.py:8 7092s Nov 13 12:25:16 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 7092s Nov 13 12:25:16 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 7093s Nov 13 12:25:17 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 7093s Nov 13 12:25:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 7093s Nov 13 12:25:17 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 7093s Nov 13 12:25:17 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 7094s Nov 13 12:25:18 7094s Nov 13 12:25:18 @slot-advance 7094s Nov 13 12:25:18 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 7094s Nov 13 12:25:18 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 7096s Nov 13 12:25:20 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 7101s Nov 13 12:25:25 7101s Nov 13 12:25:25 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 7101s Nov 13 12:25:25 When I shut down postgres1 # features/steps/basic_replication.py:29 7103s Nov 13 12:25:27 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 7103s Nov 13 12:25:27 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 7104s Nov 13 12:25:28 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 7104s Nov 13 12:25:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 7104s Nov 13 12:25:28 7104s Nov 13 12:25:28 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 7104s Nov 13 12:25:28 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 7106s Nov 13 12:25:30 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 7109s Nov 13 12:25:33 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 7109s Nov 13 12:25:33 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 7109s Nov 13 12:25:33 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 7109s Nov 13 12:25:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 7109s Nov 13 12:25:33 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 7109s Nov 13 12:25:33 And I sleep for 3 seconds # features/steps/patroni_api.py:39 7112s Nov 13 12:25:36 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 7112s Nov 13 12:25:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 7112s Nov 13 12:25:36 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 7112s Nov 13 12:25:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 7112s Nov 13 12:25:36 And I receive a response role standby_leader # features/steps/patroni_api.py:98 7112s Nov 13 12:25: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 7112s Nov 13 12:25:36 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 7115s Nov 13 12:25:39 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 7115s Nov 13 12:25:39 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 7115s Nov 13 12:25:39 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 7115s Nov 13 12:25:39 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 7115s Nov 13 12:25:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 7115s Nov 13 12:25:39 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 7115s Nov 13 12:25:39 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 7115s Nov 13 12:25:39 7115s Nov 13 12:25:39 Scenario: check switchover # features/standby_cluster.feature:57 7115s Nov 13 12:25:39 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 7118s Nov 13 12:25:42 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 7118s Nov 13 12:25:42 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 7120s Nov 13 12:25:44 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 7120s Nov 13 12:25:44 7120s Nov 13 12:25:44 Scenario: check failover # features/standby_cluster.feature:63 7120s Nov 13 12:25:44 When I kill postgres2 # features/steps/basic_replication.py:34 7121s Nov 13 12:25:45 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 7121s Nov 13 12:25:45 waiting for server to shut down.... done 7121s Nov 13 12:25:45 server stopped 7121s Nov 13 12:25:45 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 7140s Nov 13 12:26:04 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 7140s Nov 13 12:26:04 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 7141s Nov 13 12:26:05 Then I receive a response code 503 # features/steps/patroni_api.py:98 7141s Nov 13 12:26:05 And I receive a response role standby_leader # features/steps/patroni_api.py:98 7141s Nov 13 12:26:05 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 7142s Nov 13 12:26:06 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 7158s Nov 13 12:26:22 7158s Nov 13 12:26:22 Feature: watchdog # features/watchdog.feature:1 7158s Nov 13 12:26:22 Verify that watchdog gets pinged and triggered under appropriate circumstances. 7158s Nov 13 12:26:22 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 7158s Nov 13 12:26:22 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 7161s Nov 13 12:26:25 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 7161s Nov 13 12:26:25 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 7161s Nov 13 12:26:25 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 7161s Nov 13 12:26:25 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 7161s Nov 13 12:26:25 7161s Nov 13 12:26:25 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 7161s Nov 13 12:26:25 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 7162s Nov 13 12:26:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 7162s Nov 13 12:26:26 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 7162s Nov 13 12:26:26 When I sleep for 4 seconds # features/steps/patroni_api.py:39 7166s Nov 13 12:26:30 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 7166s Nov 13 12:26:30 7166s Nov 13 12:26:30 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 7166s Nov 13 12:26:30 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 7168s Nov 13 12:26:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 7168s Nov 13 12:26:32 When I sleep for 2 seconds # features/steps/patroni_api.py:39 7170s Nov 13 12:26:34 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 7170s Nov 13 12:26:34 7170s Nov 13 12:26:34 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 7170s Nov 13 12:26:34 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 7170s Nov 13 12:26:34 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 7171s Nov 13 12:26:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 7171s Nov 13 12:26:35 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 7171s Nov 13 12:26:35 7171s Nov 13 12:26:35 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 7171s Nov 13 12:26:35 Given I shut down postgres0 # features/steps/basic_replication.py:29 7173s Nov 13 12:26:37 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 7173s Nov 13 12:26:37 7173s Nov 13 12:26:37 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 7173s Nov 13 12:26:37 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 7173s Nov 13 12:26:37 And I start postgres0 with watchdog # features/steps/watchdog.py:16 7175s Nov 13 12:26:39 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 7177s Nov 13 12:26:41 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 7177s Nov 13 12:26:41 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 7211s Nov 13 12:27:15 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4552.XPQZLBlx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4555.XiWVwvwx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4601.XCRMkZfx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4649.XUXkqVUx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4698.XeiuQpex 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4742.XtDlxkQx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4813.XtcTyvWx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4861.XKsKnkox 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4866.XWJvNQDx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.4967.XgkMQNFx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5069.XfpLcDgx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5075.XtHkdVWx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5120.XALiIUCx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5170.XnpObPSx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5283.XyNUyVzx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5287.XWoPSBWx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5290.XfHkiUFx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5337.XJCHqIKx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5392.XENkOomx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5476.XnZdCbxx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5479.XcadEpPx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5794.XyKkyUcx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5869.XXNSfgWx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.5924.XlrWbdhx 7213s Nov 13 12:27:17 Skipping duplicate data .coverage.autopkgtest.6201.XmVtxhCx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6204.XtpDFOyx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6260.XGRlWeDx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6321.XODQZpLx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6411.XDmniHRx 7213s Nov 13 12:27:17 Skipping duplicate data .coverage.autopkgtest.6507.XefEeHMx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6511.XYuWfUTx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6548.XXygQFrx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6623.XrqPvICx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6653.XNQyuacx 7213s Nov 13 12:27:17 Skipping duplicate data .coverage.autopkgtest.6799.XquFndSx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6802.XFzOmHIx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6851.XeJGphLx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6867.Xvoeyxex 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6906.XsqHlVMx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6955.XtwRAkfx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6961.XftBVYPx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.6997.XDmKgibx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7040.XOamszKx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7201.XBfwIfRx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7204.XXsSuJWx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7211.XDGlswCx 7213s Nov 13 12:27:17 Skipping duplicate data .coverage.autopkgtest.7344.XCduRHhx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7347.XdcweVGx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7393.XCoCzqqx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7441.XDexrOWx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7477.XKRBMxCx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7543.XnAVLbdx 7213s Nov 13 12:27:17 Skipping duplicate data .coverage.autopkgtest.7710.XcdcXJxx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7713.XShWlchx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7757.XhZulxqx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7828.XIeCGbTx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7897.XxqLbWpx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.7982.XLCOVpvx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.8298.XpMumeVx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.8301.XiQtZONx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.8345.XQMilslx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.8495.XjtTlDUx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.8503.XYXhtjex 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.8566.XHxeZZax 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.8632.XnsYqypx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.8732.XqwfNbQx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.8853.XfwVhBhx 7213s Nov 13 12:27:17 Skipping duplicate data .coverage.autopkgtest.9030.XqYIMIxx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.9034.XzgoCswx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.9077.XrcmWqdx 7213s Nov 13 12:27:17 Skipping duplicate data .coverage.autopkgtest.9081.XUWyKgSx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.9085.XZMTYZBx 7213s Nov 13 12:27:17 Combined data file .coverage.autopkgtest.9098.XMUZCdjx 7213s Nov 13 12:27:17 Skipping duplicate data .coverage.autopkgtest.9163.XawGSZQx 7214s Nov 13 12:27:18 Name Stmts Miss Cover 7214s Nov 13 12:27:18 ------------------------------------------------------------------------------------------------------------- 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 114 96 16% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 397 257 35% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 59 58% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 50 64% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/utils.py 77 23 70% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/api.py 770 288 63% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 83 87% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 39 88% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/ha.py 1244 308 75% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 132 20% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 378 64% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/six.py 504 250 50% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 7214s Nov 13 12:27:18 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 7214s Nov 13 12:27:18 patroni/__init__.py 13 2 85% 7214s Nov 13 12:27:18 patroni/__main__.py 199 199 0% 7214s Nov 13 12:27:18 patroni/api.py 770 770 0% 7214s Nov 13 12:27:18 patroni/async_executor.py 96 69 28% 7214s Nov 13 12:27:18 patroni/collections.py 56 15 73% 7214s Nov 13 12:27:18 patroni/config.py 371 189 49% 7214s Nov 13 12:27:18 patroni/config_generator.py 212 212 0% 7214s Nov 13 12:27:18 patroni/ctl.py 936 411 56% 7214s Nov 13 12:27:18 patroni/daemon.py 76 6 92% 7214s Nov 13 12:27:18 patroni/dcs/__init__.py 646 268 59% 7214s Nov 13 12:27:18 patroni/dcs/consul.py 485 485 0% 7214s Nov 13 12:27:18 patroni/dcs/etcd3.py 679 679 0% 7214s Nov 13 12:27:18 patroni/dcs/etcd.py 603 603 0% 7214s Nov 13 12:27:18 patroni/dcs/exhibitor.py 61 61 0% 7214s Nov 13 12:27:18 patroni/dcs/kubernetes.py 938 938 0% 7214s Nov 13 12:27:18 patroni/dcs/raft.py 319 72 77% 7214s Nov 13 12:27:18 patroni/dcs/zookeeper.py 288 288 0% 7214s Nov 13 12:27:18 patroni/dynamic_loader.py 35 7 80% 7214s Nov 13 12:27:18 patroni/exceptions.py 16 1 94% 7214s Nov 13 12:27:18 patroni/file_perm.py 43 15 65% 7214s Nov 13 12:27:18 patroni/global_config.py 81 18 78% 7214s Nov 13 12:27:18 patroni/ha.py 1244 1244 0% 7214s Nov 13 12:27:18 patroni/log.py 219 93 58% 7214s Nov 13 12:27:18 patroni/postgresql/__init__.py 821 651 21% 7214s Nov 13 12:27:18 patroni/postgresql/available_parameters/__init__.py 21 1 95% 7214s Nov 13 12:27:18 patroni/postgresql/bootstrap.py 252 222 12% 7214s Nov 13 12:27:18 patroni/postgresql/callback_executor.py 55 34 38% 7214s Nov 13 12:27:18 patroni/postgresql/cancellable.py 104 84 19% 7214s Nov 13 12:27:18 patroni/postgresql/config.py 813 698 14% 7214s Nov 13 12:27:18 patroni/postgresql/connection.py 75 50 33% 7214s Nov 13 12:27:18 patroni/postgresql/misc.py 41 29 29% 7214s Nov 13 12:27:18 patroni/postgresql/mpp/__init__.py 89 21 76% 7214s Nov 13 12:27:18 patroni/postgresql/mpp/citus.py 259 259 0% 7214s Nov 13 12:27:18 patroni/postgresql/postmaster.py 170 139 18% 7214s Nov 13 12:27:18 patroni/postgresql/rewind.py 416 416 0% 7214s Nov 13 12:27:18 patroni/postgresql/slots.py 334 285 15% 7214s Nov 13 12:27:18 patroni/postgresql/sync.py 130 96 26% 7214s Nov 13 12:27:18 patroni/postgresql/validator.py 157 52 67% 7214s Nov 13 12:27:18 patroni/psycopg.py 42 28 33% 7214s Nov 13 12:27:18 patroni/raft_controller.py 22 1 95% 7214s Nov 13 12:27:18 patroni/request.py 62 6 90% 7214s Nov 13 12:27:18 patroni/scripts/__init__.py 0 0 100% 7214s Nov 13 12:27:18 patroni/scripts/aws.py 59 59 0% 7214s Nov 13 12:27:18 patroni/scripts/barman/__init__.py 0 0 100% 7214s Nov 13 12:27:18 patroni/scripts/barman/cli.py 51 51 0% 7214s Nov 13 12:27:18 patroni/scripts/barman/config_switch.py 51 51 0% 7214s Nov 13 12:27:18 patroni/scripts/barman/recover.py 37 37 0% 7214s Nov 13 12:27:18 patroni/scripts/barman/utils.py 94 94 0% 7214s Nov 13 12:27:18 patroni/scripts/wale_restore.py 207 207 0% 7214s Nov 13 12:27:18 patroni/tags.py 38 11 71% 7214s Nov 13 12:27:18 patroni/utils.py 350 215 39% 7214s Nov 13 12:27:18 patroni/validator.py 301 215 29% 7214s Nov 13 12:27:18 patroni/version.py 1 0 100% 7214s Nov 13 12:27:18 patroni/watchdog/__init__.py 2 2 0% 7214s Nov 13 12:27:18 patroni/watchdog/base.py 203 203 0% 7214s Nov 13 12:27:18 patroni/watchdog/linux.py 135 135 0% 7214s Nov 13 12:27:18 ------------------------------------------------------------------------------------------------------------- 7214s Nov 13 12:27:18 TOTAL 44230 24976 44% 7214s Nov 13 12:27:18 12 features passed, 0 failed, 1 skipped 7214s Nov 13 12:27:18 54 scenarios passed, 0 failed, 6 skipped 7214s Nov 13 12:27:18 522 steps passed, 0 failed, 63 skipped, 0 undefined 7214s Nov 13 12:27:18 Took 8m40.726s 7214s ### End 16 acceptance-raft ### 7214s + echo '### End 16 acceptance-raft ###' 7214s + rm -f '/tmp/pgpass?' 7214s ++ id -u 7214s + '[' 1000 -eq 0 ']' 7214s autopkgtest [12:27:18]: test acceptance-raft: -----------------------] 7215s autopkgtest [12:27:19]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 7215s acceptance-raft PASS 7215s autopkgtest [12:27:19]: test test: preparing testbed 8429s autopkgtest [12:47:33]: testbed dpkg architecture: amd64 8430s autopkgtest [12:47:34]: testbed apt version: 2.9.8 8430s autopkgtest [12:47:34]: @@@@@@@@@@@@@@@@@@@@ test bed setup 8430s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 8431s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [16.5 kB] 8431s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [967 kB] 8431s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 8431s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [104 kB] 8431s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [79.6 kB] 8431s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [131 kB] 8431s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 8431s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [281 kB] 8431s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [721 kB] 8431s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [38.5 kB] 8431s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [13.3 kB] 8431s Fetched 2466 kB in 1s (2881 kB/s) 8431s Reading package lists... 8433s Reading package lists... 8433s Building dependency tree... 8433s Reading state information... 8434s Calculating upgrade... 8434s The following NEW packages will be installed: 8434s python3.13-gdbm 8434s The following packages will be upgraded: 8434s libgpgme11t64 libpython3-stdlib python3 python3-gdbm python3-minimal 8434s 5 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 8434s Need to get 253 kB of archives. 8434s After this operation, 147 kB of additional disk space will be used. 8434s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-minimal amd64 3.12.7-1 [27.4 kB] 8434s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3 amd64 3.12.7-1 [24.0 kB] 8434s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libpython3-stdlib amd64 3.12.7-1 [10.0 kB] 8434s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-gdbm amd64 3.13.0-2 [31.3 kB] 8434s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-gdbm amd64 3.12.7-1 [8642 B] 8434s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libgpgme11t64 amd64 1.23.2-5ubuntu4 [152 kB] 8434s Fetched 253 kB in 0s (607 kB/s) 8435s (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 ... 75541 files and directories currently installed.) 8435s Preparing to unpack .../python3-minimal_3.12.7-1_amd64.deb ... 8435s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 8435s Setting up python3-minimal (3.12.7-1) ... 8435s (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 ... 75541 files and directories currently installed.) 8435s Preparing to unpack .../python3_3.12.7-1_amd64.deb ... 8435s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 8435s Preparing to unpack .../libpython3-stdlib_3.12.7-1_amd64.deb ... 8435s Unpacking libpython3-stdlib:amd64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 8435s Selecting previously unselected package python3.13-gdbm. 8435s Preparing to unpack .../python3.13-gdbm_3.13.0-2_amd64.deb ... 8435s Unpacking python3.13-gdbm (3.13.0-2) ... 8435s Preparing to unpack .../python3-gdbm_3.12.7-1_amd64.deb ... 8435s Unpacking python3-gdbm:amd64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 8435s Preparing to unpack .../libgpgme11t64_1.23.2-5ubuntu4_amd64.deb ... 8435s Unpacking libgpgme11t64:amd64 (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ... 8435s Setting up libgpgme11t64:amd64 (1.23.2-5ubuntu4) ... 8435s Setting up python3.13-gdbm (3.13.0-2) ... 8435s Setting up libpython3-stdlib:amd64 (3.12.7-1) ... 8435s Setting up python3 (3.12.7-1) ... 8435s Setting up python3-gdbm:amd64 (3.12.7-1) ... 8435s Processing triggers for man-db (2.12.1-3) ... 8436s Processing triggers for libc-bin (2.40-1ubuntu3) ... 8436s Reading package lists... 8436s Building dependency tree... 8436s Reading state information... 8436s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 8437s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 8437s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 8437s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 8437s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 8438s Reading package lists... 8438s Reading package lists... 8438s Building dependency tree... 8438s Reading state information... 8438s Calculating upgrade... 8438s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 8438s Reading package lists... 8438s Building dependency tree... 8438s Reading state information... 8439s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 8443s Reading package lists... 8443s Building dependency tree... 8443s Reading state information... 8443s Starting pkgProblemResolver with broken count: 0 8443s Starting 2 pkgProblemResolver with broken count: 0 8443s Done 8444s The following additional packages will be installed: 8444s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 8444s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 8444s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 8444s libjs-underscore libpq5 patroni patroni-doc python3-aiohttp 8444s python3-aiosignal python3-async-timeout python3-boto3 python3-botocore 8444s python3-cachetools python3-cdiff python3-click python3-colorama 8444s python3-consul python3-coverage python3-dateutil python3-dnspython 8444s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 8444s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 8444s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 8444s python3-mccabe python3-mock python3-multidict python3-packaging 8444s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 8444s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 8444s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 8444s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 8444s python3-s3transfer python3-six python3-wcwidth python3-websocket 8444s python3-yarl python3-ydiff python3-zope.event python3-zope.interface 8444s sphinx-rtd-theme-common 8444s Suggested packages: 8444s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 8444s python3-tornado python3-twisted python-coverage-doc python3-trio 8444s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 8444s python-eventlet-doc python-gevent-doc python-greenlet-dev 8444s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 8444s Recommended packages: 8444s javascript-common python3-aiodns pyflakes3 8444s The following NEW packages will be installed: 8444s autopkgtest-satdep fonts-font-awesome fonts-lato libcares2 libev4t64 8444s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 8444s libjs-jquery-metadata libjs-jquery-tablesorter 8444s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 8444s patroni patroni-doc python3-aiohttp python3-aiosignal python3-async-timeout 8444s python3-boto3 python3-botocore python3-cachetools python3-cdiff 8444s python3-click python3-colorama python3-consul python3-coverage 8444s python3-dateutil python3-dnspython python3-etcd python3-eventlet 8444s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 8444s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 8444s python3-kerberos python3-kubernetes python3-mccabe python3-mock 8444s python3-multidict python3-packaging python3-pluggy python3-prettytable 8444s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 8444s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 8444s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 8444s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 8444s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 8444s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 8444s 0 upgraded, 70 newly installed, 0 to remove and 0 not upgraded. 8444s Need to get 17.0 MB/17.0 MB of archives. 8444s After this operation, 158 MB of additional disk space will be used. 8444s Get:1 /tmp/autopkgtest.SBUqvr/6-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [788 B] 8444s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-lato all 2.015-1 [2781 kB] 8444s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 8444s Get:4 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 8444s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 8444s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libcares2 amd64 1.34.2-1 [104 kB] 8444s Get:7 http://ftpmaster.internal/ubuntu plucky/universe amd64 libev4t64 amd64 1:4.33-2.1build1 [31.0 kB] 8444s Get:8 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-metadata all 12-4 [6582 B] 8444s Get:9 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 8444s Get:10 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 8444s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 8445s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 8445s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libpq5 amd64 17.0-1 [249 kB] 8445s Get:14 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ydiff all 1.3-1 [18.4 kB] 8445s Get:15 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cdiff all 1.3-1 [1770 B] 8445s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-colorama all 0.4.6-4 [32.1 kB] 8445s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-click all 8.1.7-2 [79.5 kB] 8445s Get:18 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-six all 1.16.0-7 [13.1 kB] 8445s Get:19 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 8445s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 8445s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-prettytable all 3.10.1-1 [34.0 kB] 8445s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psutil amd64 5.9.8-2build2 [195 kB] 8445s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-psycopg2 amd64 2.9.9-2 [132 kB] 8445s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 8445s Get:25 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-etcd all 0.4.5-4 [31.9 kB] 8445s Get:26 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-consul all 0.7.1-2 [21.6 kB] 8445s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-greenlet amd64 3.0.3-0ubuntu6 [155 kB] 8445s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 8445s Get:29 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-zope.event all 5.0-0.1 [7512 B] 8445s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-zope.interface amd64 7.1.1-1 [141 kB] 8445s Get:31 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-gevent amd64 24.2.1-1 [805 kB] 8445s Get:32 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kerberos amd64 1.1.14-3.1build9 [21.2 kB] 8445s Get:33 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 8445s Get:34 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kazoo all 2.9.0-2 [103 kB] 8445s Get:35 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-multidict amd64 6.1.0-1 [34.3 kB] 8445s Get:36 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-yarl amd64 1.9.4-1 [71.8 kB] 8445s Get:37 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-async-timeout all 4.0.3-1 [6412 B] 8445s Get:38 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-frozenlist amd64 1.5.0-1 [53.2 kB] 8445s Get:39 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-aiosignal all 1.3.1-1 [5172 B] 8445s Get:40 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-aiohttp amd64 3.9.5-1 [285 kB] 8445s Get:41 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-cachetools all 5.3.3-1 [10.3 kB] 8445s Get:42 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-pyasn1 all 0.5.1-1 [57.4 kB] 8445s Get:43 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-pyasn1-modules all 0.3.0-1 [80.2 kB] 8445s Get:44 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pyu2f all 0.1.5-4 [22.9 kB] 8445s Get:45 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-responses all 0.25.3-1 [54.3 kB] 8445s Get:46 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-rsa all 4.9-2 [28.2 kB] 8445s Get:47 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-google-auth all 2.28.2-3 [91.0 kB] 8445s Get:48 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 8445s Get:49 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-websocket all 1.8.0-2 [38.5 kB] 8445s Get:50 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-kubernetes all 30.1.0-1 [386 kB] 8445s Get:51 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 8445s Get:52 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni all 3.3.1-1 [264 kB] 8445s Get:53 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 8445s Get:54 http://ftpmaster.internal/ubuntu plucky/universe amd64 patroni-doc all 3.3.1-1 [497 kB] 8445s Get:55 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-jmespath all 1.0.1-1 [21.3 kB] 8445s Get:56 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 8445s Get:57 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 8445s Get:58 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 8445s Get:59 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 8446s Get:60 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-mccabe all 0.7.0-1 [8678 B] 8446s Get:61 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pycodestyle all 2.11.1-1 [29.9 kB] 8446s Get:62 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pyflakes all 3.2.0-1 [52.8 kB] 8446s Get:63 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-flake8 all 7.1.1-1 [43.9 kB] 8446s Get:64 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 8446s Get:65 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-packaging all 24.1-1 [41.4 kB] 8446s Get:66 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 8446s Get:67 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest all 8.3.3-1 [251 kB] 8446s Get:68 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 8446s Get:69 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 8446s Get:70 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-mock all 5.1.0-1 [64.1 kB] 8446s Fetched 17.0 MB in 2s (8904 kB/s) 8446s Selecting previously unselected package fonts-lato. 8446s (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 ... 75548 files and directories currently installed.) 8446s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 8446s Unpacking fonts-lato (2.015-1) ... 8446s Selecting previously unselected package libjs-jquery. 8446s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 8446s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 8446s Selecting previously unselected package libjs-jquery-hotkeys. 8446s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 8446s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 8446s Selecting previously unselected package fonts-font-awesome. 8446s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 8446s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 8446s Selecting previously unselected package libcares2:amd64. 8446s Preparing to unpack .../04-libcares2_1.34.2-1_amd64.deb ... 8446s Unpacking libcares2:amd64 (1.34.2-1) ... 8446s Selecting previously unselected package libev4t64:amd64. 8446s Preparing to unpack .../05-libev4t64_1%3a4.33-2.1build1_amd64.deb ... 8446s Unpacking libev4t64:amd64 (1:4.33-2.1build1) ... 8446s Selecting previously unselected package libjs-jquery-metadata. 8446s Preparing to unpack .../06-libjs-jquery-metadata_12-4_all.deb ... 8446s Unpacking libjs-jquery-metadata (12-4) ... 8446s Selecting previously unselected package libjs-jquery-tablesorter. 8446s Preparing to unpack .../07-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 8446s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 8446s Selecting previously unselected package libjs-jquery-throttle-debounce. 8446s Preparing to unpack .../08-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 8446s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 8446s Selecting previously unselected package libjs-underscore. 8446s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 8446s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 8446s Selecting previously unselected package libjs-sphinxdoc. 8446s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 8446s Unpacking libjs-sphinxdoc (7.4.7-4) ... 8446s Selecting previously unselected package libpq5:amd64. 8446s Preparing to unpack .../11-libpq5_17.0-1_amd64.deb ... 8446s Unpacking libpq5:amd64 (17.0-1) ... 8446s Selecting previously unselected package python3-ydiff. 8446s Preparing to unpack .../12-python3-ydiff_1.3-1_all.deb ... 8446s Unpacking python3-ydiff (1.3-1) ... 8446s Selecting previously unselected package python3-cdiff. 8446s Preparing to unpack .../13-python3-cdiff_1.3-1_all.deb ... 8446s Unpacking python3-cdiff (1.3-1) ... 8446s Selecting previously unselected package python3-colorama. 8446s Preparing to unpack .../14-python3-colorama_0.4.6-4_all.deb ... 8446s Unpacking python3-colorama (0.4.6-4) ... 8446s Selecting previously unselected package python3-click. 8446s Preparing to unpack .../15-python3-click_8.1.7-2_all.deb ... 8446s Unpacking python3-click (8.1.7-2) ... 8446s Selecting previously unselected package python3-six. 8446s Preparing to unpack .../16-python3-six_1.16.0-7_all.deb ... 8446s Unpacking python3-six (1.16.0-7) ... 8446s Selecting previously unselected package python3-dateutil. 8446s Preparing to unpack .../17-python3-dateutil_2.9.0-2_all.deb ... 8446s Unpacking python3-dateutil (2.9.0-2) ... 8447s Selecting previously unselected package python3-wcwidth. 8447s Preparing to unpack .../18-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 8447s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 8447s Selecting previously unselected package python3-prettytable. 8447s Preparing to unpack .../19-python3-prettytable_3.10.1-1_all.deb ... 8447s Unpacking python3-prettytable (3.10.1-1) ... 8447s Selecting previously unselected package python3-psutil. 8447s Preparing to unpack .../20-python3-psutil_5.9.8-2build2_amd64.deb ... 8447s Unpacking python3-psutil (5.9.8-2build2) ... 8447s Selecting previously unselected package python3-psycopg2. 8447s Preparing to unpack .../21-python3-psycopg2_2.9.9-2_amd64.deb ... 8447s Unpacking python3-psycopg2 (2.9.9-2) ... 8447s Selecting previously unselected package python3-dnspython. 8447s Preparing to unpack .../22-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 8447s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 8447s Selecting previously unselected package python3-etcd. 8447s Preparing to unpack .../23-python3-etcd_0.4.5-4_all.deb ... 8447s Unpacking python3-etcd (0.4.5-4) ... 8447s Selecting previously unselected package python3-consul. 8447s Preparing to unpack .../24-python3-consul_0.7.1-2_all.deb ... 8447s Unpacking python3-consul (0.7.1-2) ... 8447s Selecting previously unselected package python3-greenlet. 8447s Preparing to unpack .../25-python3-greenlet_3.0.3-0ubuntu6_amd64.deb ... 8447s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 8447s Selecting previously unselected package python3-eventlet. 8447s Preparing to unpack .../26-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 8447s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 8447s Selecting previously unselected package python3-zope.event. 8447s Preparing to unpack .../27-python3-zope.event_5.0-0.1_all.deb ... 8447s Unpacking python3-zope.event (5.0-0.1) ... 8447s Selecting previously unselected package python3-zope.interface. 8447s Preparing to unpack .../28-python3-zope.interface_7.1.1-1_amd64.deb ... 8447s Unpacking python3-zope.interface (7.1.1-1) ... 8447s Selecting previously unselected package python3-gevent. 8447s Preparing to unpack .../29-python3-gevent_24.2.1-1_amd64.deb ... 8447s Unpacking python3-gevent (24.2.1-1) ... 8447s Selecting previously unselected package python3-kerberos. 8447s Preparing to unpack .../30-python3-kerberos_1.1.14-3.1build9_amd64.deb ... 8447s Unpacking python3-kerberos (1.1.14-3.1build9) ... 8447s Selecting previously unselected package python3-pure-sasl. 8447s Preparing to unpack .../31-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 8447s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 8447s Selecting previously unselected package python3-kazoo. 8447s Preparing to unpack .../32-python3-kazoo_2.9.0-2_all.deb ... 8447s Unpacking python3-kazoo (2.9.0-2) ... 8447s Selecting previously unselected package python3-multidict. 8447s Preparing to unpack .../33-python3-multidict_6.1.0-1_amd64.deb ... 8447s Unpacking python3-multidict (6.1.0-1) ... 8447s Selecting previously unselected package python3-yarl. 8447s Preparing to unpack .../34-python3-yarl_1.9.4-1_amd64.deb ... 8447s Unpacking python3-yarl (1.9.4-1) ... 8447s Selecting previously unselected package python3-async-timeout. 8447s Preparing to unpack .../35-python3-async-timeout_4.0.3-1_all.deb ... 8447s Unpacking python3-async-timeout (4.0.3-1) ... 8447s Selecting previously unselected package python3-frozenlist. 8447s Preparing to unpack .../36-python3-frozenlist_1.5.0-1_amd64.deb ... 8447s Unpacking python3-frozenlist (1.5.0-1) ... 8447s Selecting previously unselected package python3-aiosignal. 8447s Preparing to unpack .../37-python3-aiosignal_1.3.1-1_all.deb ... 8447s Unpacking python3-aiosignal (1.3.1-1) ... 8447s Selecting previously unselected package python3-aiohttp. 8447s Preparing to unpack .../38-python3-aiohttp_3.9.5-1_amd64.deb ... 8447s Unpacking python3-aiohttp (3.9.5-1) ... 8447s Selecting previously unselected package python3-cachetools. 8447s Preparing to unpack .../39-python3-cachetools_5.3.3-1_all.deb ... 8447s Unpacking python3-cachetools (5.3.3-1) ... 8447s Selecting previously unselected package python3-pyasn1. 8447s Preparing to unpack .../40-python3-pyasn1_0.5.1-1_all.deb ... 8447s Unpacking python3-pyasn1 (0.5.1-1) ... 8447s Selecting previously unselected package python3-pyasn1-modules. 8447s Preparing to unpack .../41-python3-pyasn1-modules_0.3.0-1_all.deb ... 8447s Unpacking python3-pyasn1-modules (0.3.0-1) ... 8447s Selecting previously unselected package python3-pyu2f. 8447s Preparing to unpack .../42-python3-pyu2f_0.1.5-4_all.deb ... 8447s Unpacking python3-pyu2f (0.1.5-4) ... 8447s Selecting previously unselected package python3-responses. 8447s Preparing to unpack .../43-python3-responses_0.25.3-1_all.deb ... 8447s Unpacking python3-responses (0.25.3-1) ... 8447s Selecting previously unselected package python3-rsa. 8447s Preparing to unpack .../44-python3-rsa_4.9-2_all.deb ... 8447s Unpacking python3-rsa (4.9-2) ... 8447s Selecting previously unselected package python3-google-auth. 8447s Preparing to unpack .../45-python3-google-auth_2.28.2-3_all.deb ... 8447s Unpacking python3-google-auth (2.28.2-3) ... 8447s Selecting previously unselected package python3-requests-oauthlib. 8447s Preparing to unpack .../46-python3-requests-oauthlib_1.3.1-1_all.deb ... 8447s Unpacking python3-requests-oauthlib (1.3.1-1) ... 8447s Selecting previously unselected package python3-websocket. 8447s Preparing to unpack .../47-python3-websocket_1.8.0-2_all.deb ... 8447s Unpacking python3-websocket (1.8.0-2) ... 8447s Selecting previously unselected package python3-kubernetes. 8447s Preparing to unpack .../48-python3-kubernetes_30.1.0-1_all.deb ... 8447s Unpacking python3-kubernetes (30.1.0-1) ... 8448s Selecting previously unselected package python3-pysyncobj. 8448s Preparing to unpack .../49-python3-pysyncobj_0.3.12-1_all.deb ... 8448s Unpacking python3-pysyncobj (0.3.12-1) ... 8448s Selecting previously unselected package patroni. 8448s Preparing to unpack .../50-patroni_3.3.1-1_all.deb ... 8448s Unpacking patroni (3.3.1-1) ... 8448s Selecting previously unselected package sphinx-rtd-theme-common. 8448s Preparing to unpack .../51-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 8448s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 8448s Selecting previously unselected package patroni-doc. 8448s Preparing to unpack .../52-patroni-doc_3.3.1-1_all.deb ... 8448s Unpacking patroni-doc (3.3.1-1) ... 8448s Selecting previously unselected package python3-jmespath. 8448s Preparing to unpack .../53-python3-jmespath_1.0.1-1_all.deb ... 8448s Unpacking python3-jmespath (1.0.1-1) ... 8448s Selecting previously unselected package python3-botocore. 8448s Preparing to unpack .../54-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 8448s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 8448s Selecting previously unselected package python3-s3transfer. 8448s Preparing to unpack .../55-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 8448s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 8448s Selecting previously unselected package python3-boto3. 8448s Preparing to unpack .../56-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 8448s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 8448s Selecting previously unselected package python3-coverage. 8448s Preparing to unpack .../57-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 8448s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 8448s Selecting previously unselected package python3-mccabe. 8448s Preparing to unpack .../58-python3-mccabe_0.7.0-1_all.deb ... 8448s Unpacking python3-mccabe (0.7.0-1) ... 8448s Selecting previously unselected package python3-pycodestyle. 8448s Preparing to unpack .../59-python3-pycodestyle_2.11.1-1_all.deb ... 8448s Unpacking python3-pycodestyle (2.11.1-1) ... 8448s Selecting previously unselected package python3-pyflakes. 8448s Preparing to unpack .../60-python3-pyflakes_3.2.0-1_all.deb ... 8448s Unpacking python3-pyflakes (3.2.0-1) ... 8448s Selecting previously unselected package python3-flake8. 8448s Preparing to unpack .../61-python3-flake8_7.1.1-1_all.deb ... 8448s Unpacking python3-flake8 (7.1.1-1) ... 8448s Selecting previously unselected package python3-iniconfig. 8448s Preparing to unpack .../62-python3-iniconfig_1.1.1-2_all.deb ... 8448s Unpacking python3-iniconfig (1.1.1-2) ... 8448s Selecting previously unselected package python3-packaging. 8448s Preparing to unpack .../63-python3-packaging_24.1-1_all.deb ... 8448s Unpacking python3-packaging (24.1-1) ... 8448s Selecting previously unselected package python3-pluggy. 8448s Preparing to unpack .../64-python3-pluggy_1.5.0-1_all.deb ... 8448s Unpacking python3-pluggy (1.5.0-1) ... 8448s Selecting previously unselected package python3-pytest. 8449s Preparing to unpack .../65-python3-pytest_8.3.3-1_all.deb ... 8449s Unpacking python3-pytest (8.3.3-1) ... 8449s Selecting previously unselected package libjs-jquery-isonscreen. 8449s Preparing to unpack .../66-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 8449s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 8449s Selecting previously unselected package python3-pytest-cov. 8449s Preparing to unpack .../67-python3-pytest-cov_5.0.0-1_all.deb ... 8449s Unpacking python3-pytest-cov (5.0.0-1) ... 8449s Selecting previously unselected package python3-mock. 8449s Preparing to unpack .../68-python3-mock_5.1.0-1_all.deb ... 8449s Unpacking python3-mock (5.1.0-1) ... 8449s Selecting previously unselected package autopkgtest-satdep. 8449s Preparing to unpack .../69-6-autopkgtest-satdep.deb ... 8449s Unpacking autopkgtest-satdep (0) ... 8449s Setting up python3-iniconfig (1.1.1-2) ... 8449s Setting up libev4t64:amd64 (1:4.33-2.1build1) ... 8449s Setting up fonts-lato (2.015-1) ... 8449s Setting up python3-pysyncobj (0.3.12-1) ... 8449s Setting up python3-cachetools (5.3.3-1) ... 8449s Setting up python3-colorama (0.4.6-4) ... 8449s Setting up python3-zope.event (5.0-0.1) ... 8449s Setting up python3-zope.interface (7.1.1-1) ... 8449s Setting up python3-pyflakes (3.2.0-1) ... 8449s Setting up python3-ydiff (1.3-1) ... 8450s Setting up libpq5:amd64 (17.0-1) ... 8450s Setting up python3-kerberos (1.1.14-3.1build9) ... 8450s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 8450s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 8450s Setting up python3-click (8.1.7-2) ... 8450s Setting up python3-psutil (5.9.8-2build2) ... 8450s Setting up python3-multidict (6.1.0-1) ... 8450s Setting up python3-frozenlist (1.5.0-1) ... 8450s Setting up python3-aiosignal (1.3.1-1) ... 8450s Setting up python3-mock (5.1.0-1) ... 8451s Setting up python3-async-timeout (4.0.3-1) ... 8451s Setting up python3-six (1.16.0-7) ... 8451s Setting up python3-responses (0.25.3-1) ... 8451s Setting up python3-pycodestyle (2.11.1-1) ... 8451s Setting up python3-packaging (24.1-1) ... 8451s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 8451s Setting up python3-pyu2f (0.1.5-4) ... 8451s Setting up python3-jmespath (1.0.1-1) ... 8451s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 8452s Setting up libcares2:amd64 (1.34.2-1) ... 8452s Setting up python3-psycopg2 (2.9.9-2) ... 8452s Setting up python3-pluggy (1.5.0-1) ... 8452s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 8452s Setting up python3-pyasn1 (0.5.1-1) ... 8452s Setting up python3-dateutil (2.9.0-2) ... 8452s Setting up python3-mccabe (0.7.0-1) ... 8452s Setting up python3-consul (0.7.1-2) ... 8452s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 8452s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 8452s Setting up python3-prettytable (3.10.1-1) ... 8453s Setting up python3-yarl (1.9.4-1) ... 8453s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 8453s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 8453s Setting up python3-websocket (1.8.0-2) ... 8453s Setting up python3-requests-oauthlib (1.3.1-1) ... 8453s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 8453s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 8453s Setting up python3-etcd (0.4.5-4) ... 8453s Setting up python3-pytest (8.3.3-1) ... 8453s Setting up python3-cdiff (1.3-1) ... 8453s Setting up python3-aiohttp (3.9.5-1) ... 8454s Setting up python3-gevent (24.2.1-1) ... 8454s Setting up python3-flake8 (7.1.1-1) ... 8454s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 8454s Setting up python3-kazoo (2.9.0-2) ... 8454s Setting up python3-pyasn1-modules (0.3.0-1) ... 8455s Setting up libjs-jquery-metadata (12-4) ... 8455s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 8455s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 8455s Setting up libjs-sphinxdoc (7.4.7-4) ... 8455s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 8455s Setting up python3-rsa (4.9-2) ... 8455s Setting up patroni (3.3.1-1) ... 8455s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 8455s Setting up patroni-doc (3.3.1-1) ... 8455s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 8456s Setting up python3-pytest-cov (5.0.0-1) ... 8456s Setting up python3-google-auth (2.28.2-3) ... 8456s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 8456s Setting up python3-kubernetes (30.1.0-1) ... 8457s Setting up autopkgtest-satdep (0) ... 8457s Processing triggers for man-db (2.12.1-3) ... 8457s Processing triggers for libc-bin (2.40-1ubuntu3) ... 8461s (Reading database ... 81650 files and directories currently installed.) 8461s Removing autopkgtest-satdep (0) ... 8462s autopkgtest [12:48:06]: test test: [----------------------- 8463s running test 8463s ============================= test session starts ============================== 8463s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3 8463s cachedir: .pytest_cache 8463s rootdir: /tmp/autopkgtest.SBUqvr/build.qty/src 8463s plugins: typeguard-4.4.1, cov-5.0.0 8468s collecting ... collected 646 items 8468s 8468s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 8468s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 8468s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 8468s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 8468s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 8468s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 8468s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 8468s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 8468s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 8468s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 8468s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 8468s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 8468s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 8468s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 8468s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 8468s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 8468s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 8468s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 8468s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 8468s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 8468s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 8468s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 8468s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 8468s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 8469s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 8469s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 8469s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 8469s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 8469s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 8469s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 8469s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 8469s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 8469s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 8469s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 8469s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 8469s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 8469s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 8469s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 8469s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 8469s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 8469s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 8469s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 8469s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 8469s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 8469s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 8469s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 8469s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 8469s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 8469s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 8469s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 8469s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 8469s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 8%] 8469s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 8469s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 8469s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 8469s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 8469s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 8469s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 8469s tests/test_barman.py::TestMain::test_main PASSED [ 9%] 8469s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 8469s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 8469s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 8469s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 8469s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 8469s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 10%] 8469s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 8469s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 8469s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 8469s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 8470s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 8470s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 8470s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 11%] 8470s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 8470s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 8470s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 8470s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 8470s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 8470s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 12%] 8470s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 8470s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 8470s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 8470s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 8470s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 8470s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 13%] 8470s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 13%] 8470s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 8470s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 8470s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 8470s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 8470s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 8470s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 14%] 8470s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 8470s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 8470s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 8470s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 8470s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 8470s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 15%] 8470s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 15%] 8470s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 8470s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 15%] 8470s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 8470s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 8470s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 8470s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 16%] 8470s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 16%] 8470s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 8470s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 8470s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 8470s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 8470s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 17%] 8470s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 17%] 8470s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 8470s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 8470s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 8470s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 8470s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 8470s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 18%] 8470s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 18%] 8470s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 8470s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 8470s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 8470s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 8470s tests/test_consul.py::TestConsul::test_update_service PASSED [ 19%] 8470s tests/test_consul.py::TestConsul::test_watch PASSED [ 19%] 8470s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 8470s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 8470s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 8470s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 8470s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 8470s tests/test_ctl.py::TestCtl::test_failover PASSED [ 20%] 8470s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 20%] 8470s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 8470s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 8470s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 8470s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 8470s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 21%] 8470s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 21%] 8470s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 8470s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 8470s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 8470s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 8470s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 8470s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 22%] 8470s tests/test_ctl.py::TestCtl::test_members PASSED [ 22%] 8470s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 8470s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 8470s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 8470s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 8470s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 23%] 8470s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 23%] 8470s tests/test_ctl.py::TestCtl::test_reload PASSED [ 23%] 8470s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 8470s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 8470s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 8470s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 8470s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 24%] 8470s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 24%] 8470s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 8470s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 8470s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 8470s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 8470s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 25%] 8470s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 25%] 8470s tests/test_etcd.py::TestClient::test___del__ PASSED [ 25%] 8470s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 8470s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 8470s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 8470s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 26%] 8471s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 26%] 8471s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 26%] 8471s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 8471s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 8471s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 8471s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 8471s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 27%] 8471s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 27%] 8471s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 27%] 8471s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 8471s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 8471s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 8471s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 28%] 8471s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 28%] 8471s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 28%] 8471s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 8471s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 8471s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 8471s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 8471s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 29%] 8471s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 29%] 8471s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 29%] 8471s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 8471s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 8471s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 8471s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 30%] 8471s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 30%] 8471s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 30%] 8471s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 30%] 8471s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 8471s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 8471s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 8471s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 31%] 8471s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 31%] 8471s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 31%] 8471s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 8471s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 8471s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 8471s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 32%] 8471s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 32%] 8471s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 32%] 8471s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 32%] 8471s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 8471s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 8471s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 8471s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 33%] 8471s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 33%] 8471s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 33%] 8471s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 8471s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 8471s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 8471s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 34%] 8471s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 34%] 8471s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 34%] 8471s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 34%] 8471s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 8471s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 8471s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 8471s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 35%] 8471s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 35%] 8471s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 35%] 8472s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 8472s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 8472s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 8472s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 36%] 8472s tests/test_ha.py::TestHa::test_after_pause PASSED [ 36%] 8472s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 36%] 8472s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 8472s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 8472s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 8472s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 8472s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 37%] 8472s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 37%] 8472s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 8472s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 8472s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 8472s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 8472s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 38%] 8472s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 38%] 8472s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 8472s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 8472s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 8472s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 8472s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 39%] 8472s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 39%] 8472s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 8472s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 8472s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 8472s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 8472s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 8472s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 40%] 8472s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 8472s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 8472s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 8472s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 8472s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 8472s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 41%] 8472s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 8472s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 8472s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 8472s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 8472s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 8472s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 8472s tests/test_ha.py::TestHa::test_is_leader PASSED [ 42%] 8472s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 8472s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 8472s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 8472s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 8472s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 8472s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 43%] 8472s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 43%] 8472s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 8472s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 8472s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 8472s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 8472s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 8472s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 44%] 8472s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 8472s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 8472s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 8472s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 8472s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 8472s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 45%] 8472s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 8472s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 8472s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 8472s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 8472s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 8472s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 8472s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 8472s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 8472s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 8472s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 8472s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 8473s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 8473s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 8473s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 8473s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 8473s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 8473s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 8473s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 8473s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 8473s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 8473s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 8473s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 8473s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 8473s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 8473s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 8473s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 8473s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 8473s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 8473s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 8473s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 8473s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 8473s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 8473s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 8473s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 8473s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 8473s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 8473s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 8473s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 8473s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 8473s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 8473s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 8473s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 8473s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 51%] 8473s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 8473s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 8473s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 8473s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 8473s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 8473s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 52%] 8473s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 8473s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 8473s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 8473s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 8473s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 8473s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 53%] 8473s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 53%] 8473s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 8473s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 8473s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 8473s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 8473s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 54%] 8473s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 54%] 8473s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 8473s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 8473s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 55%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 55%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 55%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 56%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 56%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 56%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 8473s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 57%] 8474s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 57%] 8474s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 8474s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 8474s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 8475s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 8475s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 58%] 8475s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 58%] 8475s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 58%] 8475s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 8475s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 8475s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 8475s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 59%] 8475s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 59%] 8475s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 59%] 8475s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 8475s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 8475s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 60%] 8475s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 60%] 8475s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 60%] 8475s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 60%] 8475s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 60%] 8475s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 8475s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 61%] 8475s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 61%] 8475s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 61%] 8475s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 61%] 8475s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 8475s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 8475s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 62%] 8475s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 62%] 8475s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 62%] 8475s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 62%] 8475s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 62%] 8475s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 8475s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 63%] 8475s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 63%] 8475s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 63%] 8475s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 63%] 8475s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 63%] 8475s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 8475s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 8475s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 64%] 8475s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 64%] 8475s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 64%] 8475s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 64%] 8476s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 64%] 8476s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 8476s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 65%] 8476s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 65%] 8476s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 65%] 8476s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 65%] 8476s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 65%] 8476s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 8476s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 8476s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 66%] 8476s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 66%] 8476s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 66%] 8476s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 66%] 8476s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 8476s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 8476s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 67%] 8476s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 67%] 8476s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 67%] 8476s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 67%] 8476s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 8476s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 8476s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 8476s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 68%] 8476s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 68%] 8476s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 68%] 8476s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 8476s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 8476s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 8476s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 69%] 8476s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 69%] 8476s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 69%] 8476s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 8476s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 8476s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 8476s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 8476s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 70%] 8476s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 70%] 8476s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 8476s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 8476s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 8476s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 8476s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 71%] 8476s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 71%] 8476s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 8476s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 8476s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 8476s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 8476s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 8476s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 72%] 8476s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 72%] 8476s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 8476s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 8476s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 8476s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 8476s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 73%] 8476s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 73%] 8476s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 8476s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 8476s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 8476s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 8476s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 8476s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 74%] 8476s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 8476s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 8476s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 8476s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 8476s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 8476s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 75%] 8477s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 8479s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 8480s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 8481s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 8482s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 8482s tests/test_raft.py::TestRaft::test_init PASSED [ 76%] 8483s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 8483s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 8483s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 8483s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 8483s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 8483s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 8483s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 8483s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 8483s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 8483s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 8483s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 8483s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 8483s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 8483s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 8483s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 8483s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 8483s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 8483s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 8483s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 8483s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 8483s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 8483s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 8483s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 8483s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 8483s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 8483s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 80%] 8483s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 8483s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 8483s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 8484s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 8484s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 8484s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 8484s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 81%] 8484s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 8484s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 8484s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 8484s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 8484s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 8484s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 8484s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 8484s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 8484s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 8484s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 8484s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 8484s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 8484s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 8484s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 8484s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 8484s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 8484s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 8484s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 8484s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 8484s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 8484s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 8484s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 8484s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 8484s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 8484s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 8484s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 8484s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 8484s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 8484s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 8484s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 8484s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 8484s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 8484s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 8484s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 8484s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 8484s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 8484s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 8484s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 8484s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 8484s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 8484s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 8484s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 8484s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 8484s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 8484s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 8484s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 8484s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 8484s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 8484s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 8484s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 8484s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 8484s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 8484s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 8484s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 8484s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 8484s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 8484s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 8484s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 8484s patroni/api.py::patroni.api.check_access PASSED [ 93%] 8484s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 8484s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 8484s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 8484s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 8484s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 8484s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 8484s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 8484s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 8484s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 8485s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 8485s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 95%] 8485s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 8485s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 8485s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 8485s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 8485s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 8485s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 8485s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 8485s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 8485s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 8485s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 8485s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 8485s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 8485s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 97%] 8485s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 8485s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 8485s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 8485s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 8485s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 8485s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 97%] 8485s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 8485s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 8485s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 8485s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 8485s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 8485s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 8485s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 8485s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 8485s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 8485s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 8485s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 8485s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 8487s patroni/utils.py::patroni.utils.unquote PASSED [100%] 8487s 8487s ---------- coverage: platform linux, python 3.12.7-final-0 ----------- 8487s Name Stmts Miss Cover Missing 8487s ----------------------------------------------------------------------------------- 8487s patroni/__init__.py 13 0 100% 8487s patroni/__main__.py 199 1 99% 395 8487s patroni/api.py 770 0 100% 8487s patroni/async_executor.py 96 0 100% 8487s patroni/collections.py 56 3 95% 50, 99, 107 8487s patroni/config.py 371 0 100% 8487s patroni/config_generator.py 212 0 100% 8487s patroni/ctl.py 936 0 100% 8487s patroni/daemon.py 76 0 100% 8487s patroni/dcs/__init__.py 646 0 100% 8487s patroni/dcs/consul.py 485 0 100% 8487s patroni/dcs/etcd3.py 679 0 100% 8487s patroni/dcs/etcd.py 603 0 100% 8487s patroni/dcs/exhibitor.py 61 0 100% 8487s patroni/dcs/kubernetes.py 938 0 100% 8487s patroni/dcs/raft.py 319 0 100% 8487s patroni/dcs/zookeeper.py 288 0 100% 8487s patroni/dynamic_loader.py 35 0 100% 8487s patroni/exceptions.py 16 0 100% 8487s patroni/file_perm.py 43 0 100% 8487s patroni/global_config.py 81 0 100% 8487s patroni/ha.py 1244 2 99% 1925-1926 8487s patroni/log.py 219 2 99% 365-367 8487s patroni/postgresql/__init__.py 821 0 100% 8487s patroni/postgresql/available_parameters/__init__.py 21 0 100% 8487s patroni/postgresql/bootstrap.py 252 0 100% 8487s patroni/postgresql/callback_executor.py 55 0 100% 8487s patroni/postgresql/cancellable.py 104 0 100% 8487s patroni/postgresql/config.py 813 0 100% 8487s patroni/postgresql/connection.py 75 0 100% 8487s patroni/postgresql/misc.py 41 0 100% 8487s patroni/postgresql/mpp/__init__.py 89 0 100% 8487s 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 8487s patroni/postgresql/postmaster.py 170 0 100% 8487s patroni/postgresql/rewind.py 416 0 100% 8487s patroni/postgresql/slots.py 334 0 100% 8487s patroni/postgresql/sync.py 130 0 100% 8487s patroni/postgresql/validator.py 157 0 100% 8487s patroni/psycopg.py 42 16 62% 19, 25-26, 42, 44-82, 120 8487s patroni/raft_controller.py 22 0 100% 8487s patroni/request.py 62 0 100% 8487s patroni/scripts/__init__.py 0 0 100% 8487s patroni/scripts/aws.py 59 1 98% 86 8487s patroni/scripts/barman/__init__.py 0 0 100% 8487s patroni/scripts/barman/cli.py 51 1 98% 240 8487s patroni/scripts/barman/config_switch.py 51 0 100% 8487s patroni/scripts/barman/recover.py 37 0 100% 8487s patroni/scripts/barman/utils.py 94 0 100% 8487s patroni/scripts/wale_restore.py 207 1 99% 374 8487s patroni/tags.py 38 0 100% 8487s patroni/utils.py 350 0 100% 8487s patroni/validator.py 301 0 100% 8487s patroni/version.py 1 0 100% 8487s patroni/watchdog/__init__.py 2 0 100% 8487s patroni/watchdog/base.py 203 0 100% 8487s patroni/watchdog/linux.py 135 1 99% 36 8487s ----------------------------------------------------------------------------------- 8487s TOTAL 13778 150 99% 8487s Coverage XML written to file coverage.xml 8487s 8487s 8487s ======================= 632 passed, 14 skipped in 24.21s ======================= 8488s autopkgtest [12:48:32]: test test: -----------------------] 8488s autopkgtest [12:48:32]: test test: - - - - - - - - - - results - - - - - - - - - - 8488s test PASS 8489s autopkgtest [12:48:33]: @@@@@@@@@@@@@@@@@@@@ summary 8489s acceptance-etcd3 PASS 8489s acceptance-etcd-basic PASS 8489s acceptance-etcd PASS 8489s acceptance-zookeeper PASS 8489s acceptance-raft PASS 8489s test PASS 8645s nova [W] Skipping flock for amd64 8645s Creating nova instance adt-plucky-amd64-patroni-20241113-102700-juju-7f2275-prod-proposed-migration-environment-15-d6318f73-0029-462d-8572-e95ed53f5df3 from image adt/ubuntu-plucky-amd64-server-20241113.img (UUID 62c21ac4-2290-4c8d-8313-dddd18eacff4)... 8645s nova [W] nova quota exceeded (attempt #0) 8645s nova [W] Skipping flock for amd64 8645s Creating nova instance adt-plucky-amd64-patroni-20241113-102700-juju-7f2275-prod-proposed-migration-environment-15-d6318f73-0029-462d-8572-e95ed53f5df3 from image adt/ubuntu-plucky-amd64-server-20241113.img (UUID 62c21ac4-2290-4c8d-8313-dddd18eacff4)... 8645s nova [W] nova quota exceeded (attempt #0) 8645s nova [W] Skipping flock for amd64 8645s Creating nova instance adt-plucky-amd64-patroni-20241113-102700-juju-7f2275-prod-proposed-migration-environment-15-d6318f73-0029-462d-8572-e95ed53f5df3 from image adt/ubuntu-plucky-amd64-server-20241113.img (UUID 62c21ac4-2290-4c8d-8313-dddd18eacff4)... 8645s nova [W] Skipping flock for amd64 8645s Creating nova instance adt-plucky-amd64-patroni-20241113-102700-juju-7f2275-prod-proposed-migration-environment-15-d6318f73-0029-462d-8572-e95ed53f5df3 from image adt/ubuntu-plucky-amd64-server-20241113.img (UUID 62c21ac4-2290-4c8d-8313-dddd18eacff4)... 8645s nova [W] nova quota exceeded (attempt #0) 8645s nova [W] nova quota exceeded (attempt #1) 8645s nova [W] nova quota exceeded (attempt #2) 8645s nova [W] Skipping flock for amd64 8645s Creating nova instance adt-plucky-amd64-patroni-20241113-102700-juju-7f2275-prod-proposed-migration-environment-15-d6318f73-0029-462d-8572-e95ed53f5df3 from image adt/ubuntu-plucky-amd64-server-20241113.img (UUID 62c21ac4-2290-4c8d-8313-dddd18eacff4)...