0s autopkgtest [18:51:54]: starting date and time: 2024-11-13 18:51:54+0000 0s autopkgtest [18:51:54]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [18:51:54]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.mi5knbsu/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_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\n" >> /etc/environment' --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' -- lxd -r lxd-armhf-10.145.243.76 lxd-armhf-10.145.243.76:autopkgtest/ubuntu/plucky/armhf 52s autopkgtest [18:52:46]: testbed dpkg architecture: armhf 55s autopkgtest [18:52:49]: testbed apt version: 2.9.8 55s autopkgtest [18:52:49]: @@@@@@@@@@@@@@@@@@@@ test bed setup 63s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 63s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [971 kB] 63s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 63s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [104 kB] 63s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.2 kB] 63s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [106 kB] 63s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [647 kB] 63s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [17.2 kB] 64s Fetched 1943 kB in 1s (2039 kB/s) 64s Reading package lists... 82s tee: /proc/self/fd/2: Permission denied 104s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 104s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 105s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 105s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 106s Reading package lists... 106s Reading package lists... 106s Building dependency tree... 106s Reading state information... 107s Calculating upgrade... 107s The following NEW packages will be installed: 107s python3.13-gdbm 107s The following packages will be upgraded: 107s libgnutls30t64 libjson-glib-1.0-0 libjson-glib-1.0-common libpython3-stdlib 107s libutempter0 python3 python3-gdbm python3-minimal 107s 8 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 107s Need to get 1131 kB of archives. 107s After this operation, 95.2 kB of additional disk space will be used. 107s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-minimal armhf 3.12.7-1 [27.4 kB] 108s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3 armhf 3.12.7-1 [24.0 kB] 108s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libpython3-stdlib armhf 3.12.7-1 [10.0 kB] 108s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls30t64 armhf 3.8.8-2ubuntu1 [955 kB] 108s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf python3.13-gdbm armhf 3.13.0-2 [29.5 kB] 108s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-gdbm armhf 3.12.7-1 [8642 B] 108s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 108s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-0 armhf 1.10.0+ds-3 [61.7 kB] 108s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libutempter0 armhf 1.2.1-4 [9062 B] 108s Fetched 1131 kB in 1s (2066 kB/s) 108s (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 ... 59559 files and directories currently installed.) 108s Preparing to unpack .../python3-minimal_3.12.7-1_armhf.deb ... 108s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 108s Setting up python3-minimal (3.12.7-1) ... 109s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 59559 files and directories currently installed.) 109s Preparing to unpack .../python3_3.12.7-1_armhf.deb ... 109s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 109s Preparing to unpack .../libpython3-stdlib_3.12.7-1_armhf.deb ... 109s Unpacking libpython3-stdlib:armhf (3.12.7-1) over (3.12.6-0ubuntu1) ... 109s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_armhf.deb ... 109s Unpacking libgnutls30t64:armhf (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 109s Setting up libgnutls30t64:armhf (3.8.8-2ubuntu1) ... 109s Selecting previously unselected package python3.13-gdbm. 109s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 59559 files and directories currently installed.) 109s Preparing to unpack .../python3.13-gdbm_3.13.0-2_armhf.deb ... 109s Unpacking python3.13-gdbm (3.13.0-2) ... 109s Preparing to unpack .../python3-gdbm_3.12.7-1_armhf.deb ... 109s Unpacking python3-gdbm:armhf (3.12.7-1) over (3.12.6-1ubuntu1) ... 109s Preparing to unpack .../libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 109s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 109s Preparing to unpack .../libjson-glib-1.0-0_1.10.0+ds-3_armhf.deb ... 109s Unpacking libjson-glib-1.0-0:armhf (1.10.0+ds-3) over (1.10.0+ds-2) ... 109s Preparing to unpack .../libutempter0_1.2.1-4_armhf.deb ... 109s Unpacking libutempter0:armhf (1.2.1-4) over (1.2.1-3build1) ... 109s Setting up libutempter0:armhf (1.2.1-4) ... 109s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 109s Setting up python3.13-gdbm (3.13.0-2) ... 109s Setting up libpython3-stdlib:armhf (3.12.7-1) ... 109s Setting up python3 (3.12.7-1) ... 109s Setting up libjson-glib-1.0-0:armhf (1.10.0+ds-3) ... 109s Setting up python3-gdbm:armhf (3.12.7-1) ... 109s Processing triggers for man-db (2.12.1-3) ... 110s Processing triggers for libc-bin (2.40-1ubuntu3) ... 110s Reading package lists... 111s Building dependency tree... 111s Reading state information... 111s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 113s autopkgtest [18:53:47]: rebooting testbed after setup commands that affected boot 183s autopkgtest [18:54:57]: testbed running kernel: Linux 6.8.0-48-generic #48~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 7 11:49:53 UTC 2 211s autopkgtest [18:55:25]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 226s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (dsc) [2851 B] 226s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (tar) [1150 kB] 226s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (diff) [23.1 kB] 226s gpgv: Signature made Tue Jul 2 12:54:38 2024 UTC 226s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 226s gpgv: Can't check signature: No public key 226s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.1-1.dsc: no acceptable signature found 226s autopkgtest [18:55:40]: testing package patroni version 3.3.1-1 229s autopkgtest [18:55:43]: build not needed 231s autopkgtest [18:55:45]: test acceptance-etcd3: preparing testbed 241s Reading package lists... 242s Building dependency tree... 242s Reading state information... 242s Starting pkgProblemResolver with broken count: 0 242s Starting 2 pkgProblemResolver with broken count: 0 242s Done 243s The following additional packages will be installed: 243s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 243s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm19 libpq5 243s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 243s patroni-doc postgresql postgresql-16 postgresql-client-16 243s postgresql-client-common postgresql-common python3-behave python3-cdiff 243s python3-click python3-colorama python3-coverage python3-dateutil 243s python3-dnspython python3-etcd python3-parse python3-parse-type 243s python3-prettytable python3-psutil python3-psycopg2 python3-six 243s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 243s Suggested packages: 243s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 243s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 243s python3-httpcore etcd python-psycopg2-doc 243s Recommended packages: 243s javascript-common libjson-xs-perl 243s The following NEW packages will be installed: 243s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 243s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 243s libllvm19 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 243s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 243s postgresql-client-common postgresql-common python3-behave python3-cdiff 243s python3-click python3-colorama python3-coverage python3-dateutil 243s python3-dnspython python3-etcd python3-parse python3-parse-type 243s python3-prettytable python3-psutil python3-psycopg2 python3-six 243s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 243s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 243s Need to get 61.3 MB/61.3 MB of archives. 243s After this operation, 231 MB of additional disk space will be used. 243s Get:1 /tmp/autopkgtest.F0zun9/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [760 B] 243s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 244s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 244s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 262 [36.7 kB] 244s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.2ubuntu2 [18.0 kB] 244s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 262 [162 kB] 244s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf etcd-server armhf 3.5.15-7 [10.4 MB] 244s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 244s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 244s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 244s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 244s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 244s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 244s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.2-1ubuntu1 [27.8 MB] 245s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 245s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 245s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 245s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu1 [150 kB] 245s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 245s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 245s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 245s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 245s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 245s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 245s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 245s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 245s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 245s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 245s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 245s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 245s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-4 [31.9 kB] 245s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 245s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 245s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 245s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-16 armhf 16.4-3 [1236 kB] 245s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-16 armhf 16.4-3 [14.2 MB] 246s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 16+262 [11.8 kB] 246s Get:38 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 246s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-1 [23.4 kB] 246s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 246s Get:41 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 247s Preconfiguring packages ... 247s Fetched 61.3 MB in 3s (19.1 MB/s) 247s Selecting previously unselected package fonts-lato. 247s (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 ... 59566 files and directories currently installed.) 247s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 247s Unpacking fonts-lato (2.015-1) ... 247s Selecting previously unselected package libjson-perl. 247s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 247s Unpacking libjson-perl (4.10000-1) ... 247s Selecting previously unselected package postgresql-client-common. 247s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 247s Unpacking postgresql-client-common (262) ... 247s Selecting previously unselected package ssl-cert. 247s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 247s Unpacking ssl-cert (1.1.2ubuntu2) ... 247s Selecting previously unselected package postgresql-common. 247s Preparing to unpack .../04-postgresql-common_262_all.deb ... 247s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 247s Unpacking postgresql-common (262) ... 247s Selecting previously unselected package etcd-server. 247s Preparing to unpack .../05-etcd-server_3.5.15-7_armhf.deb ... 247s Unpacking etcd-server (3.5.15-7) ... 247s Selecting previously unselected package fonts-font-awesome. 247s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 247s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 248s Selecting previously unselected package libio-pty-perl. 248s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 248s Unpacking libio-pty-perl (1:1.20-1build3) ... 248s Selecting previously unselected package libipc-run-perl. 248s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 248s Unpacking libipc-run-perl (20231003.0-2) ... 248s Selecting previously unselected package libjs-jquery. 248s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 248s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 248s Selecting previously unselected package libjs-underscore. 248s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 248s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 248s Selecting previously unselected package libjs-sphinxdoc. 248s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 248s Unpacking libjs-sphinxdoc (7.4.7-4) ... 248s Selecting previously unselected package libllvm19:armhf. 248s Preparing to unpack .../12-libllvm19_1%3a19.1.2-1ubuntu1_armhf.deb ... 248s Unpacking libllvm19:armhf (1:19.1.2-1ubuntu1) ... 249s Selecting previously unselected package libpq5:armhf. 249s Preparing to unpack .../13-libpq5_17.0-1_armhf.deb ... 249s Unpacking libpq5:armhf (17.0-1) ... 249s Selecting previously unselected package libtime-duration-perl. 249s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 249s Unpacking libtime-duration-perl (1.21-2) ... 249s Selecting previously unselected package libtimedate-perl. 249s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 249s Unpacking libtimedate-perl (2.3300-2) ... 249s Selecting previously unselected package libxslt1.1:armhf. 249s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1ubuntu1_armhf.deb ... 249s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 249s Selecting previously unselected package moreutils. 249s Preparing to unpack .../17-moreutils_0.69-1_armhf.deb ... 249s Unpacking moreutils (0.69-1) ... 249s Selecting previously unselected package python3-ydiff. 249s Preparing to unpack .../18-python3-ydiff_1.3-1_all.deb ... 249s Unpacking python3-ydiff (1.3-1) ... 249s Selecting previously unselected package python3-cdiff. 249s Preparing to unpack .../19-python3-cdiff_1.3-1_all.deb ... 249s Unpacking python3-cdiff (1.3-1) ... 249s Selecting previously unselected package python3-colorama. 249s Preparing to unpack .../20-python3-colorama_0.4.6-4_all.deb ... 249s Unpacking python3-colorama (0.4.6-4) ... 249s Selecting previously unselected package python3-click. 249s Preparing to unpack .../21-python3-click_8.1.7-2_all.deb ... 249s Unpacking python3-click (8.1.7-2) ... 249s Selecting previously unselected package python3-six. 249s Preparing to unpack .../22-python3-six_1.16.0-7_all.deb ... 249s Unpacking python3-six (1.16.0-7) ... 249s Selecting previously unselected package python3-dateutil. 249s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 249s Unpacking python3-dateutil (2.9.0-2) ... 249s Selecting previously unselected package python3-wcwidth. 249s Preparing to unpack .../24-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 249s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 249s Selecting previously unselected package python3-prettytable. 249s Preparing to unpack .../25-python3-prettytable_3.10.1-1_all.deb ... 249s Unpacking python3-prettytable (3.10.1-1) ... 249s Selecting previously unselected package python3-psutil. 249s Preparing to unpack .../26-python3-psutil_5.9.8-2build2_armhf.deb ... 249s Unpacking python3-psutil (5.9.8-2build2) ... 249s Selecting previously unselected package python3-psycopg2. 249s Preparing to unpack .../27-python3-psycopg2_2.9.9-2_armhf.deb ... 249s Unpacking python3-psycopg2 (2.9.9-2) ... 249s Selecting previously unselected package python3-dnspython. 249s Preparing to unpack .../28-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 249s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 249s Selecting previously unselected package python3-etcd. 249s Preparing to unpack .../29-python3-etcd_0.4.5-4_all.deb ... 249s Unpacking python3-etcd (0.4.5-4) ... 249s Selecting previously unselected package patroni. 249s Preparing to unpack .../30-patroni_3.3.1-1_all.deb ... 249s Unpacking patroni (3.3.1-1) ... 249s Selecting previously unselected package sphinx-rtd-theme-common. 249s Preparing to unpack .../31-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 249s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 249s Selecting previously unselected package patroni-doc. 249s Preparing to unpack .../32-patroni-doc_3.3.1-1_all.deb ... 249s Unpacking patroni-doc (3.3.1-1) ... 250s Selecting previously unselected package postgresql-client-16. 250s Preparing to unpack .../33-postgresql-client-16_16.4-3_armhf.deb ... 250s Unpacking postgresql-client-16 (16.4-3) ... 250s Selecting previously unselected package postgresql-16. 250s Preparing to unpack .../34-postgresql-16_16.4-3_armhf.deb ... 250s Unpacking postgresql-16 (16.4-3) ... 250s Selecting previously unselected package postgresql. 250s Preparing to unpack .../35-postgresql_16+262_all.deb ... 250s Unpacking postgresql (16+262) ... 250s Selecting previously unselected package python3-parse. 250s Preparing to unpack .../36-python3-parse_1.20.2-1_all.deb ... 250s Unpacking python3-parse (1.20.2-1) ... 250s Selecting previously unselected package python3-parse-type. 250s Preparing to unpack .../37-python3-parse-type_0.6.4-1_all.deb ... 250s Unpacking python3-parse-type (0.6.4-1) ... 250s Selecting previously unselected package python3-behave. 250s Preparing to unpack .../38-python3-behave_1.2.6-6_all.deb ... 250s Unpacking python3-behave (1.2.6-6) ... 250s Selecting previously unselected package python3-coverage. 250s Preparing to unpack .../39-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 250s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 250s Selecting previously unselected package autopkgtest-satdep. 250s Preparing to unpack .../40-1-autopkgtest-satdep.deb ... 250s Unpacking autopkgtest-satdep (0) ... 250s Setting up postgresql-client-common (262) ... 250s Setting up libllvm19:armhf (1:19.1.2-1ubuntu1) ... 250s Setting up fonts-lato (2.015-1) ... 250s Setting up libio-pty-perl (1:1.20-1build3) ... 250s Setting up python3-colorama (0.4.6-4) ... 250s Setting up python3-ydiff (1.3-1) ... 251s Setting up libpq5:armhf (17.0-1) ... 251s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 251s Setting up python3-click (8.1.7-2) ... 251s Setting up python3-psutil (5.9.8-2build2) ... 251s Setting up python3-six (1.16.0-7) ... 252s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 252s Setting up ssl-cert (1.1.2ubuntu2) ... 253s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 253s Setting up python3-psycopg2 (2.9.9-2) ... 253s Setting up libipc-run-perl (20231003.0-2) ... 253s Setting up libtime-duration-perl (1.21-2) ... 253s Setting up libtimedate-perl (2.3300-2) ... 253s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 253s Setting up python3-parse (1.20.2-1) ... 254s Setting up libjson-perl (4.10000-1) ... 254s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 254s Setting up python3-dateutil (2.9.0-2) ... 254s Setting up etcd-server (3.5.15-7) ... 254s info: Selecting UID from range 100 to 999 ... 254s 254s info: Selecting GID from range 100 to 999 ... 254s info: Adding system user `etcd' (UID 107) ... 254s info: Adding new group `etcd' (GID 111) ... 254s info: Adding new user `etcd' (UID 107) with group `etcd' ... 254s info: Creating home directory `/var/lib/etcd/' ... 254s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 254s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 255s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 255s Setting up python3-prettytable (3.10.1-1) ... 255s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 255s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 255s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 255s Setting up moreutils (0.69-1) ... 255s Setting up python3-etcd (0.4.5-4) ... 256s Setting up postgresql-client-16 (16.4-3) ... 256s 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 256s Setting up python3-cdiff (1.3-1) ... 256s Setting up python3-parse-type (0.6.4-1) ... 256s Setting up postgresql-common (262) ... 257s 257s Creating config file /etc/postgresql-common/createcluster.conf with new version 257s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 257s Removing obsolete dictionary files: 258s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 258s Setting up libjs-sphinxdoc (7.4.7-4) ... 258s Setting up python3-behave (1.2.6-6) ... 258s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 258s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 258s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 258s """Registers a custom type that will be available to "parse" 258s Setting up patroni (3.3.1-1) ... 258s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 259s Setting up postgresql-16 (16.4-3) ... 259s Creating new PostgreSQL cluster 16/main ... 259s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 259s The files belonging to this database system will be owned by user "postgres". 259s This user must also own the server process. 259s 259s The database cluster will be initialized with locale "C.UTF-8". 259s The default database encoding has accordingly been set to "UTF8". 259s The default text search configuration will be set to "english". 259s 259s Data page checksums are disabled. 259s 259s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 259s creating subdirectories ... ok 259s selecting dynamic shared memory implementation ... posix 259s selecting default max_connections ... 100 259s selecting default shared_buffers ... 128MB 259s selecting default time zone ... Etc/UTC 259s creating configuration files ... ok 260s running bootstrap script ... ok 260s performing post-bootstrap initialization ... ok 260s syncing data to disk ... ok 264s Setting up patroni-doc (3.3.1-1) ... 264s Setting up postgresql (16+262) ... 264s Setting up autopkgtest-satdep (0) ... 264s Processing triggers for man-db (2.12.1-3) ... 265s Processing triggers for libc-bin (2.40-1ubuntu3) ... 281s (Reading database ... 62783 files and directories currently installed.) 281s Removing autopkgtest-satdep (0) ... 287s autopkgtest [18:56:41]: test acceptance-etcd3: debian/tests/acceptance etcd3 287s autopkgtest [18:56:41]: test acceptance-etcd3: [----------------------- 289s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 289s ++ ls -1r /usr/lib/postgresql/ 289s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 289s + '[' 16 == 10 -o 16 == 11 ']' 289s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 289s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm 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' 289s ### PostgreSQL 16 acceptance-etcd3 ### 290s Nov 13 18:56:44 Feature: basic replication # features/basic_replication.feature:1 290s Nov 13 18:56:44 We should check that the basic bootstrapping, replication and failover works. 290s Nov 13 18:56:44 Scenario: check replication of a single table # features/basic_replication.feature:4 290s Nov 13 18:56:44 Given I start postgres0 # features/steps/basic_replication.py:8 294s Nov 13 18:56:48 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 294s Nov 13 18:56:48 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 294s Nov 13 18:56:48 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 294s Nov 13 18:56:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 294s Nov 13 18:56:48 When I start postgres1 # features/steps/basic_replication.py:8 298s Nov 13 18:56:52 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 302s Nov 13 18:56:56 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 302s Nov 13 18:56:56 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 302s Nov 13 18:56:56 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 303s Nov 13 18:56:57 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 303s Nov 13 18:56:57 303s Nov 13 18:56:57 Scenario: check restart of sync replica # features/basic_replication.feature:17 303s Nov 13 18:56:57 Given I shut down postgres2 # features/steps/basic_replication.py:29 304s Nov 13 18:56:58 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 304s Nov 13 18:56:58 When I start postgres2 # features/steps/basic_replication.py:8 308s Nov 13 18:57:02 And I shut down postgres1 # features/steps/basic_replication.py:29 311s Nov 13 18:57:05 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 312s Nov 13 18:57:06 When I start postgres1 # features/steps/basic_replication.py:8 315s Nov 13 18:57:09 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 316s Nov 13 18:57:10 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 316s Nov 13 18:57:10 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 316s Nov 13 18:57:10 316s Nov 13 18:57:10 Scenario: check stuck sync replica # features/basic_replication.feature:28 316s Nov 13 18:57:10 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 317s Nov 13 18:57:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 317s Nov 13 18:57:11 And I create table on postgres0 # features/steps/basic_replication.py:73 317s Nov 13 18:57:11 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 318s Nov 13 18:57:12 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 318s Nov 13 18:57:12 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 318s Nov 13 18:57:12 And I load data on postgres0 # features/steps/basic_replication.py:84 318s Nov 13 18:57:12 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 321s Nov 13 18:57:15 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 321s Nov 13 18:57:15 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 321s Nov 13 18:57:15 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 321s Nov 13 18:57:15 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 321s Nov 13 18:57:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 321s Nov 13 18:57:15 And I drop table on postgres0 # features/steps/basic_replication.py:73 321s Nov 13 18:57:15 321s Nov 13 18:57:15 Scenario: check multi sync replication # features/basic_replication.feature:44 321s Nov 13 18:57:15 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 321s Nov 13 18:57:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 321s Nov 13 18:57:15 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 325s Nov 13 18:57:19 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 325s Nov 13 18:57:19 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 326s Nov 13 18:57:19 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 326s Nov 13 18:57:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 326s Nov 13 18:57:20 And I shut down postgres1 # features/steps/basic_replication.py:29 329s Nov 13 18:57:23 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 330s Nov 13 18:57:24 When I start postgres1 # features/steps/basic_replication.py:8 334s Nov 13 18:57:28 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 334s Nov 13 18:57:28 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 334s Nov 13 18:57:28 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 334s Nov 13 18:57:28 334s Nov 13 18:57:28 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 334s Nov 13 18:57:28 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 336s Nov 13 18:57:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 336s Nov 13 18:57:30 When I sleep for 2 seconds # features/steps/patroni_api.py:39 338s Nov 13 18:57:32 And I shut down postgres0 # features/steps/basic_replication.py:29 339s Nov 13 18:57:33 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 341s Nov 13 18:57:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 341s Nov 13 18:57:35 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 360s Nov 13 18:57:54 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 362s Nov 13 18:57:56 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 362s Nov 13 18:57:56 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 362s Nov 13 18:57:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 362s Nov 13 18:57:56 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 362s Nov 13 18:57:56 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 365s Nov 13 18:57:59 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 365s Nov 13 18:57:59 365s Nov 13 18:57:59 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 365s Nov 13 18:57:59 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 365s Nov 13 18:57:59 And I start postgres0 # features/steps/basic_replication.py:8 365s Nov 13 18:57:59 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 373s Nov 13 18:58:07 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 373s Nov 13 18:58:07 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 373s Nov 13 18:58:07 373s Nov 13 18:58:07 @reject-duplicate-name 373s Nov 13 18:58:07 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 373s Nov 13 18:58:07 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 376s Nov 13 18:58:10 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 380s Nov 13 18:58:14 380s Nov 13 18:58:14 Feature: cascading replication # features/cascading_replication.feature:1 380s Nov 13 18:58:14 We should check that patroni can do base backup and streaming from the replica 380s Nov 13 18:58:14 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 380s Nov 13 18:58:14 Given I start postgres0 # features/steps/basic_replication.py:8 386s Nov 13 18:58:19 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 386s Nov 13 18:58:19 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 391s Nov 13 18:58:25 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 392s Nov 13 18:58:26 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 392s Nov 13 18:58:26 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 392s Nov 13 18:58:26 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 392s Nov 13 18:58:26 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 397s Nov 13 18:58:31 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 398s Nov 13 18:58:32 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 404s Nov 13 18:58:38 404s SKIP FEATURE citus: Citus extenstion isn't available 404s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 404s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 404s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 404s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 404s 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 404s Nov 13 18:58:38 Feature: citus # features/citus.feature:1 404s Nov 13 18:58:38 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 404s Nov 13 18:58:38 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 404s Nov 13 18:58:38 Given I start postgres0 in citus group 0 # None 404s Nov 13 18:58:38 And I start postgres2 in citus group 1 # None 404s Nov 13 18:58:38 Then postgres0 is a leader in a group 0 after 10 seconds # None 404s Nov 13 18:58:38 And postgres2 is a leader in a group 1 after 10 seconds # None 404s Nov 13 18:58:38 When I start postgres1 in citus group 0 # None 404s Nov 13 18:58:38 And I start postgres3 in citus group 1 # None 404s Nov 13 18:58:38 Then replication works from postgres0 to postgres1 after 15 seconds # None 404s Nov 13 18:58:38 Then replication works from postgres2 to postgres3 after 15 seconds # None 404s Nov 13 18:58:38 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 404s Nov 13 18:58:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 404s Nov 13 18:58:38 404s Nov 13 18:58:38 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 404s Nov 13 18:58:38 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 404s Nov 13 18:58:38 Then postgres1 role is the primary after 10 seconds # None 404s Nov 13 18:58:38 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 404s Nov 13 18:58:38 And replication works from postgres1 to postgres0 after 15 seconds # None 404s Nov 13 18:58:38 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 404s Nov 13 18:58:38 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 404s Nov 13 18:58:38 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 404s Nov 13 18:58:38 Then postgres0 role is the primary after 10 seconds # None 404s Nov 13 18:58:38 And replication works from postgres0 to postgres1 after 15 seconds # None 404s Nov 13 18:58:38 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 404s Nov 13 18:58:38 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 404s Nov 13 18:58:38 404s Nov 13 18:58:38 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 404s Nov 13 18:58:38 Given I create a distributed table on postgres0 # None 404s Nov 13 18:58:38 And I start a thread inserting data on postgres0 # None 404s Nov 13 18:58:38 When I run patronictl.py switchover batman --group 1 --force # None 404s Nov 13 18:58:38 Then I receive a response returncode 0 # None 404s Nov 13 18:58:38 And postgres3 role is the primary after 10 seconds # None 404s Nov 13 18:58:38 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 404s Nov 13 18:58:38 And replication works from postgres3 to postgres2 after 15 seconds # None 404s Nov 13 18:58:38 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 404s Nov 13 18:58:38 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 404s Nov 13 18:58:38 And a thread is still alive # None 404s Nov 13 18:58:38 When I run patronictl.py switchover batman --group 1 --force # None 404s Nov 13 18:58:38 Then I receive a response returncode 0 # None 404s Nov 13 18:58:38 And postgres2 role is the primary after 10 seconds # None 404s Nov 13 18:58:38 And replication works from postgres2 to postgres3 after 15 seconds # None 404s Nov 13 18:58:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 404s Nov 13 18:58:38 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 404s Nov 13 18:58:38 And a thread is still alive # None 404s Nov 13 18:58:38 When I stop a thread # None 404s Nov 13 18:58:38 Then a distributed table on postgres0 has expected rows # None 404s Nov 13 18:58:38 404s Nov 13 18:58:38 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 404s Nov 13 18:58:38 Given I cleanup a distributed table on postgres0 # None 404s Nov 13 18:58:38 And I start a thread inserting data on postgres0 # None 404s Nov 13 18:58:38 When I run patronictl.py restart batman postgres2 --group 1 --force # None 404s Nov 13 18:58:38 Then I receive a response returncode 0 # None 404s Nov 13 18:58:38 And postgres2 role is the primary after 10 seconds # None 404s Nov 13 18:58:38 And replication works from postgres2 to postgres3 after 15 seconds # None 404s Nov 13 18:58:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 404s Nov 13 18:58:38 And a thread is still alive # None 404s Nov 13 18:58:38 When I stop a thread # None 404s Nov 13 18:58:38 Then a distributed table on postgres0 has expected rows # None 404s Nov 13 18:58:38 404s Nov 13 18:58:38 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 404s Nov 13 18:58:38 Given I start postgres4 in citus group 2 # None 404s Nov 13 18:58:38 Then postgres4 is a leader in a group 2 after 10 seconds # None 404s Nov 13 18:58:38 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 404s Nov 13 18:58:38 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 404s Nov 13 18:58:38 Then I receive a response returncode 0 # None 404s Nov 13 18:58:38 And I receive a response output "+ttl: 20" # None 404s Nov 13 18:58:38 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 404s Nov 13 18:58:38 When I shut down postgres4 # None 404s Nov 13 18:58:38 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 404s Nov 13 18:58:38 When I run patronictl.py restart batman postgres2 --group 1 --force # None 404s Nov 13 18:58:38 Then a transaction finishes in 20 seconds # None 404s Nov 13 18:58:38 404s Nov 13 18:58:38 Feature: custom bootstrap # features/custom_bootstrap.feature:1 404s Nov 13 18:58:38 We should check that patroni can bootstrap a new cluster from a backup 404s Nov 13 18:58:38 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 404s Nov 13 18:58:38 Given I start postgres0 # features/steps/basic_replication.py:8 409s Nov 13 18:58:43 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 409s Nov 13 18:58:43 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 409s Nov 13 18:58:43 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 415s Nov 13 18:58:49 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 416s Nov 13 18:58:50 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 416s Nov 13 18:58:50 416s Nov 13 18:58:50 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 416s Nov 13 18:58:50 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 416s Nov 13 18:58:50 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 418s Nov 13 18:58:52 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 424s Nov 13 18:58:58 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 424s Nov 13 18:58:58 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 430s Nov 13 18:59:04 430s Nov 13 18:59:04 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 430s Nov 13 18:59:04 We should check the basic dcs failsafe mode functioning 430s Nov 13 18:59:04 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 430s Nov 13 18:59:04 Given I start postgres0 # features/steps/basic_replication.py:8 435s Nov 13 18:59:09 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 435s Nov 13 18:59:09 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 435s Nov 13 18:59:09 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 435s Nov 13 18:59:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 435s Nov 13 18:59:09 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 436s Nov 13 18:59:10 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 436s Nov 13 18:59:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 436s Nov 13 18:59:10 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 436s Nov 13 18:59:10 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 436s Nov 13 18:59:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 436s Nov 13 18:59:10 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 436s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 436s 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 436s Nov 13 18:59:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 436s Nov 13 18:59:10 436s Nov 13 18:59:10 @dcs-failsafe 436s Nov 13 18:59:10 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 436s Nov 13 18:59:10 Given DCS is down # None 436s Nov 13 18:59:10 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 436s Nov 13 18:59:10 And postgres0 role is the primary after 10 seconds # None 436s Nov 13 18:59:10 436s Nov 13 18:59:10 @dcs-failsafe 436s Nov 13 18:59:10 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 436s Nov 13 18:59:10 Given DCS is up # None 436s Nov 13 18:59:10 When I do a backup of postgres0 # None 436s Nov 13 18:59:10 And I shut down postgres0 # None 436s Nov 13 18:59:10 When I start postgres1 in a cluster batman from backup with no_leader # None 436s Nov 13 18:59:10 Then postgres1 role is the replica after 12 seconds # None 436s Nov 13 18:59:10 436s Nov 13 18:59:10 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 436s Nov 13 18:59:10 Given I start postgres0 # features/steps/basic_replication.py:8 436s Nov 13 18:59:10 And I start postgres1 # features/steps/basic_replication.py:8 441s Nov 13 18:59:15 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 441s Nov 13 18:59:15 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 442s Nov 13 18:59:16 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 442s Nov 13 18:59:16 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 442s Nov 13 18:59:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 442s Nov 13 18:59:16 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 442s Nov 13 18:59:16 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 442s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 442s Nov 13 18:59:16 442s Nov 13 18:59:16 @dcs-failsafe @slot-advance 442s Nov 13 18:59:16 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 442s Nov 13 18:59:16 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 442s Nov 13 18:59:16 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 442s Nov 13 18:59:16 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 442s Nov 13 18:59:16 And DCS is down # None 442s Nov 13 18:59:16 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 442s Nov 13 18:59:16 Then postgres0 role is the primary after 10 seconds # None 442s Nov 13 18:59:16 And postgres1 role is the replica after 2 seconds # None 442s Nov 13 18:59:16 And replication works from postgres0 to postgres1 after 10 seconds # None 442s Nov 13 18:59:16 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 442s Nov 13 18:59:16 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 442s Nov 13 18:59:16 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 442s Nov 13 18:59:16 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 442s Nov 13 18:59:16 442s Nov 13 18:59:16 @dcs-failsafe 442s Nov 13 18:59:16 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 442s Nov 13 18:59:16 Given DCS is down # None 442s Nov 13 18:59:16 And I kill postgres1 # None 442s Nov 13 18:59:16 And I kill postmaster on postgres1 # None 442s Nov 13 18:59:16 Then postgres0 role is the replica after 12 seconds # None 442s 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 442s Nov 13 18:59:16 442s Nov 13 18:59:16 @dcs-failsafe 442s Nov 13 18:59:16 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 442s Nov 13 18:59:16 Given I kill postgres0 # None 442s Nov 13 18:59:16 And I shut down postmaster on postgres0 # None 442s Nov 13 18:59:16 And DCS is up # None 442s Nov 13 18:59:16 When I start postgres1 # None 442s Nov 13 18:59:16 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 442s Nov 13 18:59:16 And postgres1 role is the primary after 25 seconds # None 442s Nov 13 18:59:16 442s Nov 13 18:59:16 @dcs-failsafe 442s Nov 13 18:59:16 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 442s Nov 13 18:59:16 Given I start postgres0 # None 442s Nov 13 18:59:16 And I start postgres2 # None 442s Nov 13 18:59:16 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 442s Nov 13 18:59:16 And "members/postgres0" key in DCS has state=running after 20 seconds # None 442s Nov 13 18:59:16 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 442s Nov 13 18:59:16 And replication works from postgres1 to postgres0 after 10 seconds # None 442s Nov 13 18:59:16 And replication works from postgres1 to postgres2 after 10 seconds # None 442s 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 442s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 442s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 442s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 442s 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 442s Nov 13 18:59:16 442s Nov 13 18:59:16 @dcs-failsafe @slot-advance 442s Nov 13 18:59:16 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 442s Nov 13 18:59:16 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 442s Nov 13 18:59:16 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 442s Nov 13 18:59:16 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 442s Nov 13 18:59:16 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 442s Nov 13 18:59:16 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 442s Nov 13 18:59:16 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 442s Nov 13 18:59:16 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 442s Nov 13 18:59:16 442s Nov 13 18:59:16 @dcs-failsafe 442s Nov 13 18:59:16 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 442s Nov 13 18:59:16 Given DCS is down # None 442s Nov 13 18:59:16 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 442s Nov 13 18:59:16 Then postgres1 role is the primary after 10 seconds # None 442s Nov 13 18:59:16 And postgres0 role is the replica after 2 seconds # None 442s Nov 13 18:59:16 And postgres2 role is the replica after 2 seconds # None 446s Nov 13 18:59:20 446s Nov 13 18:59:20 @dcs-failsafe @slot-advance 446s Nov 13 18:59:20 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 446s Nov 13 18:59:20 Given replication works from postgres1 to postgres0 after 10 seconds # None 446s Nov 13 18:59:20 And replication works from postgres1 to postgres2 after 10 seconds # None 446s Nov 13 18:59:20 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 446s Nov 13 18:59:20 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 446s Nov 13 18:59:20 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 446s Nov 13 18:59:20 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 446s Nov 13 18:59:20 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 446s Nov 13 18:59:20 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 446s Nov 13 18:59:20 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 446s Nov 13 18:59:20 446s Nov 13 18:59:20 Feature: ignored slots # features/ignored_slots.feature:1 446s Nov 13 18:59:20 446s Nov 13 18:59:20 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 446s Nov 13 18:59:20 Given I start postgres1 # features/steps/basic_replication.py:8 452s Nov 13 18:59:25 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 452s Nov 13 18:59:25 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 452s Nov 13 18:59:25 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 452s Nov 13 18:59:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 452s Nov 13 18:59:26 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 452s Nov 13 18:59:26 When I shut down postgres1 # features/steps/basic_replication.py:29 454s Nov 13 18:59:28 And I start postgres1 # features/steps/basic_replication.py:8 457s Nov 13 18:59:31 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 458s Nov 13 18:59:32 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 459s Nov 13 18:59:33 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 459s Nov 13 18:59:33 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 459s Nov 13 18:59:33 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 459s Nov 13 18:59:33 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 459s Nov 13 18:59:33 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 459s Nov 13 18:59:33 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 459s Nov 13 18:59:33 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 459s Nov 13 18:59:33 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 459s Nov 13 18:59:33 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 459s Nov 13 18:59:33 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 459s Nov 13 18:59:33 When I start postgres0 # features/steps/basic_replication.py:8 464s Nov 13 18:59:38 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 464s Nov 13 18:59:38 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 464s Nov 13 18:59:38 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 465s Nov 13 18:59:39 When I shut down postgres1 # features/steps/basic_replication.py:29 467s Nov 13 18:59:41 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 468s Nov 13 18:59:42 When I start postgres1 # features/steps/basic_replication.py:8 472s Nov 13 18:59:46 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 472s Nov 13 18:59:46 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 472s Nov 13 18:59:46 And I sleep for 2 seconds # features/steps/patroni_api.py:39 474s Nov 13 18:59:48 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 474s Nov 13 18:59:48 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 474s Nov 13 18:59:48 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 474s Nov 13 18:59:48 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 474s Nov 13 18:59:48 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 474s Nov 13 18:59:48 When I shut down postgres0 # features/steps/basic_replication.py:29 476s Nov 13 18:59:50 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 477s Nov 13 18:59:51 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 477s Nov 13 18:59:51 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 477s Nov 13 18:59:51 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 477s Nov 13 18:59:51 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 479s Nov 13 18:59:53 479s Nov 13 18:59:53 Feature: nostream node # features/nostream_node.feature:1 479s Nov 13 18:59:53 479s Nov 13 18:59:53 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 479s Nov 13 18:59:53 When I start postgres0 # features/steps/basic_replication.py:8 484s Nov 13 18:59:58 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 489s Nov 13 19:00:03 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 490s Nov 13 19:00:04 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 495s Nov 13 19:00:09 495s Nov 13 19:00:09 @slot-advance 495s Nov 13 19:00:09 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 495s Nov 13 19:00:09 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 495s Nov 13 19:00:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 495s Nov 13 19:00:09 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 498s Nov 13 19:00:12 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 499s Nov 13 19:00:13 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 504s Nov 13 19:00:18 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 511s Nov 13 19:00:25 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 511s Nov 13 19:00:25 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 516s Nov 13 19:00:30 516s Nov 13 19:00:30 Feature: patroni api # features/patroni_api.feature:1 516s Nov 13 19:00:30 We should check that patroni correctly responds to valid and not-valid API requests. 516s Nov 13 19:00:30 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 516s Nov 13 19:00:30 Given I start postgres0 # features/steps/basic_replication.py:8 521s Nov 13 19:00:35 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 521s Nov 13 19:00:35 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 521s Nov 13 19:00:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 521s Nov 13 19:00:35 And I receive a response state running # features/steps/patroni_api.py:98 521s Nov 13 19:00:35 And I receive a response role master # features/steps/patroni_api.py:98 521s Nov 13 19:00:35 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 521s Nov 13 19:00:35 Then I receive a response code 503 # features/steps/patroni_api.py:98 521s Nov 13 19:00:35 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 521s Nov 13 19:00:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 521s Nov 13 19:00:35 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 521s Nov 13 19:00:35 Then I receive a response code 503 # features/steps/patroni_api.py:98 521s Nov 13 19:00:35 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 522s Nov 13 19:00:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 522s Nov 13 19:00:36 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 522s Nov 13 19:00:36 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 524s Nov 13 19:00:38 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 524s Nov 13 19:00:38 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 524s Nov 13 19:00:38 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 524s Nov 13 19:00:38 Then I receive a response code 412 # features/steps/patroni_api.py:98 524s Nov 13 19:00:38 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 524s Nov 13 19:00:38 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 524s Nov 13 19:00:38 Then I receive a response code 400 # features/steps/patroni_api.py:98 524s Nov 13 19:00:38 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 524s Nov 13 19:00:38 Then I receive a response code 400 # features/steps/patroni_api.py:98 524s Nov 13 19:00:38 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 524s Nov 13 19:00:38 524s Nov 13 19:00:38 Scenario: check local configuration reload # features/patroni_api.feature:32 524s Nov 13 19:00:38 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 524s Nov 13 19:00:38 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 524s Nov 13 19:00:38 Then I receive a response code 202 # features/steps/patroni_api.py:98 524s Nov 13 19:00:38 524s Nov 13 19:00:38 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 524s Nov 13 19:00: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 524s Nov 13 19:00:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 524s Nov 13 19:00:38 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 527s Nov 13 19:00:41 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 527s Nov 13 19:00:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 527s Nov 13 19:00:41 And I receive a response ttl 20 # features/steps/patroni_api.py:98 527s Nov 13 19:00:41 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 527s Nov 13 19:00:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 527s Nov 13 19:00:41 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 527s Nov 13 19:00:41 And I sleep for 4 seconds # features/steps/patroni_api.py:39 531s Nov 13 19:00:45 531s Nov 13 19:00:45 Scenario: check the scheduled restart # features/patroni_api.feature:49 531s Nov 13 19:00:45 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 534s Nov 13 19:00:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 534s Nov 13 19:00:47 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 534s Nov 13 19:00:47 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 534s Nov 13 19:00: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 534s Nov 13 19:00:48 Then I receive a response code 202 # features/steps/patroni_api.py:98 534s Nov 13 19:00:48 And I sleep for 8 seconds # features/steps/patroni_api.py:39 542s Nov 13 19:00:56 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 542s Nov 13 19:00:56 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 542s Nov 13 19:00:56 Then I receive a response code 202 # features/steps/patroni_api.py:98 542s Nov 13 19:00:56 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 549s Nov 13 19:01:03 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 550s Nov 13 19:01:04 550s Nov 13 19:01:04 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 550s Nov 13 19:01:04 Given I start postgres1 # features/steps/basic_replication.py:8 555s Nov 13 19:01:09 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 556s Nov 13 19:01:10 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 558s Nov 13 19:01:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 558s Nov 13 19:01:12 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 558s Nov 13 19:01:12 waiting for server to shut down.... done 558s Nov 13 19:01:12 server stopped 558s Nov 13 19:01:12 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 558s Nov 13 19:01:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 558s Nov 13 19:01:12 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 560s Nov 13 19:01:14 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 563s Nov 13 19:01:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 563s Nov 13 19:01:17 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 564s Nov 13 19:01:18 And I sleep for 2 seconds # features/steps/patroni_api.py:39 566s Nov 13 19:01:20 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 566s Nov 13 19:01:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 566s Nov 13 19:01:20 And I receive a response state running # features/steps/patroni_api.py:98 566s Nov 13 19:01:20 And I receive a response role replica # features/steps/patroni_api.py:98 566s Nov 13 19:01:20 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 572s Nov 13 19:01:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 572s Nov 13 19:01:26 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 572s Nov 13 19:01:26 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 573s Nov 13 19:01:27 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 574s Nov 13 19:01:28 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 576s Nov 13 19:01:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 576s Nov 13 19:01:30 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 576s Nov 13 19:01:30 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 577s Nov 13 19:01:31 577s Nov 13 19:01:31 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 577s Nov 13 19:01:31 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 579s Nov 13 19:01:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 579s Nov 13 19:01:33 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 579s Nov 13 19:01:33 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 580s Nov 13 19:01:34 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 585s Nov 13 19:01:39 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 585s Nov 13 19:01:39 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 585s Nov 13 19:01:39 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 586s Nov 13 19:01:39 Then I receive a response code 503 # features/steps/patroni_api.py:98 586s Nov 13 19:01:39 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 586s Nov 13 19:01:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 586s Nov 13 19:01:40 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 586s Nov 13 19:01:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 586s Nov 13 19:01:40 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 586s Nov 13 19:01:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 586s Nov 13 19:01:40 586s Nov 13 19:01:40 Scenario: check the scheduled switchover # features/patroni_api.feature:107 586s Nov 13 19:01:40 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 588s Nov 13 19:01:42 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 588s Nov 13 19:01:42 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 588s Nov 13 19:01:42 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 590s Nov 13 19:01:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 590s Nov 13 19:01:44 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 593s Nov 13 19:01:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 593s Nov 13 19:01:47 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 603s Nov 13 19:01:57 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 603s Nov 13 19:01:57 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 605s Nov 13 19:01:59 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 605s Nov 13 19:01:59 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 607s Nov 13 19:02:01 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 607s Nov 13 19:02:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 607s Nov 13 19:02:01 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 607s Nov 13 19:02:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 607s Nov 13 19:02:01 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 607s Nov 13 19:02:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 607s Nov 13 19:02:01 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 607s Nov 13 19:02:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 611s Nov 13 19:02:05 611s Nov 13 19:02:05 Feature: permanent slots # features/permanent_slots.feature:1 611s Nov 13 19:02:05 611s Nov 13 19:02:05 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 611s Nov 13 19:02:05 Given I start postgres0 # features/steps/basic_replication.py:8 616s Nov 13 19:02:10 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 616s Nov 13 19:02:10 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 616s Nov 13 19:02:10 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 616s Nov 13 19:02:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 616s Nov 13 19:02:10 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 616s Nov 13 19:02:10 When I start postgres1 # features/steps/basic_replication.py:8 623s Nov 13 19:02:15 And I start postgres2 # features/steps/basic_replication.py:8 626s Nov 13 19:02:20 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 631s Nov 13 19:02:25 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 631s Nov 13 19:02:25 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 631s Nov 13 19:02:25 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 631s Nov 13 19:02:25 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 631s Nov 13 19:02:25 631s Nov 13 19:02:25 @slot-advance 631s Nov 13 19:02:25 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 631s Nov 13 19:02:25 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 634s Nov 13 19:02: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 634s Nov 13 19:02:28 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 635s Nov 13 19:02:29 635s Nov 13 19:02:29 @slot-advance 635s Nov 13 19:02:29 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 635s Nov 13 19:02:29 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 640s Nov 13 19:02:34 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 640s Nov 13 19:02:34 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 641s Nov 13 19:02:35 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 642s Nov 13 19:02:36 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 642s Nov 13 19:02:36 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 642s Nov 13 19:02:36 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 642s Nov 13 19:02:36 642s Nov 13 19:02:36 @slot-advance 642s Nov 13 19:02:36 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 642s Nov 13 19:02:36 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 642s Nov 13 19:02:36 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 642s Nov 13 19:02:36 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 642s Nov 13 19:02:36 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 642s Nov 13 19:02:36 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 642s Nov 13 19:02:36 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 642s Nov 13 19:02:36 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 642s Nov 13 19:02:36 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 642s Nov 13 19:02:36 642s Nov 13 19:02:36 @slot-advance 642s Nov 13 19:02:36 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 642s Nov 13 19:02:36 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 642s Nov 13 19:02:36 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 642s Nov 13 19:02:36 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 642s Nov 13 19:02:36 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 644s Nov 13 19:02:38 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 644s Nov 13 19:02:38 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 644s Nov 13 19:02:38 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 644s Nov 13 19:02:38 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 644s Nov 13 19:02:38 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 644s Nov 13 19:02:38 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 644s Nov 13 19:02:38 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 644s Nov 13 19:02:38 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 644s Nov 13 19:02:38 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 644s Nov 13 19:02:38 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 644s Nov 13 19:02:38 644s Nov 13 19:02:38 @slot-advance 644s Nov 13 19:02:38 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 644s Nov 13 19:02:38 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 644s Nov 13 19:02:38 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 644s Nov 13 19:02:38 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 644s Nov 13 19:02:38 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 644s Nov 13 19:02:38 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 644s Nov 13 19:02:38 644s Nov 13 19:02:38 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 644s Nov 13 19:02:38 Given I shut down postgres3 # features/steps/basic_replication.py:29 645s Nov 13 19:02:39 And I shut down postgres2 # features/steps/basic_replication.py:29 646s Nov 13 19:02:40 And I shut down postgres0 # features/steps/basic_replication.py:29 648s Nov 13 19:02:42 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 648s Nov 13 19:02:42 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 648s Nov 13 19:02:42 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 651s Nov 13 19:02:44 651s Nov 13 19:02:44 Feature: priority replication # features/priority_failover.feature:1 651s Nov 13 19:02:44 We should check that we can give nodes priority during failover 651s Nov 13 19:02:44 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 651s Nov 13 19:02:44 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 656s Nov 13 19:02:50 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 661s Nov 13 19:02:55 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 661s Nov 13 19:02:55 When I shut down postgres0 # features/steps/basic_replication.py:29 663s Nov 13 19:02:57 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 665s Nov 13 19:02:59 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 665s Nov 13 19:02:59 When I start postgres0 # features/steps/basic_replication.py:8 668s Nov 13 19:03:02 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 670s Nov 13 19:03:04 670s Nov 13 19:03:04 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 670s Nov 13 19:03:04 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 675s Nov 13 19:03:09 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 680s Nov 13 19:03:14 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 681s Nov 13 19:03:15 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 682s Nov 13 19:03:16 When I shut down postgres0 # features/steps/basic_replication.py:29 684s Nov 13 19:03:18 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 685s Nov 13 19:03:19 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 685s Nov 13 19:03:19 685s Nov 13 19:03:19 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 685s Nov 13 19:03:19 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 685s Nov 13 19:03:19 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 685s Nov 13 19:03:19 Then I receive a response code 202 # features/steps/patroni_api.py:98 685s Nov 13 19:03:19 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 688s Nov 13 19:03:22 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 689s Nov 13 19:03:23 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 689s Nov 13 19:03:23 Then I receive a response code 412 # features/steps/patroni_api.py:98 689s Nov 13 19:03:23 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 689s Nov 13 19:03:23 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 689s Nov 13 19:03:23 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 689s Nov 13 19:03:23 Then I receive a response code 202 # features/steps/patroni_api.py:98 689s Nov 13 19:03:23 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 690s Nov 13 19:03:24 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 691s Nov 13 19:03:25 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 694s Nov 13 19:03:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 694s Nov 13 19:03:28 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 700s Nov 13 19:03:34 700s Nov 13 19:03:34 Feature: recovery # features/recovery.feature:1 700s Nov 13 19:03:34 We want to check that crashed postgres is started back 700s Nov 13 19:03:34 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 700s Nov 13 19:03:34 Given I start postgres0 # features/steps/basic_replication.py:8 705s Nov 13 19:03:39 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 705s Nov 13 19:03:39 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 705s Nov 13 19:03:39 When I start postgres1 # features/steps/basic_replication.py:8 710s Nov 13 19:03:44 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 710s Nov 13 19:03:44 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 711s Nov 13 19:03:45 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 711s Nov 13 19:03:45 waiting for server to shut down.... done 711s Nov 13 19:03:45 server stopped 711s Nov 13 19:03:45 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 714s Nov 13 19:03:48 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 714s Nov 13 19:03:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 714s Nov 13 19:03:48 And I receive a response role master # features/steps/patroni_api.py:98 714s Nov 13 19:03:48 And I receive a response timeline 1 # features/steps/patroni_api.py:98 714s Nov 13 19:03:48 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 714s Nov 13 19:03:48 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 717s Nov 13 19:03:51 717s Nov 13 19:03:51 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 717s Nov 13 19:03:51 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 717s Nov 13 19:03:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 717s Nov 13 19:03:51 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 717s Nov 13 19:03:51 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 717s Nov 13 19:03:51 waiting for server to shut down.... done 717s Nov 13 19:03:51 server stopped 717s Nov 13 19:03:51 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 720s Nov 13 19:03:54 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 723s Nov 13 19:03:57 723s Nov 13 19:03:57 Feature: standby cluster # features/standby_cluster.feature:1 723s Nov 13 19:03:57 723s Nov 13 19:03:57 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 723s Nov 13 19:03:57 Given I start postgres1 # features/steps/basic_replication.py:8 728s Nov 13 19:04:02 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 728s Nov 13 19:04:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 728s Nov 13 19:04:02 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 728s Nov 13 19:04:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 728s Nov 13 19:04:02 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 729s Nov 13 19:04:02 And I sleep for 3 seconds # features/steps/patroni_api.py:39 732s Nov 13 19:04:05 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 732s Nov 13 19:04:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 732s Nov 13 19:04:06 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 733s Nov 13 19:04:07 When I start postgres0 # features/steps/basic_replication.py:8 738s Nov 13 19:04:12 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 738s Nov 13 19:04:12 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 739s Nov 13 19:04:13 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 739s Nov 13 19:04:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 739s Nov 13 19:04:13 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 739s Nov 13 19:04:13 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 739s Nov 13 19:04:13 739s Nov 13 19:04:13 @slot-advance 739s Nov 13 19:04:13 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 739s Nov 13 19:04:13 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 742s Nov 13 19:04:16 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 748s Nov 13 19:04:22 748s Nov 13 19:04:22 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 748s Nov 13 19:04:22 When I shut down postgres1 # features/steps/basic_replication.py:29 750s Nov 13 19:04:24 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 750s Nov 13 19:04:24 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 751s Nov 13 19:04:25 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 751s Nov 13 19:04:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 751s Nov 13 19:04:25 751s Nov 13 19:04:25 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 751s Nov 13 19:04:25 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 755s Nov 13 19:04:29 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 755s Nov 13 19:04:29 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 755s Nov 13 19:04:29 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 755s Nov 13 19:04:29 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 755s Nov 13 19:04:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 755s Nov 13 19:04:29 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 755s Nov 13 19:04:29 And I sleep for 3 seconds # features/steps/patroni_api.py:39 758s Nov 13 19:04:32 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 758s Nov 13 19:04:32 Then I receive a response code 503 # features/steps/patroni_api.py:98 758s Nov 13 19:04:32 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 758s Nov 13 19:04:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 758s Nov 13 19:04:32 And I receive a response role standby_leader # features/steps/patroni_api.py:98 758s Nov 13 19:04:32 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 758s Nov 13 19:04:32 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 763s Nov 13 19:04:37 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 763s Nov 13 19:04:37 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 763s Nov 13 19:04:37 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 763s Nov 13 19:04:37 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 763s Nov 13 19:04:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 763s Nov 13 19:04:37 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 763s Nov 13 19:04:37 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 763s Nov 13 19:04:37 763s Nov 13 19:04:37 Scenario: check switchover # features/standby_cluster.feature:57 763s Nov 13 19:04:37 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 767s Nov 13 19:04:41 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 768s Nov 13 19:04:41 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 770s Nov 13 19:04:43 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 770s Nov 13 19:04:43 770s Nov 13 19:04:43 Scenario: check failover # features/standby_cluster.feature:63 770s Nov 13 19:04:43 When I kill postgres2 # features/steps/basic_replication.py:34 771s Nov 13 19:04:44 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 771s Nov 13 19:04:45 waiting for server to shut down.... done 771s Nov 13 19:04:45 server stopped 771s Nov 13 19:04:45 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 790s Nov 13 19:05: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 790s Nov 13 19:05:04 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 790s Nov 13 19:05:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 790s Nov 13 19:05:04 And I receive a response role standby_leader # features/steps/patroni_api.py:98 790s Nov 13 19:05:04 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 791s Nov 13 19:05:05 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 795s Nov 13 19:05:09 795s Nov 13 19:05:09 Feature: watchdog # features/watchdog.feature:1 795s Nov 13 19:05:09 Verify that watchdog gets pinged and triggered under appropriate circumstances. 795s Nov 13 19:05:09 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 795s Nov 13 19:05:09 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 800s Nov 13 19:05:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 800s Nov 13 19:05:14 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 800s Nov 13 19:05:14 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 801s Nov 13 19:05:15 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 801s Nov 13 19:05:15 801s Nov 13 19:05:15 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 801s Nov 13 19:05:15 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 803s Nov 13 19:05:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 803s Nov 13 19:05:17 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 803s Nov 13 19:05:17 When I sleep for 4 seconds # features/steps/patroni_api.py:39 807s Nov 13 19:05:21 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 807s Nov 13 19:05:21 807s Nov 13 19:05:21 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 807s Nov 13 19:05:21 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 809s Nov 13 19:05:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 809s Nov 13 19:05:23 When I sleep for 2 seconds # features/steps/patroni_api.py:39 811s Nov 13 19:05:25 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 811s Nov 13 19:05:25 811s Nov 13 19:05:25 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 811s Nov 13 19:05:25 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 811s Nov 13 19:05:25 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 813s Nov 13 19:05:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 813s Nov 13 19:05:27 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 814s Nov 13 19:05:28 814s Nov 13 19:05:28 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 814s Nov 13 19:05:28 Given I shut down postgres0 # features/steps/basic_replication.py:29 816s Nov 13 19:05:30 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 816s Nov 13 19:05:30 816s Nov 13 19:05:30 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 816s Nov 13 19:05:30 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 816s Nov 13 19:05:30 And I start postgres0 with watchdog # features/steps/watchdog.py:16 819s Nov 13 19:05:33 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 821s Nov 13 19:05:35 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 821s Nov 13 19:05:35 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 848s Nov 13 19:06:02 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.3627.XQWFWwOx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.3671.XYEJrXkx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.3717.XGyWhgPx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.3768.XcFhBbNx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.3815.XKZKlLvx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.3889.XWKkRqrx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.3938.XyImPZkx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.3941.XZlAavcx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4029.XdXbpYTx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4126.XKxvLCex 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4134.XIdpJXox 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4178.XkRkcSrx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4227.XlLVCJYx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4378.XEaOptOx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4423.XeNjLIVx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4479.XYwmKzdx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4566.XTqYYFMx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4615.XyoYNEPx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4713.XbSbPbAx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4765.XuqGxbRx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4829.XFuHfehx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.4919.XYcnZrux 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5016.XRSugPsx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5059.XYPOXypx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5125.XrUVRjlx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5159.XcEgZSMx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5289.XFEtfInx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5338.XyZWwQTx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5354.XVpBaeex 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5391.XnBOcnFx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5440.XIBySrcx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5445.XXZxkiRx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5481.XkdbNOkx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5526.XLReMGUx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5688.XMjBTmKx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5690.XSDozEkx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5696.XZSUXaTx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5827.XxyiAfZx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5872.XbKlVxUx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5921.XMHPKmlx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.5963.XZwDlkIx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.6005.XSTJaykx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.6183.XfHKalux 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.6226.XTjKSsOx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.6297.XWZOYTYx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.6375.XCFNGZCx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.6449.XHtFRhCx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.6782.XBDQdTbx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.6825.XqirZyUx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.6964.XPTTAGtx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.7027.XPMEgKux 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.7080.XFIrwhcx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.7181.Xqsovzrx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.7302.XkVCqdQx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.7441.XUFbCkdx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.7484.XpbwSZZx 849s Nov 13 19:06:03 Skipping duplicate data .coverage.autopkgtest-lxd-udabrq.7487.XEtUIhwx 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.7490.XlLxqwax 849s Nov 13 19:06:03 Combined data file .coverage.autopkgtest-lxd-udabrq.7501.XAECBdEx 852s Nov 13 19:06:06 Name Stmts Miss Cover 852s Nov 13 19:06:06 ------------------------------------------------------------------------------------------------------------- 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/api.py 770 286 63% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 126 81% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/ha.py 1244 361 71% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/utils.py 350 107 69% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/six.py 504 250 50% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 127 46% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 131 62% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 32 72% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/response.py 562 274 51% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 50 71% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 75 63% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 852s Nov 13 19:06:06 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 852s Nov 13 19:06:06 patroni/__init__.py 13 2 85% 852s Nov 13 19:06:06 patroni/__main__.py 199 199 0% 852s Nov 13 19:06:06 patroni/api.py 770 770 0% 852s Nov 13 19:06:06 patroni/async_executor.py 96 69 28% 852s Nov 13 19:06:06 patroni/collections.py 56 15 73% 852s Nov 13 19:06:06 patroni/config.py 371 196 47% 852s Nov 13 19:06:06 patroni/config_generator.py 212 212 0% 852s Nov 13 19:06:06 patroni/ctl.py 936 411 56% 852s Nov 13 19:06:06 patroni/daemon.py 76 76 0% 852s Nov 13 19:06:06 patroni/dcs/__init__.py 646 269 58% 852s Nov 13 19:06:06 patroni/dcs/consul.py 485 485 0% 852s Nov 13 19:06:06 patroni/dcs/etcd3.py 679 346 49% 852s Nov 13 19:06:06 patroni/dcs/etcd.py 603 280 54% 852s Nov 13 19:06:06 patroni/dcs/exhibitor.py 61 61 0% 852s Nov 13 19:06:06 patroni/dcs/kubernetes.py 938 938 0% 852s Nov 13 19:06:06 patroni/dcs/raft.py 319 319 0% 852s Nov 13 19:06:06 patroni/dcs/zookeeper.py 288 288 0% 852s Nov 13 19:06:06 patroni/dynamic_loader.py 35 7 80% 852s Nov 13 19:06:06 patroni/exceptions.py 16 1 94% 852s Nov 13 19:06:06 patroni/file_perm.py 43 15 65% 852s Nov 13 19:06:06 patroni/global_config.py 81 18 78% 852s Nov 13 19:06:06 patroni/ha.py 1244 1244 0% 852s Nov 13 19:06:06 patroni/log.py 219 173 21% 852s Nov 13 19:06:06 patroni/postgresql/__init__.py 821 651 21% 852s Nov 13 19:06:06 patroni/postgresql/available_parameters/__init__.py 21 1 95% 852s Nov 13 19:06:06 patroni/postgresql/bootstrap.py 252 222 12% 852s Nov 13 19:06:06 patroni/postgresql/callback_executor.py 55 34 38% 852s Nov 13 19:06:06 patroni/postgresql/cancellable.py 104 84 19% 852s Nov 13 19:06:06 patroni/postgresql/config.py 813 698 14% 852s Nov 13 19:06:06 patroni/postgresql/connection.py 75 50 33% 852s Nov 13 19:06:06 patroni/postgresql/misc.py 41 29 29% 852s Nov 13 19:06:06 patroni/postgresql/mpp/__init__.py 89 21 76% 852s Nov 13 19:06:06 patroni/postgresql/mpp/citus.py 259 259 0% 852s Nov 13 19:06:06 patroni/postgresql/postmaster.py 170 139 18% 852s Nov 13 19:06:06 patroni/postgresql/rewind.py 416 416 0% 852s Nov 13 19:06:06 patroni/postgresql/slots.py 334 285 15% 852s Nov 13 19:06:06 patroni/postgresql/sync.py 130 96 26% 852s Nov 13 19:06:06 patroni/postgresql/validator.py 157 52 67% 852s Nov 13 19:06:06 patroni/psycopg.py 42 28 33% 852s Nov 13 19:06:06 patroni/raft_controller.py 22 22 0% 852s Nov 13 19:06:06 patroni/request.py 62 6 90% 852s Nov 13 19:06:06 patroni/scripts/__init__.py 0 0 100% 852s Nov 13 19:06:06 patroni/scripts/aws.py 59 59 0% 852s Nov 13 19:06:06 patroni/scripts/barman/__init__.py 0 0 100% 852s Nov 13 19:06:06 patroni/scripts/barman/cli.py 51 51 0% 852s Nov 13 19:06:06 patroni/scripts/barman/config_switch.py 51 51 0% 852s Nov 13 19:06:06 patroni/scripts/barman/recover.py 37 37 0% 852s Nov 13 19:06:06 patroni/scripts/barman/utils.py 94 94 0% 852s Nov 13 19:06:06 patroni/scripts/wale_restore.py 207 207 0% 852s Nov 13 19:06:06 patroni/tags.py 38 11 71% 852s Nov 13 19:06:06 patroni/utils.py 350 178 49% 852s Nov 13 19:06:06 patroni/validator.py 301 215 29% 852s Nov 13 19:06:06 patroni/version.py 1 0 100% 852s Nov 13 19:06:06 patroni/watchdog/__init__.py 2 2 0% 852s Nov 13 19:06:06 patroni/watchdog/base.py 203 203 0% 852s Nov 13 19:06:06 patroni/watchdog/linux.py 135 135 0% 852s Nov 13 19:06:06 ------------------------------------------------------------------------------------------------------------- 852s Nov 13 19:06:06 TOTAL 53739 32262 40% 852s Nov 13 19:06:06 12 features passed, 0 failed, 1 skipped 852s Nov 13 19:06:06 46 scenarios passed, 0 failed, 14 skipped 852s Nov 13 19:06:06 466 steps passed, 0 failed, 119 skipped, 0 undefined 852s Nov 13 19:06:06 Took 8m29.910s 852s ### End 16 acceptance-etcd3 ### 852s + echo '### End 16 acceptance-etcd3 ###' 852s + rm -f '/tmp/pgpass?' 852s ++ id -u 852s + '[' 1000 -eq 0 ']' 852s autopkgtest [19:06:06]: test acceptance-etcd3: -----------------------] 856s autopkgtest [19:06:10]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 856s acceptance-etcd3 PASS 860s autopkgtest [19:06:14]: test acceptance-etcd-basic: preparing testbed 913s autopkgtest [19:07:07]: testbed dpkg architecture: armhf 915s autopkgtest [19:07:09]: testbed apt version: 2.9.8 915s autopkgtest [19:07:09]: @@@@@@@@@@@@@@@@@@@@ test bed setup 923s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 923s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.2 kB] 923s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [958 kB] 923s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [98.3 kB] 923s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 923s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [101 kB] 923s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [647 kB] 924s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [17.2 kB] 924s Fetched 1919 kB in 1s (1591 kB/s) 924s Reading package lists... 940s tee: /proc/self/fd/2: Permission denied 963s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 963s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 963s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 964s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 965s Reading package lists... 965s Reading package lists... 965s Building dependency tree... 965s Reading state information... 966s Calculating upgrade... 966s The following NEW packages will be installed: 966s python3.13-gdbm 966s The following packages will be upgraded: 966s libgnutls30t64 libjson-glib-1.0-0 libjson-glib-1.0-common libnewt0.52 966s libpython3-stdlib libutempter0 python3 python3-gdbm python3-minimal 966s python3-newt whiptail 967s 11 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 967s Need to get 1207 kB of archives. 967s After this operation, 124 kB of additional disk space will be used. 967s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-minimal armhf 3.12.7-1 [27.4 kB] 967s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3 armhf 3.12.7-1 [24.0 kB] 967s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libpython3-stdlib armhf 3.12.7-1 [10.0 kB] 967s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls30t64 armhf 3.8.8-2ubuntu1 [955 kB] 967s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf python3-newt armhf 0.52.24-2ubuntu4 [19.7 kB] 967s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf libnewt0.52 armhf 0.52.24-2ubuntu4 [39.2 kB] 967s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf whiptail armhf 0.52.24-2ubuntu4 [17.2 kB] 967s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf python3.13-gdbm armhf 3.13.0-2 [29.5 kB] 967s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-gdbm armhf 3.12.7-1 [8642 B] 967s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 967s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-0 armhf 1.10.0+ds-3 [61.7 kB] 967s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libutempter0 armhf 1.2.1-4 [9062 B] 968s Fetched 1207 kB in 1s (1921 kB/s) 968s (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 ... 59559 files and directories currently installed.) 968s Preparing to unpack .../python3-minimal_3.12.7-1_armhf.deb ... 968s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 968s Setting up python3-minimal (3.12.7-1) ... 968s (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 ... 59559 files and directories currently installed.) 968s Preparing to unpack .../python3_3.12.7-1_armhf.deb ... 968s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 968s Preparing to unpack .../libpython3-stdlib_3.12.7-1_armhf.deb ... 968s Unpacking libpython3-stdlib:armhf (3.12.7-1) over (3.12.6-0ubuntu1) ... 968s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_armhf.deb ... 968s Unpacking libgnutls30t64:armhf (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 968s Setting up libgnutls30t64:armhf (3.8.8-2ubuntu1) ... 968s (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 ... 59559 files and directories currently installed.) 968s Preparing to unpack .../0-python3-newt_0.52.24-2ubuntu4_armhf.deb ... 968s Unpacking python3-newt:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 968s Preparing to unpack .../1-libnewt0.52_0.52.24-2ubuntu4_armhf.deb ... 968s Unpacking libnewt0.52:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 968s Preparing to unpack .../2-whiptail_0.52.24-2ubuntu4_armhf.deb ... 968s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 968s Selecting previously unselected package python3.13-gdbm. 968s Preparing to unpack .../3-python3.13-gdbm_3.13.0-2_armhf.deb ... 968s Unpacking python3.13-gdbm (3.13.0-2) ... 968s Preparing to unpack .../4-python3-gdbm_3.12.7-1_armhf.deb ... 968s Unpacking python3-gdbm:armhf (3.12.7-1) over (3.12.6-1ubuntu1) ... 968s Preparing to unpack .../5-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 968s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 968s Preparing to unpack .../6-libjson-glib-1.0-0_1.10.0+ds-3_armhf.deb ... 968s Unpacking libjson-glib-1.0-0:armhf (1.10.0+ds-3) over (1.10.0+ds-2) ... 968s Preparing to unpack .../7-libutempter0_1.2.1-4_armhf.deb ... 968s Unpacking libutempter0:armhf (1.2.1-4) over (1.2.1-3build1) ... 969s Setting up libnewt0.52:armhf (0.52.24-2ubuntu4) ... 969s Setting up libutempter0:armhf (1.2.1-4) ... 969s Setting up whiptail (0.52.24-2ubuntu4) ... 969s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 969s Setting up python3.13-gdbm (3.13.0-2) ... 969s Setting up libpython3-stdlib:armhf (3.12.7-1) ... 969s Setting up python3 (3.12.7-1) ... 969s Setting up python3-newt:armhf (0.52.24-2ubuntu4) ... 969s Setting up libjson-glib-1.0-0:armhf (1.10.0+ds-3) ... 969s Setting up python3-gdbm:armhf (3.12.7-1) ... 969s Processing triggers for man-db (2.12.1-3) ... 970s Processing triggers for libc-bin (2.40-1ubuntu3) ... 970s Reading package lists... 970s Building dependency tree... 970s Reading state information... 971s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 974s autopkgtest [19:08:08]: rebooting testbed after setup commands that affected boot 1077s Reading package lists... 1078s Building dependency tree... 1078s Reading state information... 1078s Starting pkgProblemResolver with broken count: 0 1078s Starting 2 pkgProblemResolver with broken count: 0 1078s Done 1079s The following additional packages will be installed: 1079s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 1079s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm19 libpq5 1079s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 1079s patroni-doc postgresql postgresql-16 postgresql-client-16 1079s postgresql-client-common postgresql-common python3-behave python3-cdiff 1079s python3-click python3-colorama python3-coverage python3-dateutil 1079s python3-dnspython python3-etcd python3-parse python3-parse-type 1079s python3-prettytable python3-psutil python3-psycopg2 python3-six 1079s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 1079s Suggested packages: 1079s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 1079s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 1079s python3-httpcore etcd python-psycopg2-doc 1079s Recommended packages: 1079s javascript-common libjson-xs-perl 1079s The following NEW packages will be installed: 1079s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 1079s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 1079s libllvm19 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 1079s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 1079s postgresql-client-common postgresql-common python3-behave python3-cdiff 1079s python3-click python3-colorama python3-coverage python3-dateutil 1079s python3-dnspython python3-etcd python3-parse python3-parse-type 1079s python3-prettytable python3-psutil python3-psycopg2 python3-six 1079s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 1079s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 1079s Need to get 61.3 MB/61.3 MB of archives. 1079s After this operation, 231 MB of additional disk space will be used. 1079s Get:1 /tmp/autopkgtest.F0zun9/2-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [768 B] 1079s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 1080s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 1080s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 262 [36.7 kB] 1080s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.2ubuntu2 [18.0 kB] 1080s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 262 [162 kB] 1080s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf etcd-server armhf 3.5.15-7 [10.4 MB] 1082s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1082s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 1082s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 1082s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1082s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1082s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 1082s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.2-1ubuntu1 [27.8 MB] 1084s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 1084s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 1084s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 1084s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu1 [150 kB] 1084s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 1084s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 1084s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 1084s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 1084s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 1084s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 1084s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 1084s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1084s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 1084s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 1084s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 1084s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1084s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-4 [31.9 kB] 1084s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 1084s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 1084s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 1084s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-16 armhf 16.4-3 [1236 kB] 1084s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-16 armhf 16.4-3 [14.2 MB] 1086s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 16+262 [11.8 kB] 1086s Get:38 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 1086s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-1 [23.4 kB] 1086s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 1086s Get:41 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 1086s Preconfiguring packages ... 1086s Fetched 61.3 MB in 7s (9068 kB/s) 1087s Selecting previously unselected package fonts-lato. 1087s (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 ... 59567 files and directories currently installed.) 1087s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 1087s Unpacking fonts-lato (2.015-1) ... 1087s Selecting previously unselected package libjson-perl. 1087s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 1087s Unpacking libjson-perl (4.10000-1) ... 1087s Selecting previously unselected package postgresql-client-common. 1087s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 1087s Unpacking postgresql-client-common (262) ... 1087s Selecting previously unselected package ssl-cert. 1087s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 1087s Unpacking ssl-cert (1.1.2ubuntu2) ... 1087s Selecting previously unselected package postgresql-common. 1087s Preparing to unpack .../04-postgresql-common_262_all.deb ... 1087s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1087s Unpacking postgresql-common (262) ... 1087s Selecting previously unselected package etcd-server. 1087s Preparing to unpack .../05-etcd-server_3.5.15-7_armhf.deb ... 1087s Unpacking etcd-server (3.5.15-7) ... 1087s Selecting previously unselected package fonts-font-awesome. 1087s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1087s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1088s Selecting previously unselected package libio-pty-perl. 1088s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 1088s Unpacking libio-pty-perl (1:1.20-1build3) ... 1088s Selecting previously unselected package libipc-run-perl. 1088s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 1088s Unpacking libipc-run-perl (20231003.0-2) ... 1088s Selecting previously unselected package libjs-jquery. 1088s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1088s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1088s Selecting previously unselected package libjs-underscore. 1088s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1088s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1088s Selecting previously unselected package libjs-sphinxdoc. 1088s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 1088s Unpacking libjs-sphinxdoc (7.4.7-4) ... 1088s Selecting previously unselected package libllvm19:armhf. 1088s Preparing to unpack .../12-libllvm19_1%3a19.1.2-1ubuntu1_armhf.deb ... 1088s Unpacking libllvm19:armhf (1:19.1.2-1ubuntu1) ... 1089s Selecting previously unselected package libpq5:armhf. 1089s Preparing to unpack .../13-libpq5_17.0-1_armhf.deb ... 1089s Unpacking libpq5:armhf (17.0-1) ... 1089s Selecting previously unselected package libtime-duration-perl. 1089s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 1089s Unpacking libtime-duration-perl (1.21-2) ... 1089s Selecting previously unselected package libtimedate-perl. 1089s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 1089s Unpacking libtimedate-perl (2.3300-2) ... 1089s Selecting previously unselected package libxslt1.1:armhf. 1089s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1ubuntu1_armhf.deb ... 1089s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 1089s Selecting previously unselected package moreutils. 1089s Preparing to unpack .../17-moreutils_0.69-1_armhf.deb ... 1089s Unpacking moreutils (0.69-1) ... 1089s Selecting previously unselected package python3-ydiff. 1089s Preparing to unpack .../18-python3-ydiff_1.3-1_all.deb ... 1089s Unpacking python3-ydiff (1.3-1) ... 1089s Selecting previously unselected package python3-cdiff. 1089s Preparing to unpack .../19-python3-cdiff_1.3-1_all.deb ... 1089s Unpacking python3-cdiff (1.3-1) ... 1089s Selecting previously unselected package python3-colorama. 1089s Preparing to unpack .../20-python3-colorama_0.4.6-4_all.deb ... 1089s Unpacking python3-colorama (0.4.6-4) ... 1089s Selecting previously unselected package python3-click. 1089s Preparing to unpack .../21-python3-click_8.1.7-2_all.deb ... 1089s Unpacking python3-click (8.1.7-2) ... 1090s Selecting previously unselected package python3-six. 1090s Preparing to unpack .../22-python3-six_1.16.0-7_all.deb ... 1090s Unpacking python3-six (1.16.0-7) ... 1090s Selecting previously unselected package python3-dateutil. 1090s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 1090s Unpacking python3-dateutil (2.9.0-2) ... 1090s Selecting previously unselected package python3-wcwidth. 1090s Preparing to unpack .../24-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1090s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1090s Selecting previously unselected package python3-prettytable. 1090s Preparing to unpack .../25-python3-prettytable_3.10.1-1_all.deb ... 1090s Unpacking python3-prettytable (3.10.1-1) ... 1090s Selecting previously unselected package python3-psutil. 1090s Preparing to unpack .../26-python3-psutil_5.9.8-2build2_armhf.deb ... 1090s Unpacking python3-psutil (5.9.8-2build2) ... 1090s Selecting previously unselected package python3-psycopg2. 1090s Preparing to unpack .../27-python3-psycopg2_2.9.9-2_armhf.deb ... 1090s Unpacking python3-psycopg2 (2.9.9-2) ... 1090s Selecting previously unselected package python3-dnspython. 1090s Preparing to unpack .../28-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1090s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1090s Selecting previously unselected package python3-etcd. 1090s Preparing to unpack .../29-python3-etcd_0.4.5-4_all.deb ... 1090s Unpacking python3-etcd (0.4.5-4) ... 1090s Selecting previously unselected package patroni. 1090s Preparing to unpack .../30-patroni_3.3.1-1_all.deb ... 1090s Unpacking patroni (3.3.1-1) ... 1090s Selecting previously unselected package sphinx-rtd-theme-common. 1090s Preparing to unpack .../31-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 1090s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1090s Selecting previously unselected package patroni-doc. 1090s Preparing to unpack .../32-patroni-doc_3.3.1-1_all.deb ... 1090s Unpacking patroni-doc (3.3.1-1) ... 1090s Selecting previously unselected package postgresql-client-16. 1090s Preparing to unpack .../33-postgresql-client-16_16.4-3_armhf.deb ... 1090s Unpacking postgresql-client-16 (16.4-3) ... 1090s Selecting previously unselected package postgresql-16. 1090s Preparing to unpack .../34-postgresql-16_16.4-3_armhf.deb ... 1090s Unpacking postgresql-16 (16.4-3) ... 1091s Selecting previously unselected package postgresql. 1091s Preparing to unpack .../35-postgresql_16+262_all.deb ... 1091s Unpacking postgresql (16+262) ... 1091s Selecting previously unselected package python3-parse. 1091s Preparing to unpack .../36-python3-parse_1.20.2-1_all.deb ... 1091s Unpacking python3-parse (1.20.2-1) ... 1091s Selecting previously unselected package python3-parse-type. 1091s Preparing to unpack .../37-python3-parse-type_0.6.4-1_all.deb ... 1091s Unpacking python3-parse-type (0.6.4-1) ... 1091s Selecting previously unselected package python3-behave. 1091s Preparing to unpack .../38-python3-behave_1.2.6-6_all.deb ... 1091s Unpacking python3-behave (1.2.6-6) ... 1091s Selecting previously unselected package python3-coverage. 1091s Preparing to unpack .../39-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 1091s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1091s Selecting previously unselected package autopkgtest-satdep. 1091s Preparing to unpack .../40-2-autopkgtest-satdep.deb ... 1091s Unpacking autopkgtest-satdep (0) ... 1091s Setting up postgresql-client-common (262) ... 1091s Setting up libllvm19:armhf (1:19.1.2-1ubuntu1) ... 1091s Setting up fonts-lato (2.015-1) ... 1091s Setting up libio-pty-perl (1:1.20-1build3) ... 1091s Setting up python3-colorama (0.4.6-4) ... 1091s Setting up python3-ydiff (1.3-1) ... 1092s Setting up libpq5:armhf (17.0-1) ... 1092s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1092s Setting up python3-click (8.1.7-2) ... 1092s Setting up python3-psutil (5.9.8-2build2) ... 1093s Setting up python3-six (1.16.0-7) ... 1093s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1093s Setting up ssl-cert (1.1.2ubuntu2) ... 1094s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1094s Setting up python3-psycopg2 (2.9.9-2) ... 1094s Setting up libipc-run-perl (20231003.0-2) ... 1094s Setting up libtime-duration-perl (1.21-2) ... 1094s Setting up libtimedate-perl (2.3300-2) ... 1094s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1095s Setting up python3-parse (1.20.2-1) ... 1095s Setting up libjson-perl (4.10000-1) ... 1095s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 1095s Setting up python3-dateutil (2.9.0-2) ... 1095s Setting up etcd-server (3.5.15-7) ... 1095s info: Selecting UID from range 100 to 999 ... 1095s 1095s info: Selecting GID from range 100 to 999 ... 1095s info: Adding system user `etcd' (UID 107) ... 1095s info: Adding new group `etcd' (GID 111) ... 1095s info: Adding new user `etcd' (UID 107) with group `etcd' ... 1095s info: Creating home directory `/var/lib/etcd/' ... 1095s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 1095s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 1096s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1096s Setting up python3-prettytable (3.10.1-1) ... 1096s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1096s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1096s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1096s Setting up moreutils (0.69-1) ... 1096s Setting up python3-etcd (0.4.5-4) ... 1097s Setting up postgresql-client-16 (16.4-3) ... 1098s 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 1098s Setting up python3-cdiff (1.3-1) ... 1098s Setting up python3-parse-type (0.6.4-1) ... 1098s Setting up postgresql-common (262) ... 1099s 1099s Creating config file /etc/postgresql-common/createcluster.conf with new version 1099s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1099s Removing obsolete dictionary files: 1100s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1100s Setting up libjs-sphinxdoc (7.4.7-4) ... 1100s Setting up python3-behave (1.2.6-6) ... 1100s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1100s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1100s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1100s """Registers a custom type that will be available to "parse" 1100s Setting up patroni (3.3.1-1) ... 1100s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1101s Setting up postgresql-16 (16.4-3) ... 1102s Creating new PostgreSQL cluster 16/main ... 1102s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1102s The files belonging to this database system will be owned by user "postgres". 1102s This user must also own the server process. 1102s 1102s The database cluster will be initialized with locale "C.UTF-8". 1102s The default database encoding has accordingly been set to "UTF8". 1102s The default text search configuration will be set to "english". 1102s 1102s Data page checksums are disabled. 1102s 1102s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1102s creating subdirectories ... ok 1102s selecting dynamic shared memory implementation ... posix 1102s selecting default max_connections ... 100 1102s selecting default shared_buffers ... 128MB 1102s selecting default time zone ... Etc/UTC 1102s creating configuration files ... ok 1102s running bootstrap script ... ok 1103s performing post-bootstrap initialization ... ok 1103s syncing data to disk ... ok 1106s Setting up patroni-doc (3.3.1-1) ... 1106s Setting up postgresql (16+262) ... 1106s Setting up autopkgtest-satdep (0) ... 1106s Processing triggers for man-db (2.12.1-3) ... 1107s Processing triggers for libc-bin (2.40-1ubuntu3) ... 1125s (Reading database ... 62784 files and directories currently installed.) 1125s Removing autopkgtest-satdep (0) ... 1137s autopkgtest [19:10:51]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 1137s autopkgtest [19:10:51]: test acceptance-etcd-basic: [----------------------- 1139s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1140s ○ etcd.service - etcd - highly-available key value store 1140s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1140s Active: inactive (dead) since Wed 2024-11-13 19:10:53 UTC; 19ms ago 1140s Duration: 43.186s 1140s Invocation: 9ee2bcfec3d84793ba7a96a72861f12d 1140s Docs: https://etcd.io/docs 1140s man:etcd 1140s Process: 1269 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1140s Main PID: 1269 (code=killed, signal=TERM) 1140s 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.961286Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.961458Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest-lxd-zzocsb","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"warn","ts":"2024-11-13T19:10:53.961579Z","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"} 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"warn","ts":"2024-11-13T19:10:53.961919Z","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"} 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.961969Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.966507Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.966785Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.966815Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest-lxd-zzocsb","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb systemd[1]: etcd.service: Deactivated successfully. 1140s Nov 13 19:10:53 autopkgtest-lxd-zzocsb systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1140s ++ ls -1r /usr/lib/postgresql/ 1140s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 1140s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1140s + '[' 16 == 10 -o 16 == 11 ']' 1140s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 1140s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm 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' 1141s Nov 13 19:10:55 Feature: basic replication # features/basic_replication.feature:1 1141s Nov 13 19:10:55 We should check that the basic bootstrapping, replication and failover works. 1141s Nov 13 19:10:55 Scenario: check replication of a single table # features/basic_replication.feature:4 1141s Nov 13 19:10:55 Given I start postgres0 # features/steps/basic_replication.py:8 1147s Nov 13 19:11:00 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1147s Nov 13 19:11:00 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1147s Nov 13 19:11:00 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 1147s Nov 13 19:11:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 1147s Nov 13 19:11:01 When I start postgres1 # features/steps/basic_replication.py:8 1152s Nov 13 19:11:06 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1157s Nov 13 19:11:11 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1157s Nov 13 19:11:11 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1157s Nov 13 19:11:11 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1158s Nov 13 19:11:12 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1158s Nov 13 19:11:12 1158s Nov 13 19:11:12 Scenario: check restart of sync replica # features/basic_replication.feature:17 1158s Nov 13 19:11:12 Given I shut down postgres2 # features/steps/basic_replication.py:29 1159s Nov 13 19:11:13 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1159s Nov 13 19:11:13 When I start postgres2 # features/steps/basic_replication.py:8 1162s Nov 13 19:11:16 And I shut down postgres1 # features/steps/basic_replication.py:29 1165s Nov 13 19:11:19 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1166s Nov 13 19:11:20 When I start postgres1 # features/steps/basic_replication.py:8 1169s Nov 13 19:11:23 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1170s Nov 13 19:11:24 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1170s Nov 13 19:11:24 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1170s Nov 13 19:11:24 1170s Nov 13 19:11:24 Scenario: check stuck sync replica # features/basic_replication.feature:28 1170s Nov 13 19:11:24 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1170s Nov 13 19:11:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 1170s Nov 13 19:11:24 And I create table on postgres0 # features/steps/basic_replication.py:73 1170s Nov 13 19:11:24 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1171s Nov 13 19:11:25 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1171s Nov 13 19:11:25 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1171s Nov 13 19:11:25 And I load data on postgres0 # features/steps/basic_replication.py:84 1172s Nov 13 19:11:26 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1175s Nov 13 19:11:29 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1175s Nov 13 19:11:29 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1175s Nov 13 19:11:29 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1175s Nov 13 19:11:29 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1175s Nov 13 19:11:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1175s Nov 13 19:11:29 And I drop table on postgres0 # features/steps/basic_replication.py:73 1175s Nov 13 19:11:29 1175s Nov 13 19:11:29 Scenario: check multi sync replication # features/basic_replication.feature:44 1175s Nov 13 19:11:29 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1175s Nov 13 19:11:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1175s Nov 13 19:11:29 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1179s Nov 13 19:11:33 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1179s Nov 13 19:11:33 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1179s Nov 13 19:11:33 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1179s Nov 13 19:11:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1179s Nov 13 19:11:33 And I shut down postgres1 # features/steps/basic_replication.py:29 1182s Nov 13 19:11:36 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1183s Nov 13 19:11:37 When I start postgres1 # features/steps/basic_replication.py:8 1187s Nov 13 19:11:41 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1187s Nov 13 19:11:41 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1187s Nov 13 19:11:41 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1187s Nov 13 19:11:41 1187s Nov 13 19:11:41 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1187s Nov 13 19:11:41 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1189s Nov 13 19:11:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1189s Nov 13 19:11:43 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1192s Nov 13 19:11:45 And I shut down postgres0 # features/steps/basic_replication.py:29 1192s Nov 13 19:11:46 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1194s Nov 13 19:11:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1194s Nov 13 19:11:48 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1214s Nov 13 19:12:07 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1216s Nov 13 19:12:09 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1216s Nov 13 19:12:09 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 1216s Nov 13 19:12:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 1216s Nov 13 19:12:10 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1216s Nov 13 19:12:10 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1219s Nov 13 19:12:13 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1219s Nov 13 19:12:13 1219s Nov 13 19:12:13 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1219s Nov 13 19:12:13 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1219s Nov 13 19:12:13 And I start postgres0 # features/steps/basic_replication.py:8 1219s Nov 13 19:12:13 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1227s Nov 13 19:12:21 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1227s Nov 13 19:12:21 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1227s Nov 13 19:12:21 1227s Nov 13 19:12:21 @reject-duplicate-name 1227s Nov 13 19:12:21 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1227s Nov 13 19:12:21 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1230s Nov 13 19:12:24 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 1234s Nov 13 19:12:28 1235s 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'))") 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3502.XYuKRDJx 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3545.XLniqHox 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3584.XcNMktFx 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3639.XVMGrHlx 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3684.XhRKoTSx 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3755.XbWpmRJx 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3803.XwWasONx 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3806.XekToKAx 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3902.XpgGuYRx 1235s Nov 13 19:12:29 Combined data file .coverage.autopkgtest-lxd-zzocsb.3998.XxmchBfx 1238s Nov 13 19:12:32 Name Stmts Miss Cover 1238s Nov 13 19:12:32 ------------------------------------------------------------------------------------------------------------- 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 603 45% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/api.py 770 430 44% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 149 77% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 183 70% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/ha.py 1244 611 51% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/log.py 219 71 68% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 239 71% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 91 64% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 251 69% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 174 48% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/utils.py 350 141 60% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/validator.py 301 211 30% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/six.py 504 250 50% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 104 56% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 137 61% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 56 68% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 71 65% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1238s Nov 13 19:12:32 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1238s Nov 13 19:12:32 patroni/__init__.py 13 2 85% 1238s Nov 13 19:12:32 patroni/__main__.py 199 199 0% 1238s Nov 13 19:12:32 patroni/api.py 770 770 0% 1238s Nov 13 19:12:32 patroni/async_executor.py 96 69 28% 1238s Nov 13 19:12:32 patroni/collections.py 56 15 73% 1238s Nov 13 19:12:32 patroni/config.py 371 196 47% 1238s Nov 13 19:12:32 patroni/config_generator.py 212 212 0% 1238s Nov 13 19:12:32 patroni/ctl.py 936 663 29% 1238s Nov 13 19:12:32 patroni/daemon.py 76 76 0% 1238s Nov 13 19:12:32 patroni/dcs/__init__.py 646 308 52% 1238s Nov 13 19:12:32 patroni/dcs/consul.py 485 485 0% 1238s Nov 13 19:12:32 patroni/dcs/etcd3.py 679 679 0% 1238s Nov 13 19:12:32 patroni/dcs/etcd.py 603 235 61% 1238s Nov 13 19:12:32 patroni/dcs/exhibitor.py 61 61 0% 1238s Nov 13 19:12:32 patroni/dcs/kubernetes.py 938 938 0% 1238s Nov 13 19:12:32 patroni/dcs/raft.py 319 319 0% 1238s Nov 13 19:12:32 patroni/dcs/zookeeper.py 288 288 0% 1238s Nov 13 19:12:32 patroni/dynamic_loader.py 35 7 80% 1238s Nov 13 19:12:32 patroni/exceptions.py 16 1 94% 1238s Nov 13 19:12:32 patroni/file_perm.py 43 15 65% 1238s Nov 13 19:12:32 patroni/global_config.py 81 23 72% 1238s Nov 13 19:12:32 patroni/ha.py 1244 1244 0% 1238s Nov 13 19:12:32 patroni/log.py 219 173 21% 1238s Nov 13 19:12:32 patroni/postgresql/__init__.py 821 651 21% 1238s Nov 13 19:12:32 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1238s Nov 13 19:12:32 patroni/postgresql/bootstrap.py 252 222 12% 1238s Nov 13 19:12:32 patroni/postgresql/callback_executor.py 55 34 38% 1238s Nov 13 19:12:32 patroni/postgresql/cancellable.py 104 84 19% 1238s Nov 13 19:12:32 patroni/postgresql/config.py 813 698 14% 1238s Nov 13 19:12:32 patroni/postgresql/connection.py 75 50 33% 1238s Nov 13 19:12:32 patroni/postgresql/misc.py 41 29 29% 1238s Nov 13 19:12:32 patroni/postgresql/mpp/__init__.py 89 21 76% 1238s Nov 13 19:12:32 patroni/postgresql/mpp/citus.py 259 259 0% 1238s Nov 13 19:12:32 patroni/postgresql/postmaster.py 170 139 18% 1238s Nov 13 19:12:32 patroni/postgresql/rewind.py 416 416 0% 1238s Nov 13 19:12:32 patroni/postgresql/slots.py 334 285 15% 1238s Nov 13 19:12:32 patroni/postgresql/sync.py 130 96 26% 1238s Nov 13 19:12:32 patroni/postgresql/validator.py 157 52 67% 1238s Nov 13 19:12:32 patroni/psycopg.py 42 28 33% 1238s Nov 13 19:12:32 patroni/raft_controller.py 22 22 0% 1238s Nov 13 19:12:32 patroni/request.py 62 6 90% 1238s Nov 13 19:12:32 patroni/scripts/__init__.py 0 0 100% 1238s Nov 13 19:12:32 patroni/scripts/aws.py 59 59 0% 1238s Nov 13 19:12:32 patroni/scripts/barman/__init__.py 0 0 100% 1238s Nov 13 19:12:32 patroni/scripts/barman/cli.py 51 51 0% 1238s Nov 13 19:12:32 patroni/scripts/barman/config_switch.py 51 51 0% 1238s Nov 13 19:12:32 patroni/scripts/barman/recover.py 37 37 0% 1238s Nov 13 19:12:32 patroni/scripts/barman/utils.py 94 94 0% 1238s Nov 13 19:12:32 patroni/scripts/wale_restore.py 207 207 0% 1238s Nov 13 19:12:32 patroni/tags.py 38 15 61% 1238s Nov 13 19:12:32 patroni/utils.py 350 247 29% 1238s Nov 13 19:12:32 patroni/validator.py 301 215 29% 1238s Nov 13 19:12:32 patroni/version.py 1 0 100% 1238s Nov 13 19:12:32 patroni/watchdog/__init__.py 2 2 0% 1238s Nov 13 19:12:32 patroni/watchdog/base.py 203 203 0% 1238s Nov 13 19:12:32 patroni/watchdog/linux.py 135 135 0% 1238s Nov 13 19:12:32 ------------------------------------------------------------------------------------------------------------- 1238s Nov 13 19:12:32 TOTAL 53060 33829 36% 1238s Nov 13 19:12:32 1 feature passed, 0 failed, 0 skipped 1238s Nov 13 19:12:32 7 scenarios passed, 0 failed, 0 skipped 1238s Nov 13 19:12:32 68 steps passed, 0 failed, 0 skipped, 0 undefined 1238s Nov 13 19:12:32 Took 1m28.288s 1238s ### End 16 acceptance-etcd features/basic_replication.feature ### 1238s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 1238s + rm -f '/tmp/pgpass?' 1238s ++ id -u 1238s + '[' 0 -eq 0 ']' 1238s + '[' -x /etc/init.d/zookeeper ']' 1238s autopkgtest [19:12:32]: test acceptance-etcd-basic: -----------------------] 1243s autopkgtest [19:12:37]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 1243s acceptance-etcd-basic PASS 1247s autopkgtest [19:12:41]: test acceptance-etcd: preparing testbed 1257s Reading package lists... 1257s Building dependency tree... 1257s Reading state information... 1257s Starting pkgProblemResolver with broken count: 0 1257s Starting 2 pkgProblemResolver with broken count: 0 1257s Done 1258s The following NEW packages will be installed: 1258s autopkgtest-satdep 1258s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1258s Need to get 0 B/768 B of archives. 1258s After this operation, 0 B of additional disk space will be used. 1258s Get:1 /tmp/autopkgtest.F0zun9/3-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [768 B] 1259s Selecting previously unselected package autopkgtest-satdep. 1259s (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 ... 62784 files and directories currently installed.) 1259s Preparing to unpack .../3-autopkgtest-satdep.deb ... 1259s Unpacking autopkgtest-satdep (0) ... 1259s Setting up autopkgtest-satdep (0) ... 1271s (Reading database ... 62784 files and directories currently installed.) 1271s Removing autopkgtest-satdep (0) ... 1277s autopkgtest [19:13:11]: test acceptance-etcd: debian/tests/acceptance etcd 1277s autopkgtest [19:13:11]: test acceptance-etcd: [----------------------- 1279s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1280s ++ ls -1r /usr/lib/postgresql/ 1280s ○ etcd.service - etcd - highly-available key value store 1280s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1280s Active: inactive (dead) since Wed 2024-11-13 19:10:53 UTC; 2min 20s ago 1280s Duration: 43.186s 1280s Invocation: 9ee2bcfec3d84793ba7a96a72861f12d 1280s Docs: https://etcd.io/docs 1280s man:etcd 1280s Process: 1269 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1280s Main PID: 1269 (code=killed, signal=TERM) 1280s 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.961286Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.961458Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest-lxd-zzocsb","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"warn","ts":"2024-11-13T19:10:53.961579Z","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"} 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"warn","ts":"2024-11-13T19:10:53.961919Z","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"} 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.961969Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.966507Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.966785Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb etcd[1269]: {"level":"info","ts":"2024-11-13T19:10:53.966815Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest-lxd-zzocsb","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb systemd[1]: etcd.service: Deactivated successfully. 1280s Nov 13 19:10:53 autopkgtest-lxd-zzocsb systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1280s ### PostgreSQL 16 acceptance-etcd ### 1280s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1280s + '[' 16 == 10 -o 16 == 11 ']' 1280s + echo '### PostgreSQL 16 acceptance-etcd ###' 1280s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm 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' 1281s Nov 13 19:13:15 Feature: basic replication # features/basic_replication.feature:1 1281s Nov 13 19:13:15 We should check that the basic bootstrapping, replication and failover works. 1281s Nov 13 19:13:15 Scenario: check replication of a single table # features/basic_replication.feature:4 1281s Nov 13 19:13:15 Given I start postgres0 # features/steps/basic_replication.py:8 1286s Nov 13 19:13:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1286s Nov 13 19:13:20 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1286s Nov 13 19:13:20 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 1287s Nov 13 19:13:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1287s Nov 13 19:13:21 When I start postgres1 # features/steps/basic_replication.py:8 1293s Nov 13 19:13:27 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1299s Nov 13 19:13:33 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1299s Nov 13 19:13:33 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1299s Nov 13 19:13:33 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1300s Nov 13 19:13:34 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1300s Nov 13 19:13:34 1300s Nov 13 19:13:34 Scenario: check restart of sync replica # features/basic_replication.feature:17 1300s Nov 13 19:13:34 Given I shut down postgres2 # features/steps/basic_replication.py:29 1301s Nov 13 19:13:35 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1301s Nov 13 19:13:35 When I start postgres2 # features/steps/basic_replication.py:8 1305s Nov 13 19:13:39 And I shut down postgres1 # features/steps/basic_replication.py:29 1308s Nov 13 19:13:42 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1309s Nov 13 19:13:43 When I start postgres1 # features/steps/basic_replication.py:8 1313s Nov 13 19:13:47 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1313s Nov 13 19:13:47 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1313s Nov 13 19:13:47 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1313s Nov 13 19:13:47 1313s Nov 13 19:13:47 Scenario: check stuck sync replica # features/basic_replication.feature:28 1313s Nov 13 19:13:47 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1313s Nov 13 19:13:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1313s Nov 13 19:13:47 And I create table on postgres0 # features/steps/basic_replication.py:73 1313s Nov 13 19:13:47 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1314s Nov 13 19:13:48 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1314s Nov 13 19:13:48 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1314s Nov 13 19:13:48 And I load data on postgres0 # features/steps/basic_replication.py:84 1315s Nov 13 19:13:49 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1318s Nov 13 19:13:52 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1318s Nov 13 19:13:52 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1318s Nov 13 19:13:52 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1318s Nov 13 19:13: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 1318s Nov 13 19:13:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1318s Nov 13 19:13:52 And I drop table on postgres0 # features/steps/basic_replication.py:73 1318s Nov 13 19:13:52 1318s Nov 13 19:13:52 Scenario: check multi sync replication # features/basic_replication.feature:44 1318s Nov 13 19:13: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 1318s Nov 13 19:13:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1318s Nov 13 19:13:52 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1322s Nov 13 19:13:56 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1322s Nov 13 19:13:56 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1322s Nov 13 19:13: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 1322s Nov 13 19:13:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1322s Nov 13 19:13:56 And I shut down postgres1 # features/steps/basic_replication.py:29 1325s Nov 13 19:13:59 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1326s Nov 13 19:14:00 When I start postgres1 # features/steps/basic_replication.py:8 1330s Nov 13 19:14:04 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1330s Nov 13 19:14:04 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1330s Nov 13 19:14:04 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1330s Nov 13 19:14:04 1330s Nov 13 19:14:04 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1330s Nov 13 19:14:04 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1333s Nov 13 19:14:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1333s Nov 13 19:14:07 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1335s Nov 13 19:14:09 And I shut down postgres0 # features/steps/basic_replication.py:29 1336s Nov 13 19:14:10 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1338s Nov 13 19:14:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1338s Nov 13 19:14:12 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1357s Nov 13 19:14:31 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1359s Nov 13 19:14:33 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1359s Nov 13 19:14:33 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 1359s Nov 13 19:14:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1359s Nov 13 19:14:33 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1359s Nov 13 19:14:33 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1362s Nov 13 19:14:36 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1362s Nov 13 19:14:36 1362s Nov 13 19:14:36 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1362s Nov 13 19:14:36 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1362s Nov 13 19:14:36 And I start postgres0 # features/steps/basic_replication.py:8 1362s Nov 13 19:14:36 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1367s Nov 13 19:14:40 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1367s Nov 13 19:14:41 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1371s Nov 13 19:14:45 1371s Nov 13 19:14:45 @reject-duplicate-name 1371s Nov 13 19:14:45 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1371s Nov 13 19:14:45 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1374s Nov 13 19:14:48 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 1378s Nov 13 19:14:52 1378s Nov 13 19:14:52 Feature: cascading replication # features/cascading_replication.feature:1 1378s Nov 13 19:14:52 We should check that patroni can do base backup and streaming from the replica 1378s Nov 13 19:14:52 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1378s Nov 13 19:14:52 Given I start postgres0 # features/steps/basic_replication.py:8 1383s Nov 13 19:14:57 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1383s Nov 13 19:14:57 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1388s Nov 13 19:15:02 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1389s Nov 13 19:15:03 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1389s Nov 13 19:15:03 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1389s Nov 13 19:15:03 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1389s Nov 13 19:15:03 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1394s Nov 13 19:15:08 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1395s Nov 13 19:15:09 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1400s SKIP FEATURE citus: Citus extenstion isn't available 1400s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1400s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1400s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1400s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1400s 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 1400s Nov 13 19:15:14 1400s Nov 13 19:15:14 Feature: citus # features/citus.feature:1 1400s Nov 13 19:15:14 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1400s Nov 13 19:15:14 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1400s Nov 13 19:15:14 Given I start postgres0 in citus group 0 # None 1400s Nov 13 19:15:14 And I start postgres2 in citus group 1 # None 1400s Nov 13 19:15:14 Then postgres0 is a leader in a group 0 after 10 seconds # None 1400s Nov 13 19:15:14 And postgres2 is a leader in a group 1 after 10 seconds # None 1400s Nov 13 19:15:14 When I start postgres1 in citus group 0 # None 1400s Nov 13 19:15:14 And I start postgres3 in citus group 1 # None 1400s Nov 13 19:15:14 Then replication works from postgres0 to postgres1 after 15 seconds # None 1400s Nov 13 19:15:14 Then replication works from postgres2 to postgres3 after 15 seconds # None 1400s Nov 13 19:15:14 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1400s Nov 13 19:15:14 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1400s Nov 13 19:15:14 1400s Nov 13 19:15:14 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1400s Nov 13 19:15:14 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1400s Nov 13 19:15:14 Then postgres1 role is the primary after 10 seconds # None 1400s Nov 13 19:15:14 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1400s Nov 13 19:15:14 And replication works from postgres1 to postgres0 after 15 seconds # None 1400s Nov 13 19:15:14 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1400s Nov 13 19:15:14 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1400s Nov 13 19:15:14 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1400s Nov 13 19:15:14 Then postgres0 role is the primary after 10 seconds # None 1400s Nov 13 19:15:14 And replication works from postgres0 to postgres1 after 15 seconds # None 1400s Nov 13 19:15:14 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1400s Nov 13 19:15:14 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1400s Nov 13 19:15:14 1400s Nov 13 19:15:14 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1400s Nov 13 19:15:14 Given I create a distributed table on postgres0 # None 1400s Nov 13 19:15:14 And I start a thread inserting data on postgres0 # None 1400s Nov 13 19:15:14 When I run patronictl.py switchover batman --group 1 --force # None 1400s Nov 13 19:15:14 Then I receive a response returncode 0 # None 1400s Nov 13 19:15:14 And postgres3 role is the primary after 10 seconds # None 1400s Nov 13 19:15:14 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1400s Nov 13 19:15:14 And replication works from postgres3 to postgres2 after 15 seconds # None 1400s Nov 13 19:15:14 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1400s Nov 13 19:15:14 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1400s Nov 13 19:15:14 And a thread is still alive # None 1400s Nov 13 19:15:14 When I run patronictl.py switchover batman --group 1 --force # None 1400s Nov 13 19:15:14 Then I receive a response returncode 0 # None 1400s Nov 13 19:15:14 And postgres2 role is the primary after 10 seconds # None 1400s Nov 13 19:15:14 And replication works from postgres2 to postgres3 after 15 seconds # None 1400s Nov 13 19:15:14 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1400s Nov 13 19:15:14 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1400s Nov 13 19:15:14 And a thread is still alive # None 1400s Nov 13 19:15:14 When I stop a thread # None 1400s Nov 13 19:15:14 Then a distributed table on postgres0 has expected rows # None 1400s Nov 13 19:15:14 1400s Nov 13 19:15:14 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1400s Nov 13 19:15:14 Given I cleanup a distributed table on postgres0 # None 1400s Nov 13 19:15:14 And I start a thread inserting data on postgres0 # None 1400s Nov 13 19:15:14 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1400s Nov 13 19:15:14 Then I receive a response returncode 0 # None 1400s Nov 13 19:15:14 And postgres2 role is the primary after 10 seconds # None 1400s Nov 13 19:15:14 And replication works from postgres2 to postgres3 after 15 seconds # None 1400s Nov 13 19:15:14 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1400s Nov 13 19:15:14 And a thread is still alive # None 1400s Nov 13 19:15:14 When I stop a thread # None 1400s Nov 13 19:15:14 Then a distributed table on postgres0 has expected rows # None 1400s Nov 13 19:15:14 1400s Nov 13 19:15:14 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1400s Nov 13 19:15:14 Given I start postgres4 in citus group 2 # None 1400s Nov 13 19:15:14 Then postgres4 is a leader in a group 2 after 10 seconds # None 1400s Nov 13 19:15:14 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1400s Nov 13 19:15:14 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1400s Nov 13 19:15:14 Then I receive a response returncode 0 # None 1400s Nov 13 19:15:14 And I receive a response output "+ttl: 20" # None 1400s Nov 13 19:15:14 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1400s Nov 13 19:15:14 When I shut down postgres4 # None 1400s Nov 13 19:15:14 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1400s Nov 13 19:15:14 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1400s Nov 13 19:15:14 Then a transaction finishes in 20 seconds # None 1400s Nov 13 19:15:14 1400s Nov 13 19:15:14 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1400s Nov 13 19:15:14 We should check that patroni can bootstrap a new cluster from a backup 1400s Nov 13 19:15:14 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1400s Nov 13 19:15:14 Given I start postgres0 # features/steps/basic_replication.py:8 1405s Nov 13 19:15:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1405s Nov 13 19:15:19 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1405s Nov 13 19:15:19 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1411s Nov 13 19:15:25 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1412s Nov 13 19:15:26 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1412s Nov 13 19:15:26 1412s Nov 13 19:15:26 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1412s Nov 13 19:15:26 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1412s Nov 13 19:15:26 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1414s Nov 13 19:15:28 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1421s Nov 13 19:15:35 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1421s Nov 13 19:15:35 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1427s Nov 13 19:15:41 1427s Nov 13 19:15:41 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1427s Nov 13 19:15:41 We should check the basic dcs failsafe mode functioning 1427s Nov 13 19:15:41 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1427s Nov 13 19:15:41 Given I start postgres0 # features/steps/basic_replication.py:8 1432s Nov 13 19:15:46 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1432s Nov 13 19:15:46 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1432s Nov 13 19:15:46 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 1432s Nov 13 19:15:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1432s Nov 13 19:15:46 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1432s Nov 13 19:15:46 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1433s Nov 13 19:15:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1433s Nov 13 19:15:46 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1433s Nov 13 19:15:46 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 1433s Nov 13 19:15:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1433s Nov 13 19:15:47 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 1433s Nov 13 19:15:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1433s Nov 13 19:15:47 1433s Nov 13 19:15:47 @dcs-failsafe 1433s Nov 13 19:15:47 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1433s Nov 13 19:15:47 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1433s Nov 13 19:15:47 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 1440s Nov 13 19:15:54 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1440s Nov 13 19:15:54 1440s Nov 13 19:15:54 @dcs-failsafe 1440s Nov 13 19:15:54 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1440s Nov 13 19:15:54 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1440s Nov 13 19:15:54 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1442s Nov 13 19:15:56 And I shut down postgres0 # features/steps/basic_replication.py:29 1444s Nov 13 19:15:58 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1449s Nov 13 19:16:03 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1449s Nov 13 19:16:03 1449s Nov 13 19:16:03 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1449s Nov 13 19:16:03 Given I start postgres0 # features/steps/basic_replication.py:8 1452s Nov 13 19:16:06 And I start postgres1 # features/steps/basic_replication.py:8 1452s Nov 13 19:16:06 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1453s Nov 13 19:16:07 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1453s Nov 13 19:16:07 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1454s Nov 13 19:16:08 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1454s Nov 13 19:16:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 1454s Nov 13 19:16:08 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1454s Nov 13 19:16:08 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1454s Nov 13 19:16:08 1454s Nov 13 19:16:08 @dcs-failsafe @slot-advance 1454s Nov 13 19:16:08 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1454s Nov 13 19:16:08 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1454s Nov 13 19:16:08 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1461s Nov 13 19:16:15 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1461s Nov 13 19:16:15 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1461s Nov 13 19:16:15 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 1468s Nov 13 19:16:22 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1468s Nov 13 19:16:22 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1468s Nov 13 19:16:22 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1468s Nov 13 19:16:22 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1468s Nov 13 19:16:22 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1468s Nov 13 19:16:22 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1473s Nov 13 19:16:27 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1473s Nov 13 19:16:27 1473s Nov 13 19:16:27 @dcs-failsafe 1473s Nov 13 19:16:27 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1473s Nov 13 19:16:27 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1473s Nov 13 19:16:27 And I kill postgres1 # features/steps/basic_replication.py:34 1474s Nov 13 19:16:28 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1474s Nov 13 19:16:28 waiting for server to shut down.... done 1474s Nov 13 19:16:28 server stopped 1474s Nov 13 19:16:28 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1478s Nov 13 19:16:31 1478s Nov 13 19:16:31 @dcs-failsafe 1478s Nov 13 19:16:31 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1478s Nov 13 19:16:31 Given I kill postgres0 # features/steps/basic_replication.py:34 1479s Nov 13 19:16:32 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1479s Nov 13 19:16:33 waiting for server to shut down.... done 1479s Nov 13 19:16:33 server stopped 1479s Nov 13 19:16:33 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1479s Nov 13 19:16:33 When I start postgres1 # features/steps/basic_replication.py:8 1482s Nov 13 19:16:36 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1483s Nov 13 19:16:37 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1483s Nov 13 19:16:37 1483s Nov 13 19:16:37 @dcs-failsafe 1483s Nov 13 19:16:37 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1483s Nov 13 19:16:37 Given I start postgres0 # features/steps/basic_replication.py:8 1489s Nov 13 19:16:43 And I start postgres2 # features/steps/basic_replication.py:8 1495s Nov 13 19:16:49 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1495s Nov 13 19:16:49 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1495s Nov 13 19:16:49 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1495s Nov 13 19:16:49 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1496s Nov 13 19:16:50 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1497s Nov 13 19:16:51 1497s Nov 13 19:16:51 @dcs-failsafe @slot-advance 1497s Nov 13 19:16:51 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1497s Nov 13 19:16:51 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 1497s Nov 13 19:16:51 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1503s Nov 13 19:16:57 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1504s Nov 13 19:16:58 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1504s Nov 13 19:16:58 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1505s Nov 13 19:16:59 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1505s Nov 13 19:16:59 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1505s Nov 13 19:16:59 1505s Nov 13 19:16:59 @dcs-failsafe 1505s Nov 13 19:16:59 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1505s Nov 13 19:16:59 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1505s Nov 13 19:16:59 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 1514s Nov 13 19:17:08 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1514s Nov 13 19:17:08 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1514s Nov 13 19:17:08 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1514s Nov 13 19:17:08 1514s Nov 13 19:17:08 @dcs-failsafe @slot-advance 1514s Nov 13 19:17:08 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1514s Nov 13 19:17:08 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1514s Nov 13 19:17:08 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1515s Nov 13 19:17:09 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1515s Nov 13 19:17:09 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1515s Nov 13 19:17:09 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1517s Nov 13 19:17:11 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1517s Nov 13 19:17:11 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1517s Nov 13 19:17:11 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1517s Nov 13 19:17:11 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1521s Nov 13 19:17:15 1521s Nov 13 19:17:15 Feature: ignored slots # features/ignored_slots.feature:1 1521s Nov 13 19:17:15 1521s Nov 13 19:17:15 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1521s Nov 13 19:17:15 Given I start postgres1 # features/steps/basic_replication.py:8 1526s Nov 13 19:17:20 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1526s Nov 13 19:17:20 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1526s Nov 13 19:17:20 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 1526s Nov 13 19:17:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 1526s Nov 13 19:17:20 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1526s Nov 13 19:17:20 When I shut down postgres1 # features/steps/basic_replication.py:29 1528s Nov 13 19:17:22 And I start postgres1 # features/steps/basic_replication.py:8 1531s Nov 13 19:17:25 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1532s Nov 13 19:17:26 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1533s Nov 13 19:17:27 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1533s Nov 13 19:17:27 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1533s Nov 13 19:17:27 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1533s Nov 13 19:17:27 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1533s Nov 13 19:17:27 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1533s Nov 13 19:17:27 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1533s Nov 13 19:17:27 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1533s Nov 13 19:17:27 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1533s Nov 13 19:17:27 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1533s Nov 13 19:17:27 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1533s Nov 13 19:17:27 When I start postgres0 # features/steps/basic_replication.py:8 1538s Nov 13 19:17:32 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1538s Nov 13 19:17:32 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1538s Nov 13 19:17:32 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1539s Nov 13 19:17:33 When I shut down postgres1 # features/steps/basic_replication.py:29 1541s Nov 13 19:17:35 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1542s Nov 13 19:17:36 When I start postgres1 # features/steps/basic_replication.py:8 1545s Nov 13 19:17:39 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1545s Nov 13 19:17:39 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1546s Nov 13 19:17:40 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1548s Nov 13 19:17:42 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1548s Nov 13 19:17:42 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1548s Nov 13 19:17:42 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1548s Nov 13 19:17:42 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1548s Nov 13 19:17:42 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1548s Nov 13 19:17:42 When I shut down postgres0 # features/steps/basic_replication.py:29 1550s Nov 13 19:17:44 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1551s Nov 13 19:17:45 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1551s Nov 13 19:17:45 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1551s Nov 13 19:17:45 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1551s Nov 13 19:17:45 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1553s Nov 13 19:17:47 1553s Nov 13 19:17:47 Feature: nostream node # features/nostream_node.feature:1 1553s Nov 13 19:17:47 1553s Nov 13 19:17:47 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1553s Nov 13 19:17:47 When I start postgres0 # features/steps/basic_replication.py:8 1559s Nov 13 19:17:52 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1564s Nov 13 19:17:58 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1564s Nov 13 19:17:58 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1569s Nov 13 19:18:03 1569s Nov 13 19:18:03 @slot-advance 1569s Nov 13 19:18:03 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1569s Nov 13 19:18:03 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 1569s Nov 13 19:18:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1569s Nov 13 19:18:03 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1571s Nov 13 19:18:05 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1572s Nov 13 19:18:06 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1577s Nov 13 19:18:11 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1583s Nov 13 19:18:17 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1583s Nov 13 19:18:17 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1589s Nov 13 19:18:23 1589s Nov 13 19:18:23 Feature: patroni api # features/patroni_api.feature:1 1589s Nov 13 19:18:23 We should check that patroni correctly responds to valid and not-valid API requests. 1589s Nov 13 19:18:23 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1589s Nov 13 19:18:23 Given I start postgres0 # features/steps/basic_replication.py:8 1594s Nov 13 19:18:28 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1595s Nov 13 19:18:28 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1595s Nov 13 19:18:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1595s Nov 13 19:18:28 And I receive a response state running # features/steps/patroni_api.py:98 1595s Nov 13 19:18:28 And I receive a response role master # features/steps/patroni_api.py:98 1595s Nov 13 19:18:28 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1595s Nov 13 19:18:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 1595s Nov 13 19:18:28 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1595s Nov 13 19:18:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1595s Nov 13 19:18:28 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1595s Nov 13 19:18:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 1595s Nov 13 19:18:28 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1595s Nov 13 19:18:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 1595s Nov 13 19:18:28 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1595s Nov 13 19:18:28 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1596s Nov 13 19:18:30 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1596s Nov 13 19:18:30 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1596s Nov 13 19:18:30 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1596s Nov 13 19:18:30 Then I receive a response code 412 # features/steps/patroni_api.py:98 1596s Nov 13 19:18:30 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1596s Nov 13 19:18:30 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1596s Nov 13 19:18:30 Then I receive a response code 400 # features/steps/patroni_api.py:98 1596s Nov 13 19:18:30 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1596s Nov 13 19:18:30 Then I receive a response code 400 # features/steps/patroni_api.py:98 1596s Nov 13 19:18:30 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1596s Nov 13 19:18:30 1596s Nov 13 19:18:30 Scenario: check local configuration reload # features/patroni_api.feature:32 1596s Nov 13 19:18:30 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1596s Nov 13 19:18:30 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1596s Nov 13 19:18:30 Then I receive a response code 202 # features/steps/patroni_api.py:98 1596s Nov 13 19:18:30 1596s Nov 13 19:18:30 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1596s Nov 13 19:18:30 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 1596s Nov 13 19:18:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1596s Nov 13 19:18:30 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1598s Nov 13 19:18:32 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1598s Nov 13 19:18:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 1598s Nov 13 19:18:32 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1598s Nov 13 19:18:32 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1599s Nov 13 19:18:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 1599s Nov 13 19:18:32 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1599s Nov 13 19:18:32 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1603s Nov 13 19:18:36 1603s Nov 13 19:18:36 Scenario: check the scheduled restart # features/patroni_api.feature:49 1603s Nov 13 19:18:36 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1605s Nov 13 19:18:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1605s Nov 13 19:18:39 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1605s Nov 13 19:18:39 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1605s Nov 13 19:18:39 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 1605s Nov 13 19:18:39 Then I receive a response code 202 # features/steps/patroni_api.py:98 1605s Nov 13 19:18:39 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1613s Nov 13 19:18:47 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1613s Nov 13 19:18:47 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 1613s Nov 13 19:18:47 Then I receive a response code 202 # features/steps/patroni_api.py:98 1613s Nov 13 19:18:47 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 1620s Nov 13 19:18:54 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1621s Nov 13 19:18:55 1621s Nov 13 19:18:55 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1621s Nov 13 19:18:55 Given I start postgres1 # features/steps/basic_replication.py:8 1627s Nov 13 19:19:01 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1628s Nov 13 19:19:02 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1630s Nov 13 19:19:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1630s Nov 13 19:19:04 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1630s Nov 13 19:19:04 waiting for server to shut down.... done 1630s Nov 13 19:19:04 server stopped 1630s Nov 13 19:19:04 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1630s Nov 13 19:19:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 1630s Nov 13 19:19:04 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1631s Nov 13 19:19:05 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1635s Nov 13 19:19:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1635s Nov 13 19:19:09 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1636s Nov 13 19:19:10 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1638s Nov 13 19:19:12 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1638s Nov 13 19:19:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1638s Nov 13 19:19:12 And I receive a response state running # features/steps/patroni_api.py:98 1638s Nov 13 19:19:12 And I receive a response role replica # features/steps/patroni_api.py:98 1638s Nov 13 19:19:12 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1643s Nov 13 19:19:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1643s Nov 13 19:19:17 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1643s Nov 13 19:19:17 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1644s Nov 13 19:19:18 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1644s Nov 13 19:19:18 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1647s Nov 13 19:19:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1647s Nov 13 19:19:21 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1647s Nov 13 19:19:21 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1648s Nov 13 19:19:22 1648s Nov 13 19:19:22 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1648s Nov 13 19:19:22 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 1651s Nov 13 19:19:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1651s Nov 13 19:19:25 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1651s Nov 13 19:19:25 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1651s Nov 13 19:19:25 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1656s Nov 13 19:19:30 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1656s Nov 13 19:19:30 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1656s Nov 13 19:19:30 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1656s Nov 13 19:19:30 Then I receive a response code 503 # features/steps/patroni_api.py:98 1656s Nov 13 19:19:30 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1656s Nov 13 19:19:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1656s Nov 13 19:19:30 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1656s Nov 13 19:19:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1656s Nov 13 19:19:30 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1656s Nov 13 19:19:30 Then I receive a response code 503 # features/steps/patroni_api.py:98 1656s Nov 13 19:19:30 1656s Nov 13 19:19:30 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1656s Nov 13 19:19:30 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1659s Nov 13 19:19:32 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1659s Nov 13 19:19:32 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1659s Nov 13 19:19:32 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1661s Nov 13 19:19:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1661s Nov 13 19:19:35 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1663s Nov 13 19:19:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1663s Nov 13 19:19:37 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1673s Nov 13 19:19:47 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1673s Nov 13 19:19:47 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1675s Nov 13 19:19:49 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1675s Nov 13 19:19:49 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1676s Nov 13 19:19:50 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1676s Nov 13 19:19:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1676s Nov 13 19:19:50 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1676s Nov 13 19:19:50 Then I receive a response code 503 # features/steps/patroni_api.py:98 1676s Nov 13 19:19:50 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1676s Nov 13 19:19:50 Then I receive a response code 503 # features/steps/patroni_api.py:98 1676s Nov 13 19:19:50 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1676s Nov 13 19:19:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1681s Nov 13 19:19:54 1681s Nov 13 19:19:54 Feature: permanent slots # features/permanent_slots.feature:1 1681s Nov 13 19:19:54 1681s Nov 13 19:19:54 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1681s Nov 13 19:19:54 Given I start postgres0 # features/steps/basic_replication.py:8 1685s Nov 13 19:19:59 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1685s Nov 13 19:19:59 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1685s Nov 13 19:19:59 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 1685s Nov 13 19:19:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1685s Nov 13 19:19:59 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1685s Nov 13 19:19:59 When I start postgres1 # features/steps/basic_replication.py:8 1690s Nov 13 19:20:04 And I start postgres2 # features/steps/basic_replication.py:8 1696s Nov 13 19:20:09 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1701s Nov 13 19:20:15 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1701s Nov 13 19:20:15 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1701s Nov 13 19:20:15 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1701s Nov 13 19:20:15 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1701s Nov 13 19:20:15 1701s Nov 13 19:20:15 @slot-advance 1701s Nov 13 19:20:15 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1701s Nov 13 19:20:15 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1704s Nov 13 19:20:17 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 1704s Nov 13 19:20:18 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1705s Nov 13 19:20:19 1705s Nov 13 19:20:19 @slot-advance 1705s Nov 13 19:20:19 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1705s Nov 13 19:20:19 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1710s Nov 13 19:20:24 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1710s Nov 13 19:20:24 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1711s Nov 13 19:20:25 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1712s Nov 13 19:20:26 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1712s Nov 13 19:20:26 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1712s Nov 13 19:20:26 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1712s Nov 13 19:20:26 1712s Nov 13 19:20:26 @slot-advance 1712s Nov 13 19:20:26 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1712s Nov 13 19:20:26 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1712s Nov 13 19:20:26 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1712s Nov 13 19:20:26 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1712s Nov 13 19:20:26 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1712s Nov 13 19:20:26 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1712s Nov 13 19:20:26 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1712s Nov 13 19:20:26 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1712s Nov 13 19:20:26 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1712s Nov 13 19:20:26 1712s Nov 13 19:20:26 @slot-advance 1712s Nov 13 19:20:26 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1712s Nov 13 19:20:26 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1712s Nov 13 19:20:26 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1712s Nov 13 19:20:26 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1712s Nov 13 19:20:26 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1714s Nov 13 19:20:28 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1714s Nov 13 19:20:28 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1714s Nov 13 19:20:28 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1714s Nov 13 19:20:28 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1714s Nov 13 19:20:28 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1714s Nov 13 19:20:28 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1714s Nov 13 19:20:28 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1716s Nov 13 19:20:30 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1716s Nov 13 19:20:30 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1716s Nov 13 19:20:30 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1716s Nov 13 19:20:30 1716s Nov 13 19:20:30 @slot-advance 1716s Nov 13 19:20:30 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1716s Nov 13 19:20:30 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1716s Nov 13 19:20:30 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1716s Nov 13 19:20:30 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1716s Nov 13 19:20:30 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1716s Nov 13 19:20:30 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1716s Nov 13 19:20:30 1716s Nov 13 19:20:30 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1716s Nov 13 19:20:30 Given I shut down postgres3 # features/steps/basic_replication.py:29 1717s Nov 13 19:20:31 And I shut down postgres2 # features/steps/basic_replication.py:29 1718s Nov 13 19:20:32 And I shut down postgres0 # features/steps/basic_replication.py:29 1720s Nov 13 19:20:34 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1720s Nov 13 19:20:34 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1720s Nov 13 19:20:34 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1722s Nov 13 19:20:36 1722s Nov 13 19:20:36 Feature: priority replication # features/priority_failover.feature:1 1722s Nov 13 19:20:36 We should check that we can give nodes priority during failover 1722s Nov 13 19:20:36 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1722s Nov 13 19:20:36 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1727s Nov 13 19:20:41 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1732s Nov 13 19:20:46 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1733s Nov 13 19:20:47 When I shut down postgres0 # features/steps/basic_replication.py:29 1735s Nov 13 19:20:49 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1737s Nov 13 19:20:51 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1737s Nov 13 19:20:51 When I start postgres0 # features/steps/basic_replication.py:8 1740s Nov 13 19:20:54 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1742s Nov 13 19:20:56 1742s Nov 13 19:20:56 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1742s Nov 13 19:20:56 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1747s Nov 13 19:21:01 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1752s Nov 13 19:21:06 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1753s Nov 13 19:21:07 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1754s Nov 13 19:21:08 When I shut down postgres0 # features/steps/basic_replication.py:29 1756s Nov 13 19:21:10 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1756s Nov 13 19:21: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 1756s Nov 13 19:21:10 1756s Nov 13 19:21:10 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1756s Nov 13 19:21:10 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1756s Nov 13 19:21:10 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1757s Nov 13 19:21:10 Then I receive a response code 202 # features/steps/patroni_api.py:98 1757s Nov 13 19:21: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 1759s Nov 13 19:21:12 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1760s Nov 13 19:21:13 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1760s Nov 13 19:21:14 Then I receive a response code 412 # features/steps/patroni_api.py:98 1760s Nov 13 19:21:14 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1760s Nov 13 19:21:14 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1760s Nov 13 19:21:14 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1760s Nov 13 19:21:14 Then I receive a response code 202 # features/steps/patroni_api.py:98 1760s Nov 13 19:21:14 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 1762s Nov 13 19:21:16 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1763s Nov 13 19:21:17 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1765s Nov 13 19:21:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 1765s Nov 13 19:21:19 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1770s Nov 13 19:21:24 1770s Nov 13 19:21:24 Feature: recovery # features/recovery.feature:1 1770s Nov 13 19:21:24 We want to check that crashed postgres is started back 1770s Nov 13 19:21:24 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1770s Nov 13 19:21:24 Given I start postgres0 # features/steps/basic_replication.py:8 1775s Nov 13 19:21:29 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1775s Nov 13 19:21:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1775s Nov 13 19:21:29 When I start postgres1 # features/steps/basic_replication.py:8 1780s Nov 13 19:21:34 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1780s Nov 13 19:21:34 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1781s Nov 13 19:21:35 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1781s Nov 13 19:21:35 waiting for server to shut down.... done 1781s Nov 13 19:21:35 server stopped 1781s Nov 13 19:21:35 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1784s Nov 13 19:21:38 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1784s Nov 13 19:21:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1784s Nov 13 19:21:38 And I receive a response role master # features/steps/patroni_api.py:98 1784s Nov 13 19:21:38 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1784s Nov 13 19:21:38 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1784s Nov 13 19:21:38 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1787s Nov 13 19:21:41 1787s Nov 13 19:21:41 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1787s Nov 13 19:21:41 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 1788s Nov 13 19:21:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1788s Nov 13 19:21:41 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1788s Nov 13 19:21:42 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1788s Nov 13 19:21:42 waiting for server to shut down.... done 1788s Nov 13 19:21:42 server stopped 1788s Nov 13 19:21:42 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1790s Nov 13 19:21:44 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1794s Nov 13 19:21:48 1794s Nov 13 19:21:48 Feature: standby cluster # features/standby_cluster.feature:1 1794s Nov 13 19:21:48 1794s Nov 13 19:21:48 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1794s Nov 13 19:21:48 Given I start postgres1 # features/steps/basic_replication.py:8 1799s Nov 13 19:21:53 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1799s Nov 13 19:21:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1799s Nov 13 19:21:53 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 1799s Nov 13 19:21:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1799s Nov 13 19:21:53 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1799s Nov 13 19:21:53 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1802s Nov 13 19:21:56 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 1802s Nov 13 19:21:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1802s Nov 13 19:21:56 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1804s Nov 13 19:21:57 When I start postgres0 # features/steps/basic_replication.py:8 1809s Nov 13 19:22:03 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1809s Nov 13 19:22:03 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1810s Nov 13 19:22:04 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1810s Nov 13 19:22:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 1810s Nov 13 19:22:04 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1810s Nov 13 19:22:04 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1810s Nov 13 19:22:04 1810s Nov 13 19:22:04 @slot-advance 1810s Nov 13 19:22:04 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1810s Nov 13 19:22:04 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1812s Nov 13 19:22:06 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1817s Nov 13 19:22:11 1817s Nov 13 19:22:11 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1817s Nov 13 19:22:11 When I shut down postgres1 # features/steps/basic_replication.py:29 1819s Nov 13 19:22:13 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1819s Nov 13 19:22:13 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1820s Nov 13 19:22:14 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1820s Nov 13 19:22:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1820s Nov 13 19:22:14 1820s Nov 13 19:22:14 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1820s Nov 13 19:22:14 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1825s Nov 13 19:22:18 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1825s Nov 13 19:22:18 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1825s Nov 13 19:22:19 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1825s Nov 13 19:22:19 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1825s Nov 13 19:22:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 1825s Nov 13 19:22:19 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1825s Nov 13 19:22:19 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1828s Nov 13 19:22:22 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1828s Nov 13 19:22:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 1828s Nov 13 19:22:22 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1828s Nov 13 19:22:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 1828s Nov 13 19:22:22 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1828s Nov 13 19:22:22 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1828s Nov 13 19:22:22 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1833s Nov 13 19:22:27 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1833s Nov 13 19:22:27 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1833s Nov 13 19:22:27 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1833s Nov 13 19:22:27 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1833s Nov 13 19:22:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1833s Nov 13 19:22:27 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1833s Nov 13 19:22:27 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1833s Nov 13 19:22:27 1833s Nov 13 19:22:27 Scenario: check switchover # features/standby_cluster.feature:57 1833s Nov 13 19:22:27 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1837s Nov 13 19:22:31 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1837s Nov 13 19:22:31 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1839s Nov 13 19:22:33 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 1839s Nov 13 19:22:33 1839s Nov 13 19:22:33 Scenario: check failover # features/standby_cluster.feature:63 1839s Nov 13 19:22:33 When I kill postgres2 # features/steps/basic_replication.py:34 1840s Nov 13 19:22:34 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1840s Nov 13 19:22:34 waiting for server to shut down.... done 1840s Nov 13 19:22:34 server stopped 1840s Nov 13 19:22:34 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1859s Nov 13 19:22:53 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1859s Nov 13 19:22:53 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1859s Nov 13 19:22:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 1859s Nov 13 19:22:53 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1859s Nov 13 19:22:53 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1860s Nov 13 19:22:54 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 1865s Nov 13 19:22:59 1865s Nov 13 19:22:59 Feature: watchdog # features/watchdog.feature:1 1865s Nov 13 19:22:59 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1865s Nov 13 19:22:59 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1865s Nov 13 19:22:59 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1870s Nov 13 19:23:04 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1870s Nov 13 19:23:04 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1870s Nov 13 19:23:04 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1871s Nov 13 19:23:05 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1871s Nov 13 19:23:05 1871s Nov 13 19:23:05 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1871s Nov 13 19:23:05 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1873s Nov 13 19:23:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1873s Nov 13 19:23:07 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1873s Nov 13 19:23:07 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1877s Nov 13 19:23:11 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1877s Nov 13 19:23:11 1877s Nov 13 19:23:11 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1877s Nov 13 19:23:11 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1879s Nov 13 19:23:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1879s Nov 13 19:23:13 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1882s Nov 13 19:23:15 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1882s Nov 13 19:23:15 1882s Nov 13 19:23:15 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1882s Nov 13 19:23:15 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1882s Nov 13 19:23:15 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1883s Nov 13 19:23:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1883s Nov 13 19:23:17 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1884s Nov 13 19:23:18 1884s Nov 13 19:23:18 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1884s Nov 13 19:23:18 Given I shut down postgres0 # features/steps/basic_replication.py:29 1886s Nov 13 19:23:20 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1886s Nov 13 19:23:20 1886s Nov 13 19:23:20 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1886s Nov 13 19:23:20 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1886s Nov 13 19:23:20 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1889s Nov 13 19:23:23 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1891s Nov 13 19:23:25 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1891s Nov 13 19:23:25 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1918s Nov 13 19:23:52 1919s 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'))") 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4364.XyRWJVix 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4408.XruTvwfx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4457.XCFroMGx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4505.XHHXGZUx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4550.XDQdjvAx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4623.XUQSMIax 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4672.XFqblCVx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4675.XWZWkZcx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4770.XCtcFkZx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4868.XMccPVqx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4881.XlZiKAsx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4923.XJTNvkkx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.4974.XiCswSTx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.5083.XFkGIinx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.5128.XoqEiIox 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.5183.XJaUIfpx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.5272.XjqxYXhx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.5592.XQPKhBsx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.5660.XsTyXvJx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.5744.XAxTlFsx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.5949.XYpfDXFx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6001.XaVqtHpx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6062.XfVzYpjx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6151.XmOrpSux 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6246.XwUqoolx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6288.XyXbWenx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6352.XxjgSrKx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6385.XlpowXhx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6513.XMhXivGx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6561.XnHtOqAx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6576.XueZCInx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6614.XsMGrckx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6662.XcPaYdFx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6667.XTlIDpZx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6702.XrEGbjbx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6744.Xwgzkfxx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6907.XNHmLfox 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6909.XDRmHygx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.6914.XKwfkvTx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7044.XSsmkSRx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7089.XtOCGzCx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7134.XyZEQIsx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7184.XeFVMRUx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7221.XFSqZorx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7395.XLuUnjsx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7437.XFFyECxx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7508.XniFuGpx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7585.XoomqYNx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7651.XrEodGUx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.7986.XiTBHgLx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8028.XGYucdux 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8165.XlXaevhx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8227.XRyMtiUx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8279.XenoResx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8380.XkXvuHQx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8498.XPsSnckx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8623.XKhIWiox 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8665.XHTScBbx 1920s Nov 13 19:23:54 Skipping duplicate data .coverage.autopkgtest-lxd-zzocsb.8667.XgRUExBx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8670.XmtNywDx 1920s Nov 13 19:23:54 Combined data file .coverage.autopkgtest-lxd-zzocsb.8682.XFzrGejx 1922s Nov 13 19:23:56 Name Stmts Miss Cover 1922s Nov 13 19:23:56 ------------------------------------------------------------------------------------------------------------- 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/api.py 770 280 64% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/ha.py 1244 319 74% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 214 74% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/utils.py 350 121 65% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/six.py 504 250 50% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 121 65% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 71 65% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1922s Nov 13 19:23:56 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1922s Nov 13 19:23:56 patroni/__init__.py 13 2 85% 1922s Nov 13 19:23:56 patroni/__main__.py 199 199 0% 1922s Nov 13 19:23:56 patroni/api.py 770 770 0% 1922s Nov 13 19:23:56 patroni/async_executor.py 96 69 28% 1922s Nov 13 19:23:56 patroni/collections.py 56 15 73% 1922s Nov 13 19:23:56 patroni/config.py 371 196 47% 1922s Nov 13 19:23:56 patroni/config_generator.py 212 212 0% 1922s Nov 13 19:23:56 patroni/ctl.py 936 411 56% 1922s Nov 13 19:23:56 patroni/daemon.py 76 76 0% 1922s Nov 13 19:23:56 patroni/dcs/__init__.py 646 270 58% 1922s Nov 13 19:23:56 patroni/dcs/consul.py 485 485 0% 1922s Nov 13 19:23:56 patroni/dcs/etcd3.py 679 679 0% 1922s Nov 13 19:23:56 patroni/dcs/etcd.py 603 227 62% 1922s Nov 13 19:23:56 patroni/dcs/exhibitor.py 61 61 0% 1922s Nov 13 19:23:56 patroni/dcs/kubernetes.py 938 938 0% 1922s Nov 13 19:23:56 patroni/dcs/raft.py 319 319 0% 1922s Nov 13 19:23:56 patroni/dcs/zookeeper.py 288 288 0% 1922s Nov 13 19:23:56 patroni/dynamic_loader.py 35 7 80% 1922s Nov 13 19:23:56 patroni/exceptions.py 16 1 94% 1922s Nov 13 19:23:56 patroni/file_perm.py 43 15 65% 1922s Nov 13 19:23:56 patroni/global_config.py 81 18 78% 1922s Nov 13 19:23:56 patroni/ha.py 1244 1244 0% 1922s Nov 13 19:23:56 patroni/log.py 219 173 21% 1922s Nov 13 19:23:56 patroni/postgresql/__init__.py 821 651 21% 1922s Nov 13 19:23:56 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1922s Nov 13 19:23:56 patroni/postgresql/bootstrap.py 252 222 12% 1922s Nov 13 19:23:56 patroni/postgresql/callback_executor.py 55 34 38% 1922s Nov 13 19:23:56 patroni/postgresql/cancellable.py 104 84 19% 1922s Nov 13 19:23:56 patroni/postgresql/config.py 813 698 14% 1922s Nov 13 19:23:56 patroni/postgresql/connection.py 75 50 33% 1922s Nov 13 19:23:56 patroni/postgresql/misc.py 41 29 29% 1922s Nov 13 19:23:56 patroni/postgresql/mpp/__init__.py 89 21 76% 1922s Nov 13 19:23:56 patroni/postgresql/mpp/citus.py 259 259 0% 1922s Nov 13 19:23:56 patroni/postgresql/postmaster.py 170 139 18% 1922s Nov 13 19:23:56 patroni/postgresql/rewind.py 416 416 0% 1922s Nov 13 19:23:56 patroni/postgresql/slots.py 334 285 15% 1922s Nov 13 19:23:56 patroni/postgresql/sync.py 130 96 26% 1922s Nov 13 19:23:56 patroni/postgresql/validator.py 157 52 67% 1922s Nov 13 19:23:56 patroni/psycopg.py 42 28 33% 1922s Nov 13 19:23:56 patroni/raft_controller.py 22 22 0% 1922s Nov 13 19:23:56 patroni/request.py 62 6 90% 1922s Nov 13 19:23:56 patroni/scripts/__init__.py 0 0 100% 1922s Nov 13 19:23:56 patroni/scripts/aws.py 59 59 0% 1922s Nov 13 19:23:56 patroni/scripts/barman/__init__.py 0 0 100% 1922s Nov 13 19:23:56 patroni/scripts/barman/cli.py 51 51 0% 1922s Nov 13 19:23:56 patroni/scripts/barman/config_switch.py 51 51 0% 1922s Nov 13 19:23:56 patroni/scripts/barman/recover.py 37 37 0% 1922s Nov 13 19:23:56 patroni/scripts/barman/utils.py 94 94 0% 1922s Nov 13 19:23:56 patroni/scripts/wale_restore.py 207 207 0% 1922s Nov 13 19:23:56 patroni/tags.py 38 11 71% 1922s Nov 13 19:23:56 patroni/utils.py 350 197 44% 1922s Nov 13 19:23:56 patroni/validator.py 301 215 29% 1922s Nov 13 19:23:56 patroni/version.py 1 0 100% 1922s Nov 13 19:23:56 patroni/watchdog/__init__.py 2 2 0% 1922s Nov 13 19:23:56 patroni/watchdog/base.py 203 203 0% 1922s Nov 13 19:23:56 patroni/watchdog/linux.py 135 135 0% 1922s Nov 13 19:23:56 ------------------------------------------------------------------------------------------------------------- 1922s Nov 13 19:23:56 TOTAL 53060 32145 39% 1922s Nov 13 19:23:56 12 features passed, 0 failed, 1 skipped 1922s Nov 13 19:23:56 55 scenarios passed, 0 failed, 5 skipped 1922s Nov 13 19:23:56 524 steps passed, 0 failed, 61 skipped, 0 undefined 1922s Nov 13 19:23:56 Took 9m49.231s 1922s ### End 16 acceptance-etcd ### 1922s + echo '### End 16 acceptance-etcd ###' 1922s + rm -f '/tmp/pgpass?' 1922s ++ id -u 1922s + '[' 0 -eq 0 ']' 1922s + '[' -x /etc/init.d/zookeeper ']' 1923s autopkgtest [19:23:57]: test acceptance-etcd: -----------------------] 1927s autopkgtest [19:24:01]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1927s acceptance-etcd PASS 1931s autopkgtest [19:24:05]: test acceptance-zookeeper: preparing testbed 1990s autopkgtest [19:25:04]: testbed dpkg architecture: armhf 1992s autopkgtest [19:25:06]: testbed apt version: 2.9.8 1992s autopkgtest [19:25:06]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2000s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2001s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.2 kB] 2001s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [98.3 kB] 2001s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [958 kB] 2001s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2001s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [101 kB] 2001s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [647 kB] 2001s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [17.2 kB] 2001s Fetched 1919 kB in 1s (1974 kB/s) 2001s Reading package lists... 2018s tee: /proc/self/fd/2: Permission denied 2039s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2039s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2039s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2039s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2041s Reading package lists... 2041s Reading package lists... 2041s Building dependency tree... 2041s Reading state information... 2042s Calculating upgrade... 2042s The following NEW packages will be installed: 2042s python3.13-gdbm 2042s The following packages will be upgraded: 2042s libgnutls30t64 libjson-glib-1.0-0 libjson-glib-1.0-common libnewt0.52 2042s libpython3-stdlib libutempter0 python3 python3-gdbm python3-minimal 2042s python3-newt whiptail 2042s 11 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2042s Need to get 1207 kB of archives. 2042s After this operation, 124 kB of additional disk space will be used. 2042s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-minimal armhf 3.12.7-1 [27.4 kB] 2043s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3 armhf 3.12.7-1 [24.0 kB] 2043s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libpython3-stdlib armhf 3.12.7-1 [10.0 kB] 2043s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls30t64 armhf 3.8.8-2ubuntu1 [955 kB] 2043s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf python3-newt armhf 0.52.24-2ubuntu4 [19.7 kB] 2043s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf libnewt0.52 armhf 0.52.24-2ubuntu4 [39.2 kB] 2043s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf whiptail armhf 0.52.24-2ubuntu4 [17.2 kB] 2043s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf python3.13-gdbm armhf 3.13.0-2 [29.5 kB] 2043s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-gdbm armhf 3.12.7-1 [8642 B] 2043s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 2043s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-0 armhf 1.10.0+ds-3 [61.7 kB] 2043s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libutempter0 armhf 1.2.1-4 [9062 B] 2043s Fetched 1207 kB in 1s (2184 kB/s) 2043s (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 ... 59559 files and directories currently installed.) 2043s Preparing to unpack .../python3-minimal_3.12.7-1_armhf.deb ... 2043s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 2043s Setting up python3-minimal (3.12.7-1) ... 2044s (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 ... 59559 files and directories currently installed.) 2044s Preparing to unpack .../python3_3.12.7-1_armhf.deb ... 2044s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 2044s Preparing to unpack .../libpython3-stdlib_3.12.7-1_armhf.deb ... 2044s Unpacking libpython3-stdlib:armhf (3.12.7-1) over (3.12.6-0ubuntu1) ... 2044s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_armhf.deb ... 2044s Unpacking libgnutls30t64:armhf (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 2044s Setting up libgnutls30t64:armhf (3.8.8-2ubuntu1) ... 2044s (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 ... 59559 files and directories currently installed.) 2044s Preparing to unpack .../0-python3-newt_0.52.24-2ubuntu4_armhf.deb ... 2044s Unpacking python3-newt:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2044s Preparing to unpack .../1-libnewt0.52_0.52.24-2ubuntu4_armhf.deb ... 2044s Unpacking libnewt0.52:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2044s Preparing to unpack .../2-whiptail_0.52.24-2ubuntu4_armhf.deb ... 2044s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2044s Selecting previously unselected package python3.13-gdbm. 2044s Preparing to unpack .../3-python3.13-gdbm_3.13.0-2_armhf.deb ... 2044s Unpacking python3.13-gdbm (3.13.0-2) ... 2044s Preparing to unpack .../4-python3-gdbm_3.12.7-1_armhf.deb ... 2044s Unpacking python3-gdbm:armhf (3.12.7-1) over (3.12.6-1ubuntu1) ... 2044s Preparing to unpack .../5-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 2044s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 2044s Preparing to unpack .../6-libjson-glib-1.0-0_1.10.0+ds-3_armhf.deb ... 2044s Unpacking libjson-glib-1.0-0:armhf (1.10.0+ds-3) over (1.10.0+ds-2) ... 2044s Preparing to unpack .../7-libutempter0_1.2.1-4_armhf.deb ... 2044s Unpacking libutempter0:armhf (1.2.1-4) over (1.2.1-3build1) ... 2044s Setting up libnewt0.52:armhf (0.52.24-2ubuntu4) ... 2044s Setting up libutempter0:armhf (1.2.1-4) ... 2044s Setting up whiptail (0.52.24-2ubuntu4) ... 2044s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 2044s Setting up python3.13-gdbm (3.13.0-2) ... 2044s Setting up libpython3-stdlib:armhf (3.12.7-1) ... 2044s Setting up python3 (3.12.7-1) ... 2045s Setting up python3-newt:armhf (0.52.24-2ubuntu4) ... 2045s Setting up libjson-glib-1.0-0:armhf (1.10.0+ds-3) ... 2045s Setting up python3-gdbm:armhf (3.12.7-1) ... 2045s Processing triggers for man-db (2.12.1-3) ... 2045s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2046s Reading package lists... 2046s Building dependency tree... 2046s Reading state information... 2047s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2049s autopkgtest [19:26:03]: rebooting testbed after setup commands that affected boot 2155s Reading package lists... 2155s Building dependency tree... 2155s Reading state information... 2155s Starting pkgProblemResolver with broken count: 0 2156s Starting 2 pkgProblemResolver with broken count: 0 2156s Done 2156s The following additional packages will be installed: 2156s adwaita-icon-theme at-spi2-common ca-certificates-java 2156s dconf-gsettings-backend dconf-service default-jre default-jre-headless 2156s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 2156s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 2156s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 2156s libapr1t64 libasm-java libasound2-data libasound2t64 2156s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 2156s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 2156s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 2156s libcommons-io-java libcommons-logging-java libcommons-parent-java 2156s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 2156s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 2156s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 2156s libev4t64 libfindbugs-annotations-java libfontconfig1 libfreetype6 libgbm1 2156s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 2156s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 2156s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 2156s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 2156s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 2156s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 2156s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 2156s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 2156s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 2156s libjsr305-java liblcms2-2 liblerc4 libllvm19 liblog4j1.2-java libmail-java 2156s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 2156s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 2156s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 2156s libsnappy1v5 libspring-beans-java libspring-core-java 2156s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 2156s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 2156s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 2156s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 2156s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 2156s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 2156s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 2156s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 2156s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 2156s patroni-doc postgresql postgresql-16 postgresql-client-16 2156s postgresql-client-common postgresql-common python3-behave python3-cdiff 2156s python3-click python3-colorama python3-coverage python3-dateutil 2156s python3-dnspython python3-eventlet python3-gevent python3-greenlet 2156s python3-kazoo python3-kerberos python3-parse python3-parse-type 2156s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 2156s python3-six python3-wcwidth python3-ydiff python3-zope.event 2156s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 2156s x11-common zookeeper zookeeperd 2156s Suggested packages: 2156s adwaita-icon-theme-legacy alsa-utils libasound2-plugins 2156s libatinject-jsr330-api-java-doc colord libavalon-framework-java 2156s libexcalibur-logkit-java cups-common gvfs libjackson2-annotations-java-doc 2156s jetty9 libjnr-ffi-java-doc libjnr-posix-java-doc libjsr305-java-doc 2156s liblcms2-utils liblog4j1.2-java-doc libbcpkix-java libcompress-lzf-java 2156s libjzlib-java liblog4j2-java libprotobuf-java pcscd libcglib-java 2156s libyaml-snake-java libaspectj-java libcommons-collections3-java tomcat9 2156s libzookeeper-java-doc libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic 2156s fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic 2156s vip-manager haproxy postgresql-doc postgresql-doc-16 python-coverage-doc 2156s python3-trio python3-aioquic python3-h2 python3-httpx python3-httpcore 2156s python-eventlet-doc python-gevent-doc python-greenlet-dev 2156s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 2156s Recommended packages: 2156s librsvg2-common alsa-ucm-conf alsa-topology-conf at-spi2-core 2156s libgdk-pixbuf2.0-bin libgl1-amber-dri libgtk-3-bin javascript-common 2156s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 2156s fonts-dejavu-extra 2156s The following NEW packages will be installed: 2156s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 2156s dconf-gsettings-backend dconf-service default-jre default-jre-headless 2156s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 2156s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 2156s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 2156s libapr1t64 libasm-java libasound2-data libasound2t64 2156s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 2156s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 2156s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 2156s libcommons-io-java libcommons-logging-java libcommons-parent-java 2156s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 2156s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 2156s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 2156s libev4t64 libfindbugs-annotations-java libfontconfig1 libfreetype6 libgbm1 2156s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 2156s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 2156s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 2156s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 2156s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 2157s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 2157s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 2157s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 2157s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 2157s libjsr305-java liblcms2-2 liblerc4 libllvm19 liblog4j1.2-java libmail-java 2157s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 2157s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 2157s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 2157s libsnappy1v5 libspring-beans-java libspring-core-java 2157s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 2157s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 2157s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 2157s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 2157s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 2157s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 2157s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 2157s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 2157s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 2157s patroni-doc postgresql postgresql-16 postgresql-client-16 2157s postgresql-client-common postgresql-common python3-behave python3-cdiff 2157s python3-click python3-colorama python3-coverage python3-dateutil 2157s python3-dnspython python3-eventlet python3-gevent python3-greenlet 2157s python3-kazoo python3-kerberos python3-parse python3-parse-type 2157s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 2157s python3-six python3-wcwidth python3-ydiff python3-zope.event 2157s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 2157s x11-common zookeeper zookeeperd 2157s 0 upgraded, 198 newly installed, 0 to remove and 0 not upgraded. 2157s Need to get 149 MB/149 MB of archives. 2157s After this operation, 509 MB of additional disk space will be used. 2157s Get:1 /tmp/autopkgtest.F0zun9/4-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [760 B] 2157s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 2157s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 2157s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 262 [36.7 kB] 2157s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.2ubuntu2 [18.0 kB] 2157s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 262 [162 kB] 2157s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ca-certificates-java all 20240118 [11.6 kB] 2157s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf java-common all 0.76 [6852 B] 2157s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf liblcms2-2 armhf 2.16-2 [137 kB] 2157s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8 armhf 2.1.5-2ubuntu2 [125 kB] 2157s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 2157s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libpcsclite1 armhf 2.3.0-1 [24.8 kB] 2157s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre-headless armhf 21.0.5+11-1 [39.7 MB] 2159s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre-headless armhf 2:1.21-76 [3182 B] 2159s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 2159s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libdeflate0 armhf 1.22-1 [38.9 kB] 2159s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libjbig0 armhf 2.1-6.1ubuntu2 [24.9 kB] 2159s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf liblerc4 armhf 4.0.0+ds-4ubuntu2 [151 kB] 2159s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf libsharpyuv0 armhf 1.4.0-0.1 [16.3 kB] 2159s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf libwebp7 armhf 1.4.0-0.1 [184 kB] 2159s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libtiff6 armhf 4.5.1+git230720-4ubuntu4 [179 kB] 2159s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf-2.0-0 armhf 2.42.12+dfsg-1 [135 kB] 2159s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf gtk-update-icon-cache armhf 4.16.5+ds-1 [50.6 kB] 2159s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf hicolor-icon-theme all 0.18-1 [13.5 kB] 2159s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf humanity-icon-theme all 0.6.16 [1282 kB] 2159s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf ubuntu-mono all 24.04-0ubuntu1 [151 kB] 2159s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf adwaita-icon-theme all 47.0-2 [525 kB] 2159s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf at-spi2-common all 2.54.0-1 [8774 B] 2159s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf libatk1.0-0t64 armhf 2.54.0-1 [48.0 kB] 2159s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf libxi6 armhf 2:1.8.2-1 [26.5 kB] 2159s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf libatspi2.0-0t64 armhf 2.54.0-1 [70.8 kB] 2159s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf libatk-bridge2.0-0t64 armhf 2.54.0-1 [59.6 kB] 2159s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB] 2159s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-mono all 2.37-8 [502 kB] 2159s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-core all 2.37-8 [835 kB] 2159s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig-config armhf 2.15.0-1.1ubuntu2 [37.4 kB] 2159s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf libfontconfig1 armhf 2.15.0-1.1ubuntu2 [113 kB] 2159s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB] 2159s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB] 2159s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B] 2159s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB] 2159s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo2 armhf 1.18.2-2 [484 kB] 2159s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo-gobject2 armhf 1.18.2-2 [126 kB] 2159s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf libcolord2 armhf 1.4.7-1build2 [133 kB] 2159s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common-data armhf 0.8-13ubuntu6 [29.7 kB] 2159s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common3 armhf 0.8-13ubuntu6 [20.2 kB] 2159s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-client3 armhf 0.8-13ubuntu6 [24.2 kB] 2159s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf libcups2t64 armhf 2.4.10-1ubuntu2 [239 kB] 2159s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libepoxy0 armhf 1.5.10-2 [192 kB] 2159s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf libgraphite2-3 armhf 1.3.14-2ubuntu1 [64.8 kB] 2159s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf libharfbuzz0b armhf 10.0.1-1 [463 kB] 2159s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig armhf 2.15.0-1.1ubuntu2 [189 kB] 2159s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libthai-data all 0.1.29-2build1 [158 kB] 2159s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf libdatrie1 armhf 0.2.13-3build1 [15.7 kB] 2159s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libthai0 armhf 0.1.29-2build1 [15.2 kB] 2159s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf libpango-1.0-0 armhf 1.54.0+ds-3 [212 kB] 2159s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf libpangoft2-1.0-0 armhf 1.54.0+ds-3 [42.9 kB] 2159s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf libpangocairo-1.0-0 armhf 1.54.0+ds-3 [24.8 kB] 2159s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-client0 armhf 1.23.0-1 [22.7 kB] 2159s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-cursor0 armhf 1.23.0-1 [9672 B] 2159s Get:61 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-egl1 armhf 1.23.0-1 [5352 B] 2159s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf libxcomposite1 armhf 1:0.4.6-1 [6060 B] 2159s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf libxfixes3 armhf 1:6.0.0-2build1 [9038 B] 2159s Get:64 http://ftpmaster.internal/ubuntu plucky/main armhf libxcursor1 armhf 1:1.2.2-1 [17.6 kB] 2159s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf libxdamage1 armhf 1:1.1.6-1build1 [5462 B] 2159s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf libxinerama1 armhf 2:1.1.4-3build1 [5866 B] 2159s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf libxrandr2 armhf 2:1.5.4-1 [15.8 kB] 2159s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf libdconf1 armhf 0.40.0-4build2 [38.4 kB] 2159s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-service armhf 0.40.0-4build2 [27.4 kB] 2159s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-gsettings-backend armhf 0.40.0-4build2 [23.6 kB] 2159s Get:71 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-common all 3.24.43-3ubuntu2 [1202 kB] 2159s Get:72 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-0t64 armhf 3.24.43-3ubuntu2 [2608 kB] 2159s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf libglvnd0 armhf 1.7.0-1build1 [83.7 kB] 2159s Get:74 http://ftpmaster.internal/ubuntu plucky/main armhf libglapi-mesa armhf 24.2.3-1ubuntu1 [49.4 kB] 2159s Get:75 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-xcb1 armhf 2:1.8.10-2 [7902 B] 2159s Get:76 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-dri2-0 armhf 1.17.0-2 [6868 B] 2159s Get:77 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-dri3-0 armhf 1.17.0-2 [7120 B] 2159s Get:78 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-glx0 armhf 1.17.0-2 [22.6 kB] 2159s Get:79 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-present0 armhf 1.17.0-2 [5940 B] 2159s Get:80 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-randr0 armhf 1.17.0-2 [17.0 kB] 2159s Get:81 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-sync1 armhf 1.17.0-2 [8732 B] 2159s Get:82 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-xfixes0 armhf 1.17.0-2 [10.0 kB] 2159s Get:83 http://ftpmaster.internal/ubuntu plucky/main armhf libxshmfence1 armhf 1.3-1build5 [4464 B] 2159s Get:84 http://ftpmaster.internal/ubuntu plucky/main armhf libxxf86vm1 armhf 1:1.1.4-1build4 [8068 B] 2159s Get:85 http://ftpmaster.internal/ubuntu plucky/main armhf libdrm-amdgpu1 armhf 2.4.123-1 [18.9 kB] 2160s Get:86 http://ftpmaster.internal/ubuntu plucky/main armhf libdrm-radeon1 armhf 2.4.123-1 [18.1 kB] 2160s Get:87 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.2-1ubuntu1 [27.8 MB] 2160s Get:88 http://ftpmaster.internal/ubuntu plucky/main armhf mesa-libgallium armhf 24.2.3-1ubuntu1 [7895 kB] 2161s Get:89 http://ftpmaster.internal/ubuntu plucky/main armhf libvulkan1 armhf 1.3.296.0-1 [114 kB] 2161s Get:90 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-server0 armhf 1.23.0-1 [29.4 kB] 2161s Get:91 http://ftpmaster.internal/ubuntu plucky/main armhf libgbm1 armhf 24.2.3-1ubuntu1 [28.2 kB] 2161s Get:92 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1-mesa-dri armhf 24.2.3-1ubuntu1 [30.8 kB] 2161s Get:93 http://ftpmaster.internal/ubuntu plucky/main armhf libglx-mesa0 armhf 24.2.3-1ubuntu1 [131 kB] 2161s Get:94 http://ftpmaster.internal/ubuntu plucky/main armhf libglx0 armhf 1.7.0-1build1 [39.3 kB] 2161s Get:95 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1 armhf 1.7.0-1build1 [105 kB] 2161s Get:96 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2-data all 1.2.12-1 [21.0 kB] 2161s Get:97 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2t64 armhf 1.2.12-1 [344 kB] 2161s Get:98 http://ftpmaster.internal/ubuntu plucky/main armhf libgif7 armhf 5.2.2-1ubuntu1 [32.6 kB] 2161s Get:99 http://ftpmaster.internal/ubuntu plucky/main armhf x11-common all 1:7.7+23ubuntu3 [21.7 kB] 2161s Get:100 http://ftpmaster.internal/ubuntu plucky/main armhf libxtst6 armhf 2:1.2.3-1.1build1 [10.7 kB] 2161s Get:101 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre armhf 21.0.5+11-1 [197 kB] 2161s Get:102 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre armhf 2:1.21-76 [918 B] 2161s Get:103 http://ftpmaster.internal/ubuntu plucky/universe armhf libhamcrest-java all 2.2-2 [117 kB] 2161s Get:104 http://ftpmaster.internal/ubuntu plucky/universe armhf junit4 all 4.13.2-5 [348 kB] 2161s Get:105 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-cli-java all 1.6.0-1 [59.9 kB] 2161s Get:106 http://ftpmaster.internal/ubuntu plucky/universe armhf libapache-pom-java all 33-2 [5874 B] 2161s Get:107 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-parent-java all 56-1 [10.7 kB] 2161s Get:108 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-io-java all 2.17.0-1 [457 kB] 2161s Get:109 http://ftpmaster.internal/ubuntu plucky/universe armhf libdropwizard-metrics-java all 3.2.6-1 [240 kB] 2161s Get:110 http://ftpmaster.internal/ubuntu plucky/universe armhf libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 2161s Get:111 http://ftpmaster.internal/ubuntu plucky/universe armhf libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 2161s Get:112 http://ftpmaster.internal/ubuntu plucky/universe armhf liberror-prone-java all 2.18.0-1 [22.5 kB] 2161s Get:113 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsr305-java all 0.1~+svn49-11 [27.0 kB] 2161s Get:114 http://ftpmaster.internal/ubuntu plucky/universe armhf libguava-java all 32.0.1-1 [2692 kB] 2162s Get:115 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 2162s Get:116 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-core-java all 2.14.1-1 [432 kB] 2162s Get:117 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-databind-java all 2.14.0-1 [1531 kB] 2162s Get:118 http://ftpmaster.internal/ubuntu plucky/universe armhf libasm-java all 9.7.1-1 [388 kB] 2162s Get:119 http://ftpmaster.internal/ubuntu plucky/universe armhf libel-api-java all 3.0.0-3 [64.9 kB] 2162s Get:120 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsp-api-java all 2.3.4-3 [53.7 kB] 2162s Get:121 http://ftpmaster.internal/ubuntu plucky/universe armhf libservlet-api-java all 4.0.1-2 [81.0 kB] 2162s Get:122 http://ftpmaster.internal/ubuntu plucky/universe armhf libwebsocket-api-java all 1.1-2 [40.1 kB] 2162s Get:123 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-java all 9.4.56-1 [2790 kB] 2162s Get:124 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-constants-java all 0.10.4-2 [1397 kB] 2162s Get:125 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-jni armhf 1.3.13+ds-1 [24.9 kB] 2162s Get:126 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-java all 1.3.13+ds-1 [112 kB] 2162s Get:127 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 2162s Get:128 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-ffi-java all 2.2.15-2 [627 kB] 2162s Get:129 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-enxio-java all 0.32.16-1 [33.7 kB] 2162s Get:130 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-posix-java all 3.1.18-1 [267 kB] 2162s Get:131 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 2162s Get:132 http://ftpmaster.internal/ubuntu plucky/universe armhf libactivation-java all 1.2.0-2 [84.7 kB] 2162s Get:133 http://ftpmaster.internal/ubuntu plucky/universe armhf libmail-java all 1.6.5-3 [681 kB] 2162s Get:134 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 2162s Get:135 http://ftpmaster.internal/ubuntu plucky/universe armhf libjaxb-api-java all 2.3.1-1 [119 kB] 2162s Get:136 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-core-java all 4.3.30-2 [1015 kB] 2162s Get:137 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-beans-java all 4.3.30-2 [675 kB] 2162s Get:138 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 2162s Get:139 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 2162s Get:140 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 2162s Get:141 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 2163s Get:142 http://ftpmaster.internal/ubuntu plucky/universe armhf libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 2163s Get:143 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-extra-java all 9.4.56-1 [1199 kB] 2163s Get:144 http://ftpmaster.internal/ubuntu plucky/universe armhf libjctools-java all 2.0.2-1 [188 kB] 2163s Get:145 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-java all 1:4.1.48-10 [3628 kB] 2163s Get:146 http://ftpmaster.internal/ubuntu plucky/universe armhf libslf4j-java all 1.7.32-1 [141 kB] 2163s Get:147 http://ftpmaster.internal/ubuntu plucky/main armhf libsnappy1v5 armhf 1.2.1-1 [28.4 kB] 2163s Get:148 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-jni armhf 1.1.10.5-2 [6088 B] 2163s Get:149 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-java all 1.1.10.5-2 [83.7 kB] 2163s Get:150 http://ftpmaster.internal/ubuntu plucky/main armhf libapr1t64 armhf 1.7.2-3.2ubuntu1 [87.9 kB] 2163s Get:151 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-jni armhf 2.0.28-1build4 [28.9 kB] 2163s Get:152 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 2163s Get:153 http://ftpmaster.internal/ubuntu plucky/universe armhf liblog4j1.2-java all 1.2.17-11 [439 kB] 2163s Get:154 http://ftpmaster.internal/ubuntu plucky/universe armhf libzookeeper-java all 3.9.2-2 [1885 kB] 2163s Get:155 http://ftpmaster.internal/ubuntu plucky/universe armhf zookeeper all 3.9.2-2 [57.8 kB] 2163s Get:156 http://ftpmaster.internal/ubuntu plucky/universe armhf zookeeperd all 3.9.2-2 [6036 B] 2163s Get:157 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2163s Get:158 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.2-1 [79.8 kB] 2163s Get:159 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 2163s Get:160 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 2163s Get:161 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 2163s Get:162 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2163s Get:163 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2163s Get:164 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 2163s Get:165 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 2163s Get:166 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 2163s Get:167 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 2163s Get:168 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu1 [150 kB] 2163s Get:169 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 2163s Get:170 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 2163s Get:171 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 2164s Get:172 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 2164s Get:173 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 2164s Get:174 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 2164s Get:175 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 2164s Get:176 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2164s Get:177 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 2164s Get:178 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 2164s Get:179 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 2164s Get:180 http://ftpmaster.internal/ubuntu plucky/main armhf python3-greenlet armhf 3.0.3-0ubuntu6 [153 kB] 2164s Get:181 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 2164s Get:182 http://ftpmaster.internal/ubuntu plucky/main armhf python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 2164s Get:183 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-zope.event all 5.0-0.1 [7512 B] 2164s Get:184 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zope.interface armhf 7.1.1-1 [138 kB] 2164s Get:185 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gevent armhf 24.2.1-1 [773 kB] 2164s Get:186 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build9 [19.8 kB] 2164s Get:187 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 2164s Get:188 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 2164s Get:189 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 2164s Get:190 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 2164s Get:191 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 2164s Get:192 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-16 armhf 16.4-3 [1236 kB] 2164s Get:193 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-16 armhf 16.4-3 [14.2 MB] 2165s Get:194 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 16+262 [11.8 kB] 2165s Get:195 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 2165s Get:196 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-1 [23.4 kB] 2165s Get:197 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 2165s Get:198 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 2165s Preconfiguring packages ... 2165s Fetched 149 MB in 8s (18.3 MB/s) 2165s Selecting previously unselected package fonts-lato. 2165s (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 ... 59567 files and directories currently installed.) 2165s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 2165s Unpacking fonts-lato (2.015-1) ... 2166s Selecting previously unselected package libjson-perl. 2166s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 2166s Unpacking libjson-perl (4.10000-1) ... 2166s Selecting previously unselected package postgresql-client-common. 2166s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 2166s Unpacking postgresql-client-common (262) ... 2166s Selecting previously unselected package ssl-cert. 2166s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu2_all.deb ... 2166s Unpacking ssl-cert (1.1.2ubuntu2) ... 2166s Selecting previously unselected package postgresql-common. 2166s Preparing to unpack .../004-postgresql-common_262_all.deb ... 2166s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2166s Unpacking postgresql-common (262) ... 2166s Selecting previously unselected package ca-certificates-java. 2166s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 2166s Unpacking ca-certificates-java (20240118) ... 2166s Selecting previously unselected package java-common. 2166s Preparing to unpack .../006-java-common_0.76_all.deb ... 2166s Unpacking java-common (0.76) ... 2166s Selecting previously unselected package liblcms2-2:armhf. 2166s Preparing to unpack .../007-liblcms2-2_2.16-2_armhf.deb ... 2166s Unpacking liblcms2-2:armhf (2.16-2) ... 2166s Selecting previously unselected package libjpeg-turbo8:armhf. 2166s Preparing to unpack .../008-libjpeg-turbo8_2.1.5-2ubuntu2_armhf.deb ... 2166s Unpacking libjpeg-turbo8:armhf (2.1.5-2ubuntu2) ... 2166s Selecting previously unselected package libjpeg8:armhf. 2166s Preparing to unpack .../009-libjpeg8_8c-2ubuntu11_armhf.deb ... 2166s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 2166s Selecting previously unselected package libpcsclite1:armhf. 2166s Preparing to unpack .../010-libpcsclite1_2.3.0-1_armhf.deb ... 2166s Unpacking libpcsclite1:armhf (2.3.0-1) ... 2166s Selecting previously unselected package openjdk-21-jre-headless:armhf. 2166s Preparing to unpack .../011-openjdk-21-jre-headless_21.0.5+11-1_armhf.deb ... 2166s Unpacking openjdk-21-jre-headless:armhf (21.0.5+11-1) ... 2167s Selecting previously unselected package default-jre-headless. 2167s Preparing to unpack .../012-default-jre-headless_2%3a1.21-76_armhf.deb ... 2167s Unpacking default-jre-headless (2:1.21-76) ... 2167s Selecting previously unselected package libgdk-pixbuf2.0-common. 2167s Preparing to unpack .../013-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 2167s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 2167s Selecting previously unselected package libdeflate0:armhf. 2167s Preparing to unpack .../014-libdeflate0_1.22-1_armhf.deb ... 2167s Unpacking libdeflate0:armhf (1.22-1) ... 2167s Selecting previously unselected package libjbig0:armhf. 2167s Preparing to unpack .../015-libjbig0_2.1-6.1ubuntu2_armhf.deb ... 2167s Unpacking libjbig0:armhf (2.1-6.1ubuntu2) ... 2167s Selecting previously unselected package liblerc4:armhf. 2167s Preparing to unpack .../016-liblerc4_4.0.0+ds-4ubuntu2_armhf.deb ... 2167s Unpacking liblerc4:armhf (4.0.0+ds-4ubuntu2) ... 2167s Selecting previously unselected package libsharpyuv0:armhf. 2167s Preparing to unpack .../017-libsharpyuv0_1.4.0-0.1_armhf.deb ... 2167s Unpacking libsharpyuv0:armhf (1.4.0-0.1) ... 2167s Selecting previously unselected package libwebp7:armhf. 2167s Preparing to unpack .../018-libwebp7_1.4.0-0.1_armhf.deb ... 2167s Unpacking libwebp7:armhf (1.4.0-0.1) ... 2167s Selecting previously unselected package libtiff6:armhf. 2167s Preparing to unpack .../019-libtiff6_4.5.1+git230720-4ubuntu4_armhf.deb ... 2167s Unpacking libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 2167s Selecting previously unselected package libgdk-pixbuf-2.0-0:armhf. 2167s Preparing to unpack .../020-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_armhf.deb ... 2167s Unpacking libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-1) ... 2168s Selecting previously unselected package gtk-update-icon-cache. 2168s Preparing to unpack .../021-gtk-update-icon-cache_4.16.5+ds-1_armhf.deb ... 2168s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 2168s 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. 2168s Unpacking gtk-update-icon-cache (4.16.5+ds-1) ... 2168s Selecting previously unselected package hicolor-icon-theme. 2168s Preparing to unpack .../022-hicolor-icon-theme_0.18-1_all.deb ... 2168s Unpacking hicolor-icon-theme (0.18-1) ... 2168s Selecting previously unselected package humanity-icon-theme. 2168s Preparing to unpack .../023-humanity-icon-theme_0.6.16_all.deb ... 2168s Unpacking humanity-icon-theme (0.6.16) ... 2168s Selecting previously unselected package ubuntu-mono. 2168s Preparing to unpack .../024-ubuntu-mono_24.04-0ubuntu1_all.deb ... 2168s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 2169s Selecting previously unselected package adwaita-icon-theme. 2169s Preparing to unpack .../025-adwaita-icon-theme_47.0-2_all.deb ... 2169s Unpacking adwaita-icon-theme (47.0-2) ... 2169s Selecting previously unselected package at-spi2-common. 2169s Preparing to unpack .../026-at-spi2-common_2.54.0-1_all.deb ... 2169s Unpacking at-spi2-common (2.54.0-1) ... 2169s Selecting previously unselected package libatk1.0-0t64:armhf. 2169s Preparing to unpack .../027-libatk1.0-0t64_2.54.0-1_armhf.deb ... 2169s Unpacking libatk1.0-0t64:armhf (2.54.0-1) ... 2169s Selecting previously unselected package libxi6:armhf. 2169s Preparing to unpack .../028-libxi6_2%3a1.8.2-1_armhf.deb ... 2169s Unpacking libxi6:armhf (2:1.8.2-1) ... 2169s Selecting previously unselected package libatspi2.0-0t64:armhf. 2169s Preparing to unpack .../029-libatspi2.0-0t64_2.54.0-1_armhf.deb ... 2169s Unpacking libatspi2.0-0t64:armhf (2.54.0-1) ... 2169s Selecting previously unselected package libatk-bridge2.0-0t64:armhf. 2169s Preparing to unpack .../030-libatk-bridge2.0-0t64_2.54.0-1_armhf.deb ... 2169s Unpacking libatk-bridge2.0-0t64:armhf (2.54.0-1) ... 2169s Selecting previously unselected package libfreetype6:armhf. 2169s Preparing to unpack .../031-libfreetype6_2.13.3+dfsg-1_armhf.deb ... 2169s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ... 2169s Selecting previously unselected package fonts-dejavu-mono. 2169s Preparing to unpack .../032-fonts-dejavu-mono_2.37-8_all.deb ... 2169s Unpacking fonts-dejavu-mono (2.37-8) ... 2169s Selecting previously unselected package fonts-dejavu-core. 2169s Preparing to unpack .../033-fonts-dejavu-core_2.37-8_all.deb ... 2169s Unpacking fonts-dejavu-core (2.37-8) ... 2169s Selecting previously unselected package fontconfig-config. 2169s Preparing to unpack .../034-fontconfig-config_2.15.0-1.1ubuntu2_armhf.deb ... 2170s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 2170s Selecting previously unselected package libfontconfig1:armhf. 2170s Preparing to unpack .../035-libfontconfig1_2.15.0-1.1ubuntu2_armhf.deb ... 2170s Unpacking libfontconfig1:armhf (2.15.0-1.1ubuntu2) ... 2170s Selecting previously unselected package libpixman-1-0:armhf. 2170s Preparing to unpack .../036-libpixman-1-0_0.44.0-3_armhf.deb ... 2170s Unpacking libpixman-1-0:armhf (0.44.0-3) ... 2170s Selecting previously unselected package libxcb-render0:armhf. 2170s Preparing to unpack .../037-libxcb-render0_1.17.0-2_armhf.deb ... 2170s Unpacking libxcb-render0:armhf (1.17.0-2) ... 2170s Selecting previously unselected package libxcb-shm0:armhf. 2170s Preparing to unpack .../038-libxcb-shm0_1.17.0-2_armhf.deb ... 2170s Unpacking libxcb-shm0:armhf (1.17.0-2) ... 2170s Selecting previously unselected package libxrender1:armhf. 2170s Preparing to unpack .../039-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ... 2170s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ... 2170s Selecting previously unselected package libcairo2:armhf. 2170s Preparing to unpack .../040-libcairo2_1.18.2-2_armhf.deb ... 2170s Unpacking libcairo2:armhf (1.18.2-2) ... 2170s Selecting previously unselected package libcairo-gobject2:armhf. 2170s Preparing to unpack .../041-libcairo-gobject2_1.18.2-2_armhf.deb ... 2170s Unpacking libcairo-gobject2:armhf (1.18.2-2) ... 2170s Selecting previously unselected package libcolord2:armhf. 2170s Preparing to unpack .../042-libcolord2_1.4.7-1build2_armhf.deb ... 2170s Unpacking libcolord2:armhf (1.4.7-1build2) ... 2170s Selecting previously unselected package libavahi-common-data:armhf. 2170s Preparing to unpack .../043-libavahi-common-data_0.8-13ubuntu6_armhf.deb ... 2170s Unpacking libavahi-common-data:armhf (0.8-13ubuntu6) ... 2170s Selecting previously unselected package libavahi-common3:armhf. 2170s Preparing to unpack .../044-libavahi-common3_0.8-13ubuntu6_armhf.deb ... 2170s Unpacking libavahi-common3:armhf (0.8-13ubuntu6) ... 2170s Selecting previously unselected package libavahi-client3:armhf. 2170s Preparing to unpack .../045-libavahi-client3_0.8-13ubuntu6_armhf.deb ... 2170s Unpacking libavahi-client3:armhf (0.8-13ubuntu6) ... 2170s Selecting previously unselected package libcups2t64:armhf. 2170s Preparing to unpack .../046-libcups2t64_2.4.10-1ubuntu2_armhf.deb ... 2170s Unpacking libcups2t64:armhf (2.4.10-1ubuntu2) ... 2170s Selecting previously unselected package libepoxy0:armhf. 2170s Preparing to unpack .../047-libepoxy0_1.5.10-2_armhf.deb ... 2170s Unpacking libepoxy0:armhf (1.5.10-2) ... 2170s Selecting previously unselected package libgraphite2-3:armhf. 2170s Preparing to unpack .../048-libgraphite2-3_1.3.14-2ubuntu1_armhf.deb ... 2170s Unpacking libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 2170s Selecting previously unselected package libharfbuzz0b:armhf. 2170s Preparing to unpack .../049-libharfbuzz0b_10.0.1-1_armhf.deb ... 2170s Unpacking libharfbuzz0b:armhf (10.0.1-1) ... 2170s Selecting previously unselected package fontconfig. 2170s Preparing to unpack .../050-fontconfig_2.15.0-1.1ubuntu2_armhf.deb ... 2170s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 2170s Selecting previously unselected package libthai-data. 2170s Preparing to unpack .../051-libthai-data_0.1.29-2build1_all.deb ... 2170s Unpacking libthai-data (0.1.29-2build1) ... 2170s Selecting previously unselected package libdatrie1:armhf. 2170s Preparing to unpack .../052-libdatrie1_0.2.13-3build1_armhf.deb ... 2170s Unpacking libdatrie1:armhf (0.2.13-3build1) ... 2170s Selecting previously unselected package libthai0:armhf. 2170s Preparing to unpack .../053-libthai0_0.1.29-2build1_armhf.deb ... 2170s Unpacking libthai0:armhf (0.1.29-2build1) ... 2170s Selecting previously unselected package libpango-1.0-0:armhf. 2170s Preparing to unpack .../054-libpango-1.0-0_1.54.0+ds-3_armhf.deb ... 2170s Unpacking libpango-1.0-0:armhf (1.54.0+ds-3) ... 2170s Selecting previously unselected package libpangoft2-1.0-0:armhf. 2170s Preparing to unpack .../055-libpangoft2-1.0-0_1.54.0+ds-3_armhf.deb ... 2170s Unpacking libpangoft2-1.0-0:armhf (1.54.0+ds-3) ... 2170s Selecting previously unselected package libpangocairo-1.0-0:armhf. 2170s Preparing to unpack .../056-libpangocairo-1.0-0_1.54.0+ds-3_armhf.deb ... 2170s Unpacking libpangocairo-1.0-0:armhf (1.54.0+ds-3) ... 2171s Selecting previously unselected package libwayland-client0:armhf. 2171s Preparing to unpack .../057-libwayland-client0_1.23.0-1_armhf.deb ... 2171s Unpacking libwayland-client0:armhf (1.23.0-1) ... 2171s Selecting previously unselected package libwayland-cursor0:armhf. 2171s Preparing to unpack .../058-libwayland-cursor0_1.23.0-1_armhf.deb ... 2171s Unpacking libwayland-cursor0:armhf (1.23.0-1) ... 2171s Selecting previously unselected package libwayland-egl1:armhf. 2171s Preparing to unpack .../059-libwayland-egl1_1.23.0-1_armhf.deb ... 2171s Unpacking libwayland-egl1:armhf (1.23.0-1) ... 2171s Selecting previously unselected package libxcomposite1:armhf. 2171s Preparing to unpack .../060-libxcomposite1_1%3a0.4.6-1_armhf.deb ... 2171s Unpacking libxcomposite1:armhf (1:0.4.6-1) ... 2171s Selecting previously unselected package libxfixes3:armhf. 2171s Preparing to unpack .../061-libxfixes3_1%3a6.0.0-2build1_armhf.deb ... 2171s Unpacking libxfixes3:armhf (1:6.0.0-2build1) ... 2171s Selecting previously unselected package libxcursor1:armhf. 2171s Preparing to unpack .../062-libxcursor1_1%3a1.2.2-1_armhf.deb ... 2171s Unpacking libxcursor1:armhf (1:1.2.2-1) ... 2171s Selecting previously unselected package libxdamage1:armhf. 2171s Preparing to unpack .../063-libxdamage1_1%3a1.1.6-1build1_armhf.deb ... 2171s Unpacking libxdamage1:armhf (1:1.1.6-1build1) ... 2171s Selecting previously unselected package libxinerama1:armhf. 2171s Preparing to unpack .../064-libxinerama1_2%3a1.1.4-3build1_armhf.deb ... 2171s Unpacking libxinerama1:armhf (2:1.1.4-3build1) ... 2171s Selecting previously unselected package libxrandr2:armhf. 2171s Preparing to unpack .../065-libxrandr2_2%3a1.5.4-1_armhf.deb ... 2171s Unpacking libxrandr2:armhf (2:1.5.4-1) ... 2171s Selecting previously unselected package libdconf1:armhf. 2171s Preparing to unpack .../066-libdconf1_0.40.0-4build2_armhf.deb ... 2171s Unpacking libdconf1:armhf (0.40.0-4build2) ... 2171s Selecting previously unselected package dconf-service. 2171s Preparing to unpack .../067-dconf-service_0.40.0-4build2_armhf.deb ... 2171s Unpacking dconf-service (0.40.0-4build2) ... 2171s Selecting previously unselected package dconf-gsettings-backend:armhf. 2171s Preparing to unpack .../068-dconf-gsettings-backend_0.40.0-4build2_armhf.deb ... 2171s Unpacking dconf-gsettings-backend:armhf (0.40.0-4build2) ... 2171s Selecting previously unselected package libgtk-3-common. 2171s Preparing to unpack .../069-libgtk-3-common_3.24.43-3ubuntu2_all.deb ... 2171s Unpacking libgtk-3-common (3.24.43-3ubuntu2) ... 2171s Selecting previously unselected package libgtk-3-0t64:armhf. 2171s Preparing to unpack .../070-libgtk-3-0t64_3.24.43-3ubuntu2_armhf.deb ... 2171s Unpacking libgtk-3-0t64:armhf (3.24.43-3ubuntu2) ... 2171s Selecting previously unselected package libglvnd0:armhf. 2171s Preparing to unpack .../071-libglvnd0_1.7.0-1build1_armhf.deb ... 2171s Unpacking libglvnd0:armhf (1.7.0-1build1) ... 2171s Selecting previously unselected package libglapi-mesa:armhf. 2171s Preparing to unpack .../072-libglapi-mesa_24.2.3-1ubuntu1_armhf.deb ... 2171s Unpacking libglapi-mesa:armhf (24.2.3-1ubuntu1) ... 2171s Selecting previously unselected package libx11-xcb1:armhf. 2171s Preparing to unpack .../073-libx11-xcb1_2%3a1.8.10-2_armhf.deb ... 2171s Unpacking libx11-xcb1:armhf (2:1.8.10-2) ... 2171s Selecting previously unselected package libxcb-dri2-0:armhf. 2171s Preparing to unpack .../074-libxcb-dri2-0_1.17.0-2_armhf.deb ... 2171s Unpacking libxcb-dri2-0:armhf (1.17.0-2) ... 2171s Selecting previously unselected package libxcb-dri3-0:armhf. 2171s Preparing to unpack .../075-libxcb-dri3-0_1.17.0-2_armhf.deb ... 2171s Unpacking libxcb-dri3-0:armhf (1.17.0-2) ... 2171s Selecting previously unselected package libxcb-glx0:armhf. 2171s Preparing to unpack .../076-libxcb-glx0_1.17.0-2_armhf.deb ... 2171s Unpacking libxcb-glx0:armhf (1.17.0-2) ... 2171s Selecting previously unselected package libxcb-present0:armhf. 2171s Preparing to unpack .../077-libxcb-present0_1.17.0-2_armhf.deb ... 2171s Unpacking libxcb-present0:armhf (1.17.0-2) ... 2171s Selecting previously unselected package libxcb-randr0:armhf. 2171s Preparing to unpack .../078-libxcb-randr0_1.17.0-2_armhf.deb ... 2171s Unpacking libxcb-randr0:armhf (1.17.0-2) ... 2171s Selecting previously unselected package libxcb-sync1:armhf. 2171s Preparing to unpack .../079-libxcb-sync1_1.17.0-2_armhf.deb ... 2171s Unpacking libxcb-sync1:armhf (1.17.0-2) ... 2171s Selecting previously unselected package libxcb-xfixes0:armhf. 2171s Preparing to unpack .../080-libxcb-xfixes0_1.17.0-2_armhf.deb ... 2171s Unpacking libxcb-xfixes0:armhf (1.17.0-2) ... 2171s Selecting previously unselected package libxshmfence1:armhf. 2171s Preparing to unpack .../081-libxshmfence1_1.3-1build5_armhf.deb ... 2171s Unpacking libxshmfence1:armhf (1.3-1build5) ... 2172s Selecting previously unselected package libxxf86vm1:armhf. 2172s Preparing to unpack .../082-libxxf86vm1_1%3a1.1.4-1build4_armhf.deb ... 2172s Unpacking libxxf86vm1:armhf (1:1.1.4-1build4) ... 2172s Selecting previously unselected package libdrm-amdgpu1:armhf. 2172s Preparing to unpack .../083-libdrm-amdgpu1_2.4.123-1_armhf.deb ... 2172s Unpacking libdrm-amdgpu1:armhf (2.4.123-1) ... 2172s Selecting previously unselected package libdrm-radeon1:armhf. 2172s Preparing to unpack .../084-libdrm-radeon1_2.4.123-1_armhf.deb ... 2172s Unpacking libdrm-radeon1:armhf (2.4.123-1) ... 2172s Selecting previously unselected package libllvm19:armhf. 2172s Preparing to unpack .../085-libllvm19_1%3a19.1.2-1ubuntu1_armhf.deb ... 2172s Unpacking libllvm19:armhf (1:19.1.2-1ubuntu1) ... 2172s Selecting previously unselected package mesa-libgallium:armhf. 2172s Preparing to unpack .../086-mesa-libgallium_24.2.3-1ubuntu1_armhf.deb ... 2172s Unpacking mesa-libgallium:armhf (24.2.3-1ubuntu1) ... 2173s Selecting previously unselected package libvulkan1:armhf. 2173s Preparing to unpack .../087-libvulkan1_1.3.296.0-1_armhf.deb ... 2173s Unpacking libvulkan1:armhf (1.3.296.0-1) ... 2173s Selecting previously unselected package libwayland-server0:armhf. 2173s Preparing to unpack .../088-libwayland-server0_1.23.0-1_armhf.deb ... 2173s Unpacking libwayland-server0:armhf (1.23.0-1) ... 2173s Selecting previously unselected package libgbm1:armhf. 2173s Preparing to unpack .../089-libgbm1_24.2.3-1ubuntu1_armhf.deb ... 2173s Unpacking libgbm1:armhf (24.2.3-1ubuntu1) ... 2173s Selecting previously unselected package libgl1-mesa-dri:armhf. 2173s Preparing to unpack .../090-libgl1-mesa-dri_24.2.3-1ubuntu1_armhf.deb ... 2173s Unpacking libgl1-mesa-dri:armhf (24.2.3-1ubuntu1) ... 2173s Selecting previously unselected package libglx-mesa0:armhf. 2173s Preparing to unpack .../091-libglx-mesa0_24.2.3-1ubuntu1_armhf.deb ... 2173s Unpacking libglx-mesa0:armhf (24.2.3-1ubuntu1) ... 2173s Selecting previously unselected package libglx0:armhf. 2173s Preparing to unpack .../092-libglx0_1.7.0-1build1_armhf.deb ... 2173s Unpacking libglx0:armhf (1.7.0-1build1) ... 2173s Selecting previously unselected package libgl1:armhf. 2173s Preparing to unpack .../093-libgl1_1.7.0-1build1_armhf.deb ... 2173s Unpacking libgl1:armhf (1.7.0-1build1) ... 2173s Selecting previously unselected package libasound2-data. 2173s Preparing to unpack .../094-libasound2-data_1.2.12-1_all.deb ... 2173s Unpacking libasound2-data (1.2.12-1) ... 2173s Selecting previously unselected package libasound2t64:armhf. 2173s Preparing to unpack .../095-libasound2t64_1.2.12-1_armhf.deb ... 2173s Unpacking libasound2t64:armhf (1.2.12-1) ... 2173s Selecting previously unselected package libgif7:armhf. 2173s Preparing to unpack .../096-libgif7_5.2.2-1ubuntu1_armhf.deb ... 2173s Unpacking libgif7:armhf (5.2.2-1ubuntu1) ... 2173s Selecting previously unselected package x11-common. 2173s Preparing to unpack .../097-x11-common_1%3a7.7+23ubuntu3_all.deb ... 2173s Unpacking x11-common (1:7.7+23ubuntu3) ... 2173s Selecting previously unselected package libxtst6:armhf. 2173s Preparing to unpack .../098-libxtst6_2%3a1.2.3-1.1build1_armhf.deb ... 2173s Unpacking libxtst6:armhf (2:1.2.3-1.1build1) ... 2173s Selecting previously unselected package openjdk-21-jre:armhf. 2173s Preparing to unpack .../099-openjdk-21-jre_21.0.5+11-1_armhf.deb ... 2173s Unpacking openjdk-21-jre:armhf (21.0.5+11-1) ... 2173s Selecting previously unselected package default-jre. 2173s Preparing to unpack .../100-default-jre_2%3a1.21-76_armhf.deb ... 2173s Unpacking default-jre (2:1.21-76) ... 2173s Selecting previously unselected package libhamcrest-java. 2173s Preparing to unpack .../101-libhamcrest-java_2.2-2_all.deb ... 2173s Unpacking libhamcrest-java (2.2-2) ... 2174s Selecting previously unselected package junit4. 2174s Preparing to unpack .../102-junit4_4.13.2-5_all.deb ... 2174s Unpacking junit4 (4.13.2-5) ... 2174s Selecting previously unselected package libcommons-cli-java. 2174s Preparing to unpack .../103-libcommons-cli-java_1.6.0-1_all.deb ... 2174s Unpacking libcommons-cli-java (1.6.0-1) ... 2174s Selecting previously unselected package libapache-pom-java. 2174s Preparing to unpack .../104-libapache-pom-java_33-2_all.deb ... 2174s Unpacking libapache-pom-java (33-2) ... 2174s Selecting previously unselected package libcommons-parent-java. 2174s Preparing to unpack .../105-libcommons-parent-java_56-1_all.deb ... 2174s Unpacking libcommons-parent-java (56-1) ... 2174s Selecting previously unselected package libcommons-io-java. 2174s Preparing to unpack .../106-libcommons-io-java_2.17.0-1_all.deb ... 2174s Unpacking libcommons-io-java (2.17.0-1) ... 2174s Selecting previously unselected package libdropwizard-metrics-java. 2174s Preparing to unpack .../107-libdropwizard-metrics-java_3.2.6-1_all.deb ... 2174s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 2174s Selecting previously unselected package libfindbugs-annotations-java. 2174s Preparing to unpack .../108-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 2174s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 2174s Selecting previously unselected package libatinject-jsr330-api-java. 2174s Preparing to unpack .../109-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 2174s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 2174s Selecting previously unselected package liberror-prone-java. 2174s Preparing to unpack .../110-liberror-prone-java_2.18.0-1_all.deb ... 2174s Unpacking liberror-prone-java (2.18.0-1) ... 2174s Selecting previously unselected package libjsr305-java. 2174s Preparing to unpack .../111-libjsr305-java_0.1~+svn49-11_all.deb ... 2174s Unpacking libjsr305-java (0.1~+svn49-11) ... 2174s Selecting previously unselected package libguava-java. 2174s Preparing to unpack .../112-libguava-java_32.0.1-1_all.deb ... 2174s Unpacking libguava-java (32.0.1-1) ... 2174s Selecting previously unselected package libjackson2-annotations-java. 2174s Preparing to unpack .../113-libjackson2-annotations-java_2.14.0-1_all.deb ... 2174s Unpacking libjackson2-annotations-java (2.14.0-1) ... 2174s Selecting previously unselected package libjackson2-core-java. 2174s Preparing to unpack .../114-libjackson2-core-java_2.14.1-1_all.deb ... 2174s Unpacking libjackson2-core-java (2.14.1-1) ... 2174s Selecting previously unselected package libjackson2-databind-java. 2174s Preparing to unpack .../115-libjackson2-databind-java_2.14.0-1_all.deb ... 2174s Unpacking libjackson2-databind-java (2.14.0-1) ... 2174s Selecting previously unselected package libasm-java. 2174s Preparing to unpack .../116-libasm-java_9.7.1-1_all.deb ... 2174s Unpacking libasm-java (9.7.1-1) ... 2174s Selecting previously unselected package libel-api-java. 2174s Preparing to unpack .../117-libel-api-java_3.0.0-3_all.deb ... 2174s Unpacking libel-api-java (3.0.0-3) ... 2174s Selecting previously unselected package libjsp-api-java. 2174s Preparing to unpack .../118-libjsp-api-java_2.3.4-3_all.deb ... 2174s Unpacking libjsp-api-java (2.3.4-3) ... 2174s Selecting previously unselected package libservlet-api-java. 2174s Preparing to unpack .../119-libservlet-api-java_4.0.1-2_all.deb ... 2174s Unpacking libservlet-api-java (4.0.1-2) ... 2174s Selecting previously unselected package libwebsocket-api-java. 2174s Preparing to unpack .../120-libwebsocket-api-java_1.1-2_all.deb ... 2174s Unpacking libwebsocket-api-java (1.1-2) ... 2174s Selecting previously unselected package libjetty9-java. 2174s Preparing to unpack .../121-libjetty9-java_9.4.56-1_all.deb ... 2174s Unpacking libjetty9-java (9.4.56-1) ... 2174s Selecting previously unselected package libjnr-constants-java. 2174s Preparing to unpack .../122-libjnr-constants-java_0.10.4-2_all.deb ... 2174s Unpacking libjnr-constants-java (0.10.4-2) ... 2175s Selecting previously unselected package libjffi-jni:armhf. 2175s Preparing to unpack .../123-libjffi-jni_1.3.13+ds-1_armhf.deb ... 2175s Unpacking libjffi-jni:armhf (1.3.13+ds-1) ... 2175s Selecting previously unselected package libjffi-java. 2175s Preparing to unpack .../124-libjffi-java_1.3.13+ds-1_all.deb ... 2175s Unpacking libjffi-java (1.3.13+ds-1) ... 2175s Selecting previously unselected package libjnr-x86asm-java. 2175s Preparing to unpack .../125-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 2175s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 2175s Selecting previously unselected package libjnr-ffi-java. 2175s Preparing to unpack .../126-libjnr-ffi-java_2.2.15-2_all.deb ... 2175s Unpacking libjnr-ffi-java (2.2.15-2) ... 2175s Selecting previously unselected package libjnr-enxio-java. 2175s Preparing to unpack .../127-libjnr-enxio-java_0.32.16-1_all.deb ... 2175s Unpacking libjnr-enxio-java (0.32.16-1) ... 2175s Selecting previously unselected package libjnr-posix-java. 2175s Preparing to unpack .../128-libjnr-posix-java_3.1.18-1_all.deb ... 2175s Unpacking libjnr-posix-java (3.1.18-1) ... 2175s Selecting previously unselected package libjnr-unixsocket-java. 2175s Preparing to unpack .../129-libjnr-unixsocket-java_0.38.21-2_all.deb ... 2175s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 2175s Selecting previously unselected package libactivation-java. 2175s Preparing to unpack .../130-libactivation-java_1.2.0-2_all.deb ... 2175s Unpacking libactivation-java (1.2.0-2) ... 2175s Selecting previously unselected package libmail-java. 2175s Preparing to unpack .../131-libmail-java_1.6.5-3_all.deb ... 2175s Unpacking libmail-java (1.6.5-3) ... 2175s Selecting previously unselected package libcommons-logging-java. 2175s Preparing to unpack .../132-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 2175s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 2175s Selecting previously unselected package libjaxb-api-java. 2175s Preparing to unpack .../133-libjaxb-api-java_2.3.1-1_all.deb ... 2175s Unpacking libjaxb-api-java (2.3.1-1) ... 2175s Selecting previously unselected package libspring-core-java. 2175s Preparing to unpack .../134-libspring-core-java_4.3.30-2_all.deb ... 2175s Unpacking libspring-core-java (4.3.30-2) ... 2175s Selecting previously unselected package libspring-beans-java. 2175s Preparing to unpack .../135-libspring-beans-java_4.3.30-2_all.deb ... 2175s Unpacking libspring-beans-java (4.3.30-2) ... 2175s Selecting previously unselected package libtaglibs-standard-spec-java. 2175s Preparing to unpack .../136-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 2175s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 2175s Selecting previously unselected package libtaglibs-standard-impl-java. 2175s Preparing to unpack .../137-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 2175s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 2175s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 2175s Preparing to unpack .../138-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 2175s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 2175s Selecting previously unselected package libeclipse-jdt-core-java. 2175s Preparing to unpack .../139-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 2175s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 2175s Selecting previously unselected package libtomcat9-java. 2175s Preparing to unpack .../140-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 2175s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 2175s Selecting previously unselected package libjetty9-extra-java. 2175s Preparing to unpack .../141-libjetty9-extra-java_9.4.56-1_all.deb ... 2175s Unpacking libjetty9-extra-java (9.4.56-1) ... 2175s Selecting previously unselected package libjctools-java. 2176s Preparing to unpack .../142-libjctools-java_2.0.2-1_all.deb ... 2176s Unpacking libjctools-java (2.0.2-1) ... 2176s Selecting previously unselected package libnetty-java. 2176s Preparing to unpack .../143-libnetty-java_1%3a4.1.48-10_all.deb ... 2176s Unpacking libnetty-java (1:4.1.48-10) ... 2176s Selecting previously unselected package libslf4j-java. 2176s Preparing to unpack .../144-libslf4j-java_1.7.32-1_all.deb ... 2176s Unpacking libslf4j-java (1.7.32-1) ... 2176s Selecting previously unselected package libsnappy1v5:armhf. 2176s Preparing to unpack .../145-libsnappy1v5_1.2.1-1_armhf.deb ... 2176s Unpacking libsnappy1v5:armhf (1.2.1-1) ... 2176s Selecting previously unselected package libsnappy-jni. 2176s Preparing to unpack .../146-libsnappy-jni_1.1.10.5-2_armhf.deb ... 2176s Unpacking libsnappy-jni (1.1.10.5-2) ... 2176s Selecting previously unselected package libsnappy-java. 2176s Preparing to unpack .../147-libsnappy-java_1.1.10.5-2_all.deb ... 2176s Unpacking libsnappy-java (1.1.10.5-2) ... 2176s Selecting previously unselected package libapr1t64:armhf. 2176s Preparing to unpack .../148-libapr1t64_1.7.2-3.2ubuntu1_armhf.deb ... 2176s Unpacking libapr1t64:armhf (1.7.2-3.2ubuntu1) ... 2176s Selecting previously unselected package libnetty-tcnative-jni. 2176s Preparing to unpack .../149-libnetty-tcnative-jni_2.0.28-1build4_armhf.deb ... 2176s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 2176s Selecting previously unselected package libnetty-tcnative-java. 2176s Preparing to unpack .../150-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 2176s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 2176s Selecting previously unselected package liblog4j1.2-java. 2176s Preparing to unpack .../151-liblog4j1.2-java_1.2.17-11_all.deb ... 2176s Unpacking liblog4j1.2-java (1.2.17-11) ... 2176s Selecting previously unselected package libzookeeper-java. 2176s Preparing to unpack .../152-libzookeeper-java_3.9.2-2_all.deb ... 2176s Unpacking libzookeeper-java (3.9.2-2) ... 2176s Selecting previously unselected package zookeeper. 2176s Preparing to unpack .../153-zookeeper_3.9.2-2_all.deb ... 2176s Unpacking zookeeper (3.9.2-2) ... 2176s Selecting previously unselected package zookeeperd. 2176s Preparing to unpack .../154-zookeeperd_3.9.2-2_all.deb ... 2176s Unpacking zookeeperd (3.9.2-2) ... 2176s Selecting previously unselected package fonts-font-awesome. 2176s Preparing to unpack .../155-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2176s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2176s Selecting previously unselected package libcares2:armhf. 2176s Preparing to unpack .../156-libcares2_1.34.2-1_armhf.deb ... 2176s Unpacking libcares2:armhf (1.34.2-1) ... 2176s Selecting previously unselected package libev4t64:armhf. 2176s Preparing to unpack .../157-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 2176s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 2176s Selecting previously unselected package libio-pty-perl. 2176s Preparing to unpack .../158-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 2176s Unpacking libio-pty-perl (1:1.20-1build3) ... 2176s Selecting previously unselected package libipc-run-perl. 2176s Preparing to unpack .../159-libipc-run-perl_20231003.0-2_all.deb ... 2176s Unpacking libipc-run-perl (20231003.0-2) ... 2176s Selecting previously unselected package libjs-jquery. 2176s Preparing to unpack .../160-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2176s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2176s Selecting previously unselected package libjs-underscore. 2176s Preparing to unpack .../161-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2176s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2176s Selecting previously unselected package libjs-sphinxdoc. 2176s Preparing to unpack .../162-libjs-sphinxdoc_7.4.7-4_all.deb ... 2176s Unpacking libjs-sphinxdoc (7.4.7-4) ... 2176s Selecting previously unselected package libpq5:armhf. 2176s Preparing to unpack .../163-libpq5_17.0-1_armhf.deb ... 2176s Unpacking libpq5:armhf (17.0-1) ... 2176s Selecting previously unselected package libtime-duration-perl. 2176s Preparing to unpack .../164-libtime-duration-perl_1.21-2_all.deb ... 2176s Unpacking libtime-duration-perl (1.21-2) ... 2176s Selecting previously unselected package libtimedate-perl. 2176s Preparing to unpack .../165-libtimedate-perl_2.3300-2_all.deb ... 2176s Unpacking libtimedate-perl (2.3300-2) ... 2176s Selecting previously unselected package libxslt1.1:armhf. 2176s Preparing to unpack .../166-libxslt1.1_1.1.39-0exp1ubuntu1_armhf.deb ... 2176s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 2177s Selecting previously unselected package moreutils. 2177s Preparing to unpack .../167-moreutils_0.69-1_armhf.deb ... 2177s Unpacking moreutils (0.69-1) ... 2177s Selecting previously unselected package python3-ydiff. 2177s Preparing to unpack .../168-python3-ydiff_1.3-1_all.deb ... 2177s Unpacking python3-ydiff (1.3-1) ... 2177s Selecting previously unselected package python3-cdiff. 2177s Preparing to unpack .../169-python3-cdiff_1.3-1_all.deb ... 2177s Unpacking python3-cdiff (1.3-1) ... 2177s Selecting previously unselected package python3-colorama. 2177s Preparing to unpack .../170-python3-colorama_0.4.6-4_all.deb ... 2177s Unpacking python3-colorama (0.4.6-4) ... 2177s Selecting previously unselected package python3-click. 2177s Preparing to unpack .../171-python3-click_8.1.7-2_all.deb ... 2177s Unpacking python3-click (8.1.7-2) ... 2177s Selecting previously unselected package python3-six. 2177s Preparing to unpack .../172-python3-six_1.16.0-7_all.deb ... 2177s Unpacking python3-six (1.16.0-7) ... 2177s Selecting previously unselected package python3-dateutil. 2177s Preparing to unpack .../173-python3-dateutil_2.9.0-2_all.deb ... 2177s Unpacking python3-dateutil (2.9.0-2) ... 2177s Selecting previously unselected package python3-wcwidth. 2177s Preparing to unpack .../174-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2177s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2177s Selecting previously unselected package python3-prettytable. 2177s Preparing to unpack .../175-python3-prettytable_3.10.1-1_all.deb ... 2177s Unpacking python3-prettytable (3.10.1-1) ... 2177s Selecting previously unselected package python3-psutil. 2177s Preparing to unpack .../176-python3-psutil_5.9.8-2build2_armhf.deb ... 2177s Unpacking python3-psutil (5.9.8-2build2) ... 2177s Selecting previously unselected package python3-psycopg2. 2177s Preparing to unpack .../177-python3-psycopg2_2.9.9-2_armhf.deb ... 2177s Unpacking python3-psycopg2 (2.9.9-2) ... 2177s Selecting previously unselected package python3-greenlet. 2177s Preparing to unpack .../178-python3-greenlet_3.0.3-0ubuntu6_armhf.deb ... 2177s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 2177s Selecting previously unselected package python3-dnspython. 2177s Preparing to unpack .../179-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 2177s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 2177s Selecting previously unselected package python3-eventlet. 2177s Preparing to unpack .../180-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 2177s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 2177s Selecting previously unselected package python3-zope.event. 2177s Preparing to unpack .../181-python3-zope.event_5.0-0.1_all.deb ... 2177s Unpacking python3-zope.event (5.0-0.1) ... 2177s Selecting previously unselected package python3-zope.interface. 2177s Preparing to unpack .../182-python3-zope.interface_7.1.1-1_armhf.deb ... 2177s Unpacking python3-zope.interface (7.1.1-1) ... 2177s Selecting previously unselected package python3-gevent. 2177s Preparing to unpack .../183-python3-gevent_24.2.1-1_armhf.deb ... 2177s Unpacking python3-gevent (24.2.1-1) ... 2177s Selecting previously unselected package python3-kerberos. 2177s Preparing to unpack .../184-python3-kerberos_1.1.14-3.1build9_armhf.deb ... 2177s Unpacking python3-kerberos (1.1.14-3.1build9) ... 2177s Selecting previously unselected package python3-pure-sasl. 2177s Preparing to unpack .../185-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 2177s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 2177s Selecting previously unselected package python3-kazoo. 2177s Preparing to unpack .../186-python3-kazoo_2.9.0-2_all.deb ... 2177s Unpacking python3-kazoo (2.9.0-2) ... 2178s Selecting previously unselected package patroni. 2178s Preparing to unpack .../187-patroni_3.3.1-1_all.deb ... 2178s Unpacking patroni (3.3.1-1) ... 2178s Selecting previously unselected package sphinx-rtd-theme-common. 2178s Preparing to unpack .../188-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 2178s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2178s Selecting previously unselected package patroni-doc. 2178s Preparing to unpack .../189-patroni-doc_3.3.1-1_all.deb ... 2178s Unpacking patroni-doc (3.3.1-1) ... 2178s Selecting previously unselected package postgresql-client-16. 2178s Preparing to unpack .../190-postgresql-client-16_16.4-3_armhf.deb ... 2178s Unpacking postgresql-client-16 (16.4-3) ... 2178s Selecting previously unselected package postgresql-16. 2178s Preparing to unpack .../191-postgresql-16_16.4-3_armhf.deb ... 2178s Unpacking postgresql-16 (16.4-3) ... 2178s Selecting previously unselected package postgresql. 2178s Preparing to unpack .../192-postgresql_16+262_all.deb ... 2178s Unpacking postgresql (16+262) ... 2178s Selecting previously unselected package python3-parse. 2178s Preparing to unpack .../193-python3-parse_1.20.2-1_all.deb ... 2178s Unpacking python3-parse (1.20.2-1) ... 2179s Selecting previously unselected package python3-parse-type. 2179s Preparing to unpack .../194-python3-parse-type_0.6.4-1_all.deb ... 2179s Unpacking python3-parse-type (0.6.4-1) ... 2179s Selecting previously unselected package python3-behave. 2179s Preparing to unpack .../195-python3-behave_1.2.6-6_all.deb ... 2179s Unpacking python3-behave (1.2.6-6) ... 2179s Selecting previously unselected package python3-coverage. 2179s Preparing to unpack .../196-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 2179s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2179s Selecting previously unselected package autopkgtest-satdep. 2179s Preparing to unpack .../197-4-autopkgtest-satdep.deb ... 2179s Unpacking autopkgtest-satdep (0) ... 2179s Setting up postgresql-client-common (262) ... 2179s Setting up libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 2179s Setting up libxcb-dri3-0:armhf (1.17.0-2) ... 2179s Setting up liblcms2-2:armhf (2.16-2) ... 2179s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 2179s Setting up libpixman-1-0:armhf (0.44.0-3) ... 2179s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 2179s Setting up libjackson2-annotations-java (2.14.0-1) ... 2179s Setting up libllvm19:armhf (1:19.1.2-1ubuntu1) ... 2179s Setting up libsharpyuv0:armhf (1.4.0-0.1) ... 2179s Setting up libwayland-server0:armhf (1.23.0-1) ... 2179s Setting up libx11-xcb1:armhf (2:1.8.10-2) ... 2179s Setting up libslf4j-java (1.7.32-1) ... 2179s Setting up fonts-lato (2.015-1) ... 2179s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 2179s Setting up libxdamage1:armhf (1:1.1.6-1build1) ... 2179s Setting up libxcb-xfixes0:armhf (1.17.0-2) ... 2179s Setting up liblerc4:armhf (4.0.0+ds-4ubuntu2) ... 2179s Setting up libjsr305-java (0.1~+svn49-11) ... 2179s Setting up hicolor-icon-theme (0.18-1) ... 2179s Setting up libxi6:armhf (2:1.8.2-1) ... 2179s Setting up java-common (0.76) ... 2179s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ... 2179s Setting up libdatrie1:armhf (0.2.13-3build1) ... 2179s Setting up libcommons-cli-java (1.6.0-1) ... 2179s Setting up libio-pty-perl (1:1.20-1build3) ... 2179s Setting up python3-colorama (0.4.6-4) ... 2179s Setting up libxcb-render0:armhf (1.17.0-2) ... 2179s Setting up python3-zope.event (5.0-0.1) ... 2179s Setting up python3-zope.interface (7.1.1-1) ... 2180s Setting up libdrm-radeon1:armhf (2.4.123-1) ... 2180s Setting up libglvnd0:armhf (1.7.0-1build1) ... 2180s Setting up libxcb-glx0:armhf (1.17.0-2) ... 2180s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 2180s Setting up python3-ydiff (1.3-1) ... 2180s Setting up libasm-java (9.7.1-1) ... 2180s Setting up x11-common (1:7.7+23ubuntu3) ... 2180s Setting up libpq5:armhf (17.0-1) ... 2180s Setting up libdeflate0:armhf (1.22-1) ... 2180s Setting up python3-kerberos (1.1.14-3.1build9) ... 2180s Setting up liblog4j1.2-java (1.2.17-11) ... 2180s Setting up libel-api-java (3.0.0-3) ... 2180s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2180s Setting up libxcb-shm0:armhf (1.17.0-2) ... 2180s Setting up python3-click (8.1.7-2) ... 2181s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 2181s Setting up libjbig0:armhf (2.1-6.1ubuntu2) ... 2181s Setting up libcolord2:armhf (1.4.7-1build2) ... 2181s Setting up python3-psutil (5.9.8-2build2) ... 2181s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 2181s Setting up libxxf86vm1:armhf (1:1.1.4-1build4) ... 2181s Setting up libsnappy1v5:armhf (1.2.1-1) ... 2181s Setting up libxcb-present0:armhf (1.17.0-2) ... 2181s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 2181s Setting up libdconf1:armhf (0.40.0-4build2) ... 2181s Setting up libjctools-java (2.0.2-1) ... 2181s Setting up libdropwizard-metrics-java (3.2.6-1) ... 2181s Setting up python3-six (1.16.0-7) ... 2181s Setting up libasound2-data (1.2.12-1) ... 2181s Setting up libasound2t64:armhf (1.2.12-1) ... 2181s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2181s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ... 2181s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 2181s Setting up libepoxy0:armhf (1.5.10-2) ... 2181s Setting up ssl-cert (1.1.2ubuntu2) ... 2182s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2183s Setting up libxfixes3:armhf (1:6.0.0-2build1) ... 2183s Setting up libxcb-sync1:armhf (1.17.0-2) ... 2183s Setting up libapache-pom-java (33-2) ... 2183s Setting up libavahi-common-data:armhf (0.8-13ubuntu6) ... 2183s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 2183s Setting up libatspi2.0-0t64:armhf (2.54.0-1) ... 2183s Setting up libwebsocket-api-java (1.1-2) ... 2183s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 2183s Setting up libxinerama1:armhf (2:1.1.4-3build1) ... 2183s Setting up fonts-dejavu-mono (2.37-8) ... 2183s Setting up libcares2:armhf (1.34.2-1) ... 2183s Setting up libxrandr2:armhf (2:1.5.4-1) ... 2183s Setting up python3-psycopg2 (2.9.9-2) ... 2183s Setting up fonts-dejavu-core (2.37-8) ... 2183s Setting up libipc-run-perl (20231003.0-2) ... 2183s Setting up libpcsclite1:armhf (2.3.0-1) ... 2183s Setting up libjpeg-turbo8:armhf (2.1.5-2ubuntu2) ... 2183s Setting up libactivation-java (1.2.0-2) ... 2183s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 2183s Setting up libhamcrest-java (2.2-2) ... 2183s Setting up libglapi-mesa:armhf (24.2.3-1ubuntu1) ... 2183s Setting up libjsp-api-java (2.3.4-3) ... 2183s Setting up libvulkan1:armhf (1.3.296.0-1) ... 2183s Setting up libtime-duration-perl (1.21-2) ... 2183s Setting up libwebp7:armhf (1.4.0-0.1) ... 2183s Setting up libtimedate-perl (2.3300-2) ... 2183s Setting up libxcb-dri2-0:armhf (1.17.0-2) ... 2183s Setting up libgif7:armhf (5.2.2-1ubuntu1) ... 2183s Setting up libxshmfence1:armhf (1.3-1build5) ... 2183s Setting up libmail-java (1.6.5-3) ... 2183s Setting up at-spi2-common (2.54.0-1) ... 2183s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 2184s Setting up libnetty-java (1:4.1.48-10) ... 2184s Setting up libxcb-randr0:armhf (1.17.0-2) ... 2184s Setting up python3-parse (1.20.2-1) ... 2184s Setting up libapr1t64:armhf (1.7.2-3.2ubuntu1) ... 2184s Setting up libjson-perl (4.10000-1) ... 2184s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 2184s Setting up libservlet-api-java (4.0.1-2) ... 2184s Setting up libjackson2-core-java (2.14.1-1) ... 2184s Setting up libharfbuzz0b:armhf (10.0.1-1) ... 2184s Setting up libthai-data (0.1.29-2build1) ... 2184s Setting up python3-dateutil (2.9.0-2) ... 2184s Setting up libjffi-jni:armhf (1.3.13+ds-1) ... 2184s Setting up libwayland-egl1:armhf (1.23.0-1) ... 2184s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2184s Setting up ca-certificates-java (20240118) ... 2184s No JRE found. Skipping Java certificates setup. 2184s Setting up python3-prettytable (3.10.1-1) ... 2184s Setting up libsnappy-jni (1.1.10.5-2) ... 2184s Setting up libxcomposite1:armhf (1:0.4.6-1) ... 2184s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2184s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2184s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2184s Setting up libdrm-amdgpu1:armhf (2.4.123-1) ... 2184s Setting up libjnr-constants-java (0.10.4-2) ... 2184s Setting up libwayland-client0:armhf (1.23.0-1) ... 2184s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 2184s Setting up libjaxb-api-java (2.3.1-1) ... 2184s Setting up libjffi-java (1.3.13+ds-1) ... 2184s Setting up mesa-libgallium:armhf (24.2.3-1ubuntu1) ... 2184s Setting up libjetty9-java (9.4.56-1) ... 2184s Setting up moreutils (0.69-1) ... 2184s Setting up libatk1.0-0t64:armhf (2.54.0-1) ... 2185s Setting up openjdk-21-jre-headless:armhf (21.0.5+11-1) ... 2185s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/java to provide /usr/bin/java (java) in auto mode 2185s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 2185s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 2185s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 2185s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 2185s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 2185s Setting up libgbm1:armhf (24.2.3-1ubuntu1) ... 2185s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 2185s Setting up libxtst6:armhf (2:1.2.3-1.1build1) ... 2185s Setting up libxcursor1:armhf (1:1.2.2-1) ... 2185s Setting up postgresql-client-16 (16.4-3) ... 2186s 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 2186s Setting up python3-cdiff (1.3-1) ... 2186s Setting up libgl1-mesa-dri:armhf (24.2.3-1ubuntu1) ... 2186s Setting up libcommons-parent-java (56-1) ... 2186s Setting up libavahi-common3:armhf (0.8-13ubuntu6) ... 2186s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 2186s Setting up dconf-service (0.40.0-4build2) ... 2186s Setting up python3-gevent (24.2.1-1) ... 2186s Setting up libjackson2-databind-java (2.14.0-1) ... 2186s Setting up libthai0:armhf (0.1.29-2build1) ... 2186s Setting up python3-parse-type (0.6.4-1) ... 2186s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 2187s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 2187s Setting up python3-kazoo (2.9.0-2) ... 2187s Setting up postgresql-common (262) ... 2188s 2188s Creating config file /etc/postgresql-common/createcluster.conf with new version 2188s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2188s Removing obsolete dictionary files: 2189s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2189s Setting up libjs-sphinxdoc (7.4.7-4) ... 2189s Setting up libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 2189s Setting up libwayland-cursor0:armhf (1.23.0-1) ... 2189s Setting up libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-1) ... 2189s Setting up python3-behave (1.2.6-6) ... 2189s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2189s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2189s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2189s """Registers a custom type that will be available to "parse" 2189s Setting up libsnappy-java (1.1.10.5-2) ... 2189s Setting up libfontconfig1:armhf (2.15.0-1.1ubuntu2) ... 2189s Setting up patroni (3.3.1-1) ... 2189s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2190s Setting up libavahi-client3:armhf (0.8-13ubuntu6) ... 2190s Setting up libjnr-ffi-java (2.2.15-2) ... 2190s Setting up libatk-bridge2.0-0t64:armhf (2.54.0-1) ... 2190s Setting up gtk-update-icon-cache (4.16.5+ds-1) ... 2190s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 2192s Regenerating fonts cache... done. 2192s Setting up libglx-mesa0:armhf (24.2.3-1ubuntu1) ... 2192s Setting up postgresql-16 (16.4-3) ... 2192s Creating new PostgreSQL cluster 16/main ... 2192s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2193s The files belonging to this database system will be owned by user "postgres". 2193s This user must also own the server process. 2193s 2193s The database cluster will be initialized with locale "C.UTF-8". 2193s The default database encoding has accordingly been set to "UTF8". 2193s The default text search configuration will be set to "english". 2193s 2193s Data page checksums are disabled. 2193s 2193s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2193s creating subdirectories ... ok 2193s selecting dynamic shared memory implementation ... posix 2193s selecting default max_connections ... 100 2193s selecting default shared_buffers ... 128MB 2193s selecting default time zone ... Etc/UTC 2193s creating configuration files ... ok 2193s running bootstrap script ... ok 2193s performing post-bootstrap initialization ... ok 2193s syncing data to disk ... ok 2197s Setting up libglx0:armhf (1.7.0-1build1) ... 2197s Setting up libspring-core-java (4.3.30-2) ... 2197s Setting up dconf-gsettings-backend:armhf (0.40.0-4build2) ... 2197s Setting up libcommons-io-java (2.17.0-1) ... 2197s Setting up patroni-doc (3.3.1-1) ... 2197s Setting up libpango-1.0-0:armhf (1.54.0+ds-3) ... 2197s Setting up libcairo2:armhf (1.18.2-2) ... 2197s Setting up libjnr-enxio-java (0.32.16-1) ... 2197s Setting up libgl1:armhf (1.7.0-1build1) ... 2197s Setting up libcairo-gobject2:armhf (1.18.2-2) ... 2197s Setting up postgresql (16+262) ... 2197s Setting up libpangoft2-1.0-0:armhf (1.54.0+ds-3) ... 2197s Setting up libcups2t64:armhf (2.4.10-1ubuntu2) ... 2197s Setting up libgtk-3-common (3.24.43-3ubuntu2) ... 2197s Setting up libjnr-posix-java (3.1.18-1) ... 2197s Setting up libpangocairo-1.0-0:armhf (1.54.0+ds-3) ... 2197s Setting up libspring-beans-java (4.3.30-2) ... 2197s Setting up libjnr-unixsocket-java (0.38.21-2) ... 2197s Setting up libjetty9-extra-java (9.4.56-1) ... 2197s Setting up libguava-java (32.0.1-1) ... 2197s Setting up adwaita-icon-theme (47.0-2) ... 2197s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 2197s Setting up liberror-prone-java (2.18.0-1) ... 2197s Setting up humanity-icon-theme (0.6.16) ... 2197s Setting up ubuntu-mono (24.04-0ubuntu1) ... 2197s Processing triggers for man-db (2.12.1-3) ... 2199s Processing triggers for libglib2.0-0t64:armhf (2.82.1-0ubuntu1) ... 2199s Setting up libgtk-3-0t64:armhf (3.24.43-3ubuntu2) ... 2199s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2199s Processing triggers for ca-certificates-java (20240118) ... 2199s Adding debian:ACCVRAIZ1.pem 2199s Adding debian:AC_RAIZ_FNMT-RCM.pem 2199s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 2199s Adding debian:ANF_Secure_Server_Root_CA.pem 2199s Adding debian:Actalis_Authentication_Root_CA.pem 2199s Adding debian:AffirmTrust_Commercial.pem 2199s Adding debian:AffirmTrust_Networking.pem 2199s Adding debian:AffirmTrust_Premium.pem 2199s Adding debian:AffirmTrust_Premium_ECC.pem 2199s Adding debian:Amazon_Root_CA_1.pem 2199s Adding debian:Amazon_Root_CA_2.pem 2199s Adding debian:Amazon_Root_CA_3.pem 2199s Adding debian:Amazon_Root_CA_4.pem 2199s Adding debian:Atos_TrustedRoot_2011.pem 2199s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 2199s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 2199s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 2199s Adding debian:BJCA_Global_Root_CA1.pem 2199s Adding debian:BJCA_Global_Root_CA2.pem 2199s Adding debian:Baltimore_CyberTrust_Root.pem 2199s Adding debian:Buypass_Class_2_Root_CA.pem 2199s Adding debian:Buypass_Class_3_Root_CA.pem 2199s Adding debian:CA_Disig_Root_R2.pem 2199s Adding debian:CFCA_EV_ROOT.pem 2199s Adding debian:COMODO_Certification_Authority.pem 2199s Adding debian:COMODO_ECC_Certification_Authority.pem 2199s Adding debian:COMODO_RSA_Certification_Authority.pem 2199s Adding debian:Certainly_Root_E1.pem 2199s Adding debian:Certainly_Root_R1.pem 2199s Adding debian:Certigna.pem 2199s Adding debian:Certigna_Root_CA.pem 2199s Adding debian:Certum_EC-384_CA.pem 2199s Adding debian:Certum_Trusted_Network_CA.pem 2199s Adding debian:Certum_Trusted_Network_CA_2.pem 2199s Adding debian:Certum_Trusted_Root_CA.pem 2199s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 2199s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 2199s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 2199s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 2199s Adding debian:Comodo_AAA_Services_root.pem 2199s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 2199s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 2199s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 2199s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 2199s Adding debian:DigiCert_Assured_ID_Root_CA.pem 2199s Adding debian:DigiCert_Assured_ID_Root_G2.pem 2199s Adding debian:DigiCert_Assured_ID_Root_G3.pem 2199s Adding debian:DigiCert_Global_Root_CA.pem 2199s Adding debian:DigiCert_Global_Root_G2.pem 2199s Adding debian:DigiCert_Global_Root_G3.pem 2199s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 2199s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 2199s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 2199s Adding debian:DigiCert_Trusted_Root_G4.pem 2199s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 2199s Adding debian:Entrust_Root_Certification_Authority.pem 2199s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 2199s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 2199s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 2199s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 2199s Adding debian:GLOBALTRUST_2020.pem 2199s Adding debian:GTS_Root_R1.pem 2199s Adding debian:GTS_Root_R2.pem 2199s Adding debian:GTS_Root_R3.pem 2199s Adding debian:GTS_Root_R4.pem 2199s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 2199s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 2199s Adding debian:GlobalSign_Root_CA.pem 2199s Adding debian:GlobalSign_Root_CA_-_R3.pem 2199s Adding debian:GlobalSign_Root_CA_-_R6.pem 2199s Adding debian:GlobalSign_Root_E46.pem 2199s Adding debian:GlobalSign_Root_R46.pem 2199s Adding debian:Go_Daddy_Class_2_CA.pem 2199s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 2199s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 2199s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 2199s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 2199s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 2199s Adding debian:HiPKI_Root_CA_-_G1.pem 2199s Adding debian:Hongkong_Post_Root_CA_3.pem 2199s Adding debian:ISRG_Root_X1.pem 2199s Adding debian:ISRG_Root_X2.pem 2199s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 2199s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 2199s Adding debian:Izenpe.com.pem 2199s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 2199s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 2199s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 2199s Adding debian:NAVER_Global_Root_Certification_Authority.pem 2199s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 2199s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 2199s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 2199s Adding debian:QuoVadis_Root_CA_1_G3.pem 2199s Adding debian:QuoVadis_Root_CA_2.pem 2199s Adding debian:QuoVadis_Root_CA_2_G3.pem 2199s Adding debian:QuoVadis_Root_CA_3.pem 2199s Adding debian:QuoVadis_Root_CA_3_G3.pem 2199s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 2199s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 2199s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 2199s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 2199s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 2199s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 2199s Adding debian:SZAFIR_ROOT_CA2.pem 2199s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 2199s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 2199s Adding debian:SecureSign_RootCA11.pem 2199s Adding debian:SecureTrust_CA.pem 2199s Adding debian:Secure_Global_CA.pem 2199s Adding debian:Security_Communication_ECC_RootCA1.pem 2199s Adding debian:Security_Communication_RootCA2.pem 2199s Adding debian:Security_Communication_RootCA3.pem 2199s Adding debian:Security_Communication_Root_CA.pem 2199s Adding debian:Starfield_Class_2_CA.pem 2199s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 2199s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 2199s Adding debian:SwissSign_Gold_CA_-_G2.pem 2199s Adding debian:SwissSign_Silver_CA_-_G2.pem 2199s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 2199s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 2199s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 2199s Adding debian:TWCA_Global_Root_CA.pem 2199s Adding debian:TWCA_Root_Certification_Authority.pem 2199s Adding debian:TeliaSonera_Root_CA_v1.pem 2199s Adding debian:Telia_Root_CA_v2.pem 2199s Adding debian:TrustAsia_Global_Root_CA_G3.pem 2199s Adding debian:TrustAsia_Global_Root_CA_G4.pem 2199s Adding debian:Trustwave_Global_Certification_Authority.pem 2199s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 2199s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 2199s Adding debian:TunTrust_Root_CA.pem 2199s Adding debian:UCA_Extended_Validation_Root.pem 2199s Adding debian:UCA_Global_G2_Root.pem 2199s Adding debian:USERTrust_ECC_Certification_Authority.pem 2199s Adding debian:USERTrust_RSA_Certification_Authority.pem 2199s Adding debian:XRamp_Global_CA_Root.pem 2199s Adding debian:certSIGN_ROOT_CA.pem 2199s Adding debian:certSIGN_Root_CA_G2.pem 2199s Adding debian:e-Szigno_Root_CA_2017.pem 2199s Adding debian:ePKI_Root_Certification_Authority.pem 2199s Adding debian:emSign_ECC_Root_CA_-_C3.pem 2199s Adding debian:emSign_ECC_Root_CA_-_G3.pem 2199s Adding debian:emSign_Root_CA_-_C1.pem 2199s Adding debian:emSign_Root_CA_-_G1.pem 2199s Adding debian:vTrus_ECC_Root_CA.pem 2199s Adding debian:vTrus_Root_CA.pem 2199s done. 2200s Setting up openjdk-21-jre:armhf (21.0.5+11-1) ... 2200s Setting up junit4 (4.13.2-5) ... 2200s Setting up default-jre-headless (2:1.21-76) ... 2200s Setting up default-jre (2:1.21-76) ... 2200s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 2200s Setting up libzookeeper-java (3.9.2-2) ... 2200s Setting up zookeeper (3.9.2-2) ... 2200s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 2200s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 2200s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 2200s Setting up zookeeperd (3.9.2-2) ... 2200s Setting up autopkgtest-satdep (0) ... 2236s (Reading database ... 79760 files and directories currently installed.) 2236s Removing autopkgtest-satdep (0) ... 2248s autopkgtest [19:29:22]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 2248s autopkgtest [19:29:22]: test acceptance-zookeeper: [----------------------- 2256s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2256s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2256s ++ ls -1r /usr/lib/postgresql/ 2256s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2256s + '[' 16 == 10 -o 16 == 11 ']' 2256s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2256s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm 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' 2256s Nov 13 19:29:30 Feature: basic replication # features/basic_replication.feature:1 2256s Nov 13 19:29:30 We should check that the basic bootstrapping, replication and failover works. 2256s Nov 13 19:29:30 Scenario: check replication of a single table # features/basic_replication.feature:4 2256s Nov 13 19:29:30 Given I start postgres0 # features/steps/basic_replication.py:8 2261s Nov 13 19:29:35 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2261s Nov 13 19:29:35 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2261s Nov 13 19:29:35 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 2261s Nov 13 19:29:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 2261s Nov 13 19:29:35 When I start postgres1 # features/steps/basic_replication.py:8 2265s Nov 13 19:29:39 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2270s Nov 13 19:29:44 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2270s Nov 13 19:29:44 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2271s Nov 13 19:29:44 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2272s Nov 13 19:29:45 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2272s Nov 13 19:29:45 2272s Nov 13 19:29:45 Scenario: check restart of sync replica # features/basic_replication.feature:17 2272s Nov 13 19:29:45 Given I shut down postgres2 # features/steps/basic_replication.py:29 2273s Nov 13 19:29:46 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2273s Nov 13 19:29:46 When I start postgres2 # features/steps/basic_replication.py:8 2276s Nov 13 19:29:50 And I shut down postgres1 # features/steps/basic_replication.py:29 2279s Nov 13 19:29:53 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2280s Nov 13 19:29:54 When I start postgres1 # features/steps/basic_replication.py:8 2284s Nov 13 19:29:57 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2284s Nov 13 19:29:58 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2284s Nov 13 19:29:58 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2284s Nov 13 19:29:58 2284s Nov 13 19:29:58 Scenario: check stuck sync replica # features/basic_replication.feature:28 2284s Nov 13 19:29:58 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 2284s Nov 13 19:29:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 2284s Nov 13 19:29:58 And I create table on postgres0 # features/steps/basic_replication.py:73 2284s Nov 13 19:29:58 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2285s Nov 13 19:29:59 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2285s Nov 13 19:29:59 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2285s Nov 13 19:29:59 And I load data on postgres0 # features/steps/basic_replication.py:84 2285s Nov 13 19:29:59 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2288s Nov 13 19:30:02 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2288s Nov 13 19:30:02 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2290s Nov 13 19:30:04 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2290s Nov 13 19:30:04 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 2290s Nov 13 19:30:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2290s Nov 13 19:30:04 And I drop table on postgres0 # features/steps/basic_replication.py:73 2290s Nov 13 19:30:04 2290s Nov 13 19:30:04 Scenario: check multi sync replication # features/basic_replication.feature:44 2290s Nov 13 19:30:04 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 2290s Nov 13 19:30:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2290s Nov 13 19:30:04 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2294s Nov 13 19:30:08 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2295s Nov 13 19:30:09 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2295s Nov 13 19:30:09 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 2295s Nov 13 19:30:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2295s Nov 13 19:30:09 And I shut down postgres1 # features/steps/basic_replication.py:29 2298s Nov 13 19:30:12 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2299s Nov 13 19:30:13 When I start postgres1 # features/steps/basic_replication.py:8 2302s Nov 13 19:30:16 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2302s Nov 13 19:30:16 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2302s Nov 13 19:30:16 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2302s Nov 13 19:30:16 2302s Nov 13 19:30:16 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2302s Nov 13 19:30:16 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2304s Nov 13 19:30:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2304s Nov 13 19:30:18 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2306s Nov 13 19:30:20 And I shut down postgres0 # features/steps/basic_replication.py:29 2307s Nov 13 19:30:21 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2308s Nov 13 19:30:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2308s Nov 13 19:30:22 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2327s Nov 13 19:30:41 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2329s Nov 13 19:30:43 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2329s Nov 13 19:30:43 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 2329s Nov 13 19:30:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 2329s Nov 13 19:30:43 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2329s Nov 13 19:30:43 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2333s Nov 13 19:30: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 2334s Nov 13 19:30:47 2334s Nov 13 19:30:47 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2334s Nov 13 19:30:47 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2334s Nov 13 19:30:48 And I start postgres0 # features/steps/basic_replication.py:8 2334s Nov 13 19:30:48 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2342s Nov 13 19:30:56 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2342s Nov 13 19:30:56 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2342s Nov 13 19:30:56 2342s Nov 13 19:30:56 @reject-duplicate-name 2342s Nov 13 19:30:56 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2342s Nov 13 19:30:56 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 2344s Nov 13 19:30:58 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 2348s Nov 13 19:31:02 2348s Nov 13 19:31:02 Feature: cascading replication # features/cascading_replication.feature:1 2348s Nov 13 19:31:02 We should check that patroni can do base backup and streaming from the replica 2348s Nov 13 19:31:02 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2348s Nov 13 19:31:02 Given I start postgres0 # features/steps/basic_replication.py:8 2352s Nov 13 19:31:06 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2353s Nov 13 19:31:07 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2357s Nov 13 19:31:11 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2358s Nov 13 19:31:12 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2358s Nov 13 19:31:12 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2358s Nov 13 19:31:12 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2358s Nov 13 19:31:12 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2362s Nov 13 19:31:16 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2363s Nov 13 19:31:17 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2369s Nov 13 19:31:23 2369s SKIP FEATURE citus: Citus extenstion isn't available 2369s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2369s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2369s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2369s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2369s 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 2369s Nov 13 19:31:23 Feature: citus # features/citus.feature:1 2369s Nov 13 19:31:23 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2369s Nov 13 19:31:23 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2369s Nov 13 19:31:23 Given I start postgres0 in citus group 0 # None 2369s Nov 13 19:31:23 And I start postgres2 in citus group 1 # None 2369s Nov 13 19:31:23 Then postgres0 is a leader in a group 0 after 10 seconds # None 2369s Nov 13 19:31:23 And postgres2 is a leader in a group 1 after 10 seconds # None 2369s Nov 13 19:31:23 When I start postgres1 in citus group 0 # None 2369s Nov 13 19:31:23 And I start postgres3 in citus group 1 # None 2369s Nov 13 19:31:23 Then replication works from postgres0 to postgres1 after 15 seconds # None 2369s Nov 13 19:31:23 Then replication works from postgres2 to postgres3 after 15 seconds # None 2369s Nov 13 19:31:23 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2369s Nov 13 19:31:23 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2369s Nov 13 19:31:23 2369s Nov 13 19:31:23 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2369s Nov 13 19:31:23 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2369s Nov 13 19:31:23 Then postgres1 role is the primary after 10 seconds # None 2369s Nov 13 19:31:23 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2369s Nov 13 19:31:23 And replication works from postgres1 to postgres0 after 15 seconds # None 2369s Nov 13 19:31:23 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2369s Nov 13 19:31:23 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2369s Nov 13 19:31:23 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2369s Nov 13 19:31:23 Then postgres0 role is the primary after 10 seconds # None 2369s Nov 13 19:31:23 And replication works from postgres0 to postgres1 after 15 seconds # None 2369s Nov 13 19:31:23 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2369s Nov 13 19:31:23 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2369s Nov 13 19:31:23 2369s Nov 13 19:31:23 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2369s Nov 13 19:31:23 Given I create a distributed table on postgres0 # None 2369s Nov 13 19:31:23 And I start a thread inserting data on postgres0 # None 2369s Nov 13 19:31:23 When I run patronictl.py switchover batman --group 1 --force # None 2369s Nov 13 19:31:23 Then I receive a response returncode 0 # None 2369s Nov 13 19:31:23 And postgres3 role is the primary after 10 seconds # None 2369s Nov 13 19:31:23 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2369s Nov 13 19:31:23 And replication works from postgres3 to postgres2 after 15 seconds # None 2369s Nov 13 19:31:23 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2369s Nov 13 19:31:23 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2369s Nov 13 19:31:23 And a thread is still alive # None 2369s Nov 13 19:31:23 When I run patronictl.py switchover batman --group 1 --force # None 2369s Nov 13 19:31:23 Then I receive a response returncode 0 # None 2369s Nov 13 19:31:23 And postgres2 role is the primary after 10 seconds # None 2369s Nov 13 19:31:23 And replication works from postgres2 to postgres3 after 15 seconds # None 2369s Nov 13 19:31:23 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2369s Nov 13 19:31:23 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2369s Nov 13 19:31:23 And a thread is still alive # None 2369s Nov 13 19:31:23 When I stop a thread # None 2369s Nov 13 19:31:23 Then a distributed table on postgres0 has expected rows # None 2369s Nov 13 19:31:23 2369s Nov 13 19:31:23 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2369s Nov 13 19:31:23 Given I cleanup a distributed table on postgres0 # None 2369s Nov 13 19:31:23 And I start a thread inserting data on postgres0 # None 2369s Nov 13 19:31:23 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2369s Nov 13 19:31:23 Then I receive a response returncode 0 # None 2369s Nov 13 19:31:23 And postgres2 role is the primary after 10 seconds # None 2369s Nov 13 19:31:23 And replication works from postgres2 to postgres3 after 15 seconds # None 2369s Nov 13 19:31:23 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2369s Nov 13 19:31:23 And a thread is still alive # None 2369s Nov 13 19:31:23 When I stop a thread # None 2369s Nov 13 19:31:23 Then a distributed table on postgres0 has expected rows # None 2369s Nov 13 19:31:23 2369s Nov 13 19:31:23 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2369s Nov 13 19:31:23 Given I start postgres4 in citus group 2 # None 2369s Nov 13 19:31:23 Then postgres4 is a leader in a group 2 after 10 seconds # None 2369s Nov 13 19:31:23 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2369s Nov 13 19:31:23 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2369s Nov 13 19:31:23 Then I receive a response returncode 0 # None 2369s Nov 13 19:31:23 And I receive a response output "+ttl: 20" # None 2369s Nov 13 19:31:23 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2369s Nov 13 19:31:23 When I shut down postgres4 # None 2369s Nov 13 19:31:23 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2369s Nov 13 19:31:23 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2369s Nov 13 19:31:23 Then a transaction finishes in 20 seconds # None 2369s Nov 13 19:31:23 2369s Nov 13 19:31:23 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2369s Nov 13 19:31:23 We should check that patroni can bootstrap a new cluster from a backup 2369s Nov 13 19:31:23 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2369s Nov 13 19:31:23 Given I start postgres0 # features/steps/basic_replication.py:8 2373s Nov 13 19:31:27 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2373s Nov 13 19:31:27 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2373s Nov 13 19:31:27 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2379s Nov 13 19:31:32 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2380s Nov 13 19:31:33 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2380s Nov 13 19:31:33 2380s Nov 13 19:31:33 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2380s Nov 13 19:31:33 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2380s Nov 13 19:31:34 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2381s Nov 13 19:31:35 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2387s Nov 13 19:31:41 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2387s Nov 13 19:31:41 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2393s Nov 13 19:31:47 2393s Nov 13 19:31:47 Feature: ignored slots # features/ignored_slots.feature:1 2393s Nov 13 19:31:47 2393s Nov 13 19:31:47 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2393s Nov 13 19:31:47 Given I start postgres1 # features/steps/basic_replication.py:8 2398s Nov 13 19:31:52 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2398s Nov 13 19:31:52 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2398s Nov 13 19:31:52 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 2399s Nov 13 19:31:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2399s Nov 13 19:31:52 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2399s Nov 13 19:31:53 When I shut down postgres1 # features/steps/basic_replication.py:29 2401s Nov 13 19:31:55 And I start postgres1 # features/steps/basic_replication.py:8 2404s Nov 13 19:31:58 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2404s Nov 13 19:31:58 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2405s Nov 13 19:31:59 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2405s Nov 13 19:31:59 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2405s Nov 13 19:31:59 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2405s Nov 13 19:31:59 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2405s Nov 13 19:31:59 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2405s Nov 13 19:31:59 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2405s Nov 13 19:31:59 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2405s Nov 13 19:31:59 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2405s Nov 13 19:31:59 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2405s Nov 13 19:31:59 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2405s Nov 13 19:31:59 When I start postgres0 # features/steps/basic_replication.py:8 2409s Nov 13 19:32:03 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2409s Nov 13 19:32:03 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2409s Nov 13 19:32:03 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2410s Nov 13 19:32:04 When I shut down postgres1 # features/steps/basic_replication.py:29 2412s Nov 13 19:32:06 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2413s Nov 13 19:32:07 When I start postgres1 # features/steps/basic_replication.py:8 2416s Nov 13 19:32:10 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2416s Nov 13 19:32:10 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2416s Nov 13 19:32:10 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2418s Nov 13 19:32: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 2418s Nov 13 19:32: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 2418s Nov 13 19:32: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 2418s Nov 13 19:32: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 2418s Nov 13 19:32:12 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2418s Nov 13 19:32:12 When I shut down postgres0 # features/steps/basic_replication.py:29 2420s Nov 13 19:32:14 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2421s Nov 13 19:32:15 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2421s Nov 13 19:32:15 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2421s Nov 13 19:32:15 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2421s Nov 13 19:32:15 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2423s Nov 13 19:32:17 2423s Nov 13 19:32:17 Feature: nostream node # features/nostream_node.feature:1 2423s Nov 13 19:32:17 2423s Nov 13 19:32:17 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2423s Nov 13 19:32:17 When I start postgres0 # features/steps/basic_replication.py:8 2427s Nov 13 19:32:21 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2431s Nov 13 19:32:25 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2432s Nov 13 19:32:26 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2437s Nov 13 19:32:31 2437s Nov 13 19:32:31 @slot-advance 2437s Nov 13 19:32:31 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2437s Nov 13 19:32:31 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 2437s Nov 13 19:32:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 2437s Nov 13 19:32:31 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2439s Nov 13 19:32:33 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2440s Nov 13 19:32:34 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2444s Nov 13 19:32:38 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2445s Nov 13 19:32:39 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2445s Nov 13 19:32:39 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2451s Nov 13 19:32:44 2451s Nov 13 19:32:44 Feature: patroni api # features/patroni_api.feature:1 2451s Nov 13 19:32:44 We should check that patroni correctly responds to valid and not-valid API requests. 2451s Nov 13 19:32:44 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2451s Nov 13 19:32:44 Given I start postgres0 # features/steps/basic_replication.py:8 2455s Nov 13 19:32:49 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2456s Nov 13 19:32:50 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2456s Nov 13 19:32:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 2456s Nov 13 19:32:50 And I receive a response state running # features/steps/patroni_api.py:98 2456s Nov 13 19:32:50 And I receive a response role master # features/steps/patroni_api.py:98 2456s Nov 13 19:32:50 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2456s Nov 13 19:32:50 Then I receive a response code 503 # features/steps/patroni_api.py:98 2456s Nov 13 19:32:50 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2456s Nov 13 19:32:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 2456s Nov 13 19:32:50 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2456s Nov 13 19:32:50 Then I receive a response code 503 # features/steps/patroni_api.py:98 2456s Nov 13 19:32:50 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2456s Nov 13 19:32:50 Then I receive a response code 503 # features/steps/patroni_api.py:98 2456s Nov 13 19:32:50 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2456s Nov 13 19:32:50 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2457s Nov 13 19:32:51 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2457s Nov 13 19:32:51 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2457s Nov 13 19:32:51 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2457s Nov 13 19:32:51 Then I receive a response code 412 # features/steps/patroni_api.py:98 2457s Nov 13 19:32:51 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2457s Nov 13 19:32:51 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2458s Nov 13 19:32:51 Then I receive a response code 400 # features/steps/patroni_api.py:98 2458s Nov 13 19:32:51 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2458s Nov 13 19:32:52 Then I receive a response code 400 # features/steps/patroni_api.py:98 2458s Nov 13 19:32:52 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2458s Nov 13 19:32:52 2458s Nov 13 19:32:52 Scenario: check local configuration reload # features/patroni_api.feature:32 2458s Nov 13 19:32:52 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2458s Nov 13 19:32:52 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2458s Nov 13 19:32:52 Then I receive a response code 202 # features/steps/patroni_api.py:98 2458s Nov 13 19:32:52 2458s Nov 13 19:32:52 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2458s Nov 13 19:32:52 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 2458s Nov 13 19:32:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2458s Nov 13 19:32:52 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2460s Nov 13 19:32:54 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2460s Nov 13 19:32:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 2460s Nov 13 19:32:54 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2460s Nov 13 19:32:54 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2460s Nov 13 19:32:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 2460s Nov 13 19:32:54 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2460s Nov 13 19:32:54 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2464s Nov 13 19:32:58 2464s Nov 13 19:32:58 Scenario: check the scheduled restart # features/patroni_api.feature:49 2464s Nov 13 19:32:58 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2465s Nov 13 19:32:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2465s Nov 13 19:32:59 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2465s Nov 13 19:32:59 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2465s Nov 13 19:32:59 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 2466s Nov 13 19:32:59 Then I receive a response code 202 # features/steps/patroni_api.py:98 2466s Nov 13 19:32:59 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2474s Nov 13 19:33:07 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2474s Nov 13 19:33:08 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 2474s Nov 13 19:33:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 2474s Nov 13 19:33:08 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 2480s Nov 13 19:33:14 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2481s Nov 13 19:33:15 2481s Nov 13 19:33:15 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2481s Nov 13 19:33:15 Given I start postgres1 # features/steps/basic_replication.py:8 2485s Nov 13 19:33:19 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2486s Nov 13 19:33:20 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2488s Nov 13 19:33:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2488s Nov 13 19:33:22 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2488s Nov 13 19:33:22 waiting for server to shut down.... done 2488s Nov 13 19:33:22 server stopped 2488s Nov 13 19:33:22 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2488s Nov 13 19:33:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 2488s Nov 13 19:33:22 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2489s Nov 13 19:33:23 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2492s Nov 13 19:33:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2492s Nov 13 19:33:26 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2493s Nov 13 19:33:27 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2495s Nov 13 19:33:29 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2495s Nov 13 19:33:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 2495s Nov 13 19:33:29 And I receive a response state running # features/steps/patroni_api.py:98 2495s Nov 13 19:33:29 And I receive a response role replica # features/steps/patroni_api.py:98 2495s Nov 13 19:33:29 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2500s Nov 13 19:33:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2500s Nov 13 19:33:34 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2500s Nov 13 19:33:34 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2501s Nov 13 19:33:35 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2501s Nov 13 19:33:35 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2503s Nov 13 19:33:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2503s Nov 13 19:33:37 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2503s Nov 13 19:33:37 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2504s Nov 13 19:33:38 2504s Nov 13 19:33:38 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2504s Nov 13 19:33:38 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 2506s Nov 13 19:33:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2506s Nov 13 19:33:40 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2506s Nov 13 19:33:40 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2506s Nov 13 19:33:40 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2512s Nov 13 19:33:46 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2512s Nov 13 19:33:46 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2512s Nov 13 19:33:46 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2512s Nov 13 19:33:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 2512s Nov 13 19:33:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2512s Nov 13 19:33:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 2512s Nov 13 19:33:46 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2512s Nov 13 19:33:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 2512s Nov 13 19:33:46 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2512s Nov 13 19:33:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 2512s Nov 13 19:33:46 2512s Nov 13 19:33:46 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2512s Nov 13 19:33:46 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2514s Nov 13 19:33:48 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2514s Nov 13 19:33:48 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2514s Nov 13 19:33:48 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2515s Nov 13 19:33:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2515s Nov 13 19:33:49 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2517s Nov 13 19:33:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2517s Nov 13 19:33:51 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2527s Nov 13 19:34:01 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2528s Nov 13 19:34:02 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2530s Nov 13 19:34:04 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2530s Nov 13 19:34:04 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2531s Nov 13 19:34:05 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2531s Nov 13 19:34:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 2531s Nov 13 19:34:05 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2531s Nov 13 19:34:05 Then I receive a response code 503 # features/steps/patroni_api.py:98 2531s Nov 13 19:34:05 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2531s Nov 13 19:34:05 Then I receive a response code 503 # features/steps/patroni_api.py:98 2531s Nov 13 19:34:05 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2531s Nov 13 19:34:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 2535s Nov 13 19:34:09 2535s Nov 13 19:34:09 Feature: permanent slots # features/permanent_slots.feature:1 2535s Nov 13 19:34:09 2535s Nov 13 19:34:09 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2535s Nov 13 19:34:09 Given I start postgres0 # features/steps/basic_replication.py:8 2539s Nov 13 19:34:13 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2540s Nov 13 19:34:14 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2540s Nov 13 19:34:14 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 2541s Nov 13 19:34:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 2541s Nov 13 19:34:14 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2541s Nov 13 19:34:15 When I start postgres1 # features/steps/basic_replication.py:8 2545s Nov 13 19:34:19 And I start postgres2 # features/steps/basic_replication.py:8 2549s Nov 13 19:34:23 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2553s Nov 13 19:34:27 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2553s Nov 13 19:34:27 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2553s Nov 13 19:34:27 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2553s Nov 13 19:34:27 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2553s Nov 13 19:34:27 2553s Nov 13 19:34:27 @slot-advance 2553s Nov 13 19:34:27 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2553s Nov 13 19:34:27 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2555s Nov 13 19:34:29 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2555s Nov 13 19:34:29 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2556s Nov 13 19:34:30 2556s Nov 13 19:34:30 @slot-advance 2556s Nov 13 19:34:30 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2556s Nov 13 19:34:30 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2561s Nov 13 19:34:35 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2561s Nov 13 19:34:35 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2562s Nov 13 19:34:36 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2563s Nov 13 19:34:37 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2563s Nov 13 19:34:37 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2563s Nov 13 19:34:37 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2563s Nov 13 19:34:37 2563s Nov 13 19:34:37 @slot-advance 2563s Nov 13 19:34:37 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2563s Nov 13 19:34:37 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2563s Nov 13 19:34:37 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2563s Nov 13 19:34:37 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2563s Nov 13 19:34:37 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2563s Nov 13 19:34:37 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2563s Nov 13 19:34:37 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2563s Nov 13 19:34:37 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2563s Nov 13 19:34:37 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2563s Nov 13 19:34:37 2563s Nov 13 19:34:37 @slot-advance 2563s Nov 13 19:34:37 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2563s Nov 13 19:34:37 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2563s Nov 13 19:34:37 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2563s Nov 13 19:34:37 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2563s Nov 13 19:34:37 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2567s Nov 13 19:34:41 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2567s Nov 13 19:34:41 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2567s Nov 13 19:34:41 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2567s Nov 13 19:34:41 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2567s Nov 13 19:34:41 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2567s Nov 13 19:34:41 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2567s Nov 13 19:34:41 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2567s Nov 13 19:34:41 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2567s Nov 13 19:34:41 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2567s Nov 13 19:34:41 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2567s Nov 13 19:34:41 2567s Nov 13 19:34:41 @slot-advance 2567s Nov 13 19:34:41 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2567s Nov 13 19:34:41 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2567s Nov 13 19:34:41 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2567s Nov 13 19:34:41 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2567s Nov 13 19:34:41 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2567s Nov 13 19:34:41 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2567s Nov 13 19:34:41 2567s Nov 13 19:34:41 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2567s Nov 13 19:34:41 Given I shut down postgres3 # features/steps/basic_replication.py:29 2568s Nov 13 19:34:42 And I shut down postgres2 # features/steps/basic_replication.py:29 2569s Nov 13 19:34:43 And I shut down postgres0 # features/steps/basic_replication.py:29 2571s Nov 13 19:34:45 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2571s Nov 13 19:34:45 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2571s Nov 13 19:34:45 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2573s Nov 13 19:34:47 2573s Nov 13 19:34:47 Feature: priority replication # features/priority_failover.feature:1 2573s Nov 13 19:34:47 We should check that we can give nodes priority during failover 2573s Nov 13 19:34:47 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2573s Nov 13 19:34:47 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2578s Nov 13 19:34:52 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2584s Nov 13 19:34:57 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2584s Nov 13 19:34:58 When I shut down postgres0 # features/steps/basic_replication.py:29 2586s Nov 13 19:35:00 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 2588s Nov 13 19:35:02 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2588s Nov 13 19:35:02 When I start postgres0 # features/steps/basic_replication.py:8 2591s Nov 13 19:35:05 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2592s Nov 13 19:35:06 2592s Nov 13 19:35:06 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2592s Nov 13 19:35:06 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2597s Nov 13 19:35:11 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2602s Nov 13 19:35:16 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2603s Nov 13 19:35:17 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2603s Nov 13 19:35:17 When I shut down postgres0 # features/steps/basic_replication.py:29 2605s Nov 13 19:35:19 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2605s Nov 13 19:35:19 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 2605s Nov 13 19:35:19 2605s Nov 13 19:35:19 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2605s Nov 13 19:35:19 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2605s Nov 13 19:35:19 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2605s Nov 13 19:35:19 Then I receive a response code 202 # features/steps/patroni_api.py:98 2605s Nov 13 19:35:19 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 2607s Nov 13 19:35:21 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2608s Nov 13 19:35:22 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2608s Nov 13 19:35:22 Then I receive a response code 412 # features/steps/patroni_api.py:98 2608s Nov 13 19:35:22 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2608s Nov 13 19:35:22 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2608s Nov 13 19:35:22 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2608s Nov 13 19:35:22 Then I receive a response code 202 # features/steps/patroni_api.py:98 2608s Nov 13 19:35:22 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2609s Nov 13 19:35:23 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2610s Nov 13 19:35:24 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2613s Nov 13 19:35:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2613s Nov 13 19:35:27 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2618s Nov 13 19:35:32 2618s Nov 13 19:35:32 Feature: recovery # features/recovery.feature:1 2618s Nov 13 19:35:32 We want to check that crashed postgres is started back 2618s Nov 13 19:35:32 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2618s Nov 13 19:35:32 Given I start postgres0 # features/steps/basic_replication.py:8 2623s Nov 13 19:35:37 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2623s Nov 13 19:35:37 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2623s Nov 13 19:35:37 When I start postgres1 # features/steps/basic_replication.py:8 2627s Nov 13 19:35:41 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2627s Nov 13 19:35:41 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2628s Nov 13 19:35:42 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2628s Nov 13 19:35:42 waiting for server to shut down.... done 2628s Nov 13 19:35:42 server stopped 2628s Nov 13 19:35:42 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2629s Nov 13 19:35:43 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2629s Nov 13 19:35:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 2629s Nov 13 19:35:43 And I receive a response role master # features/steps/patroni_api.py:98 2629s Nov 13 19:35:43 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2629s Nov 13 19:35:43 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2630s Nov 13 19:35:44 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2634s Nov 13 19:35:48 2634s Nov 13 19:35:48 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2634s Nov 13 19:35:48 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 2634s Nov 13 19:35:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 2634s Nov 13 19:35:48 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2634s Nov 13 19:35:48 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2634s Nov 13 19:35:48 waiting for server to shut down.... done 2634s Nov 13 19:35:48 server stopped 2634s Nov 13 19:35:48 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2636s Nov 13 19:35:50 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2641s Nov 13 19:35:54 2641s Nov 13 19:35:54 Feature: standby cluster # features/standby_cluster.feature:1 2641s Nov 13 19:35:54 2641s Nov 13 19:35:54 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2641s Nov 13 19:35:54 Given I start postgres1 # features/steps/basic_replication.py:8 2644s Nov 13 19:35:58 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2645s Nov 13 19:35:59 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2645s Nov 13 19:35:59 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 2645s Nov 13 19:35:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 2645s Nov 13 19:35:59 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2645s Nov 13 19:35:59 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2648s Nov 13 19:36:02 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 2649s Nov 13 19:36:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 2649s Nov 13 19:36:02 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2650s Nov 13 19:36:04 When I start postgres0 # features/steps/basic_replication.py:8 2655s Nov 13 19:36:08 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2656s Nov 13 19:36:09 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2656s Nov 13 19:36:10 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2656s Nov 13 19:36:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 2656s Nov 13 19:36:10 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2656s Nov 13 19:36:10 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2656s Nov 13 19:36:10 2656s Nov 13 19:36:10 @slot-advance 2656s Nov 13 19:36:10 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2656s Nov 13 19:36:10 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2658s Nov 13 19:36:12 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2664s Nov 13 19:36:18 2664s Nov 13 19:36:18 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2664s Nov 13 19:36:18 When I shut down postgres1 # features/steps/basic_replication.py:29 2666s Nov 13 19:36:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2666s Nov 13 19:36:20 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2667s Nov 13 19:36:21 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2668s Nov 13 19:36:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 2668s Nov 13 19:36:21 2668s Nov 13 19:36:21 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2668s Nov 13 19:36:21 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2671s Nov 13 19:36:25 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2671s Nov 13 19:36:25 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2671s Nov 13 19:36:25 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2671s Nov 13 19:36:25 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2671s Nov 13 19:36:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2671s Nov 13 19:36:25 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2671s Nov 13 19:36:25 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2674s Nov 13 19:36:28 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2674s Nov 13 19:36:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 2674s Nov 13 19:36:28 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2674s Nov 13 19:36:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2674s Nov 13 19:36:28 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2674s Nov 13 19:36:28 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2674s Nov 13 19:36:28 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2679s Nov 13 19:36:33 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2679s Nov 13 19:36:33 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2679s Nov 13 19:36:33 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2679s Nov 13 19:36:33 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2679s Nov 13 19:36:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 2679s Nov 13 19:36:33 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2679s Nov 13 19:36:33 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2679s Nov 13 19:36:33 2679s Nov 13 19:36:33 Scenario: check switchover # features/standby_cluster.feature:57 2679s Nov 13 19:36:33 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2682s Nov 13 19:36:36 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2683s Nov 13 19:36:37 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2685s Nov 13 19:36:39 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 2685s Nov 13 19:36:39 2685s Nov 13 19:36:39 Scenario: check failover # features/standby_cluster.feature:63 2685s Nov 13 19:36:39 When I kill postgres2 # features/steps/basic_replication.py:34 2686s Nov 13 19:36:40 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2686s Nov 13 19:36:40 waiting for server to shut down.... done 2686s Nov 13 19:36:40 server stopped 2686s Nov 13 19:36:40 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2707s Nov 13 19:37:01 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2707s Nov 13 19:37:01 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2707s Nov 13 19:37:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 2707s Nov 13 19:37:01 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2707s Nov 13 19:37:01 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2708s Nov 13 19:37:02 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 2712s Nov 13 19:37:06 2712s Nov 13 19:37:06 Feature: watchdog # features/watchdog.feature:1 2712s Nov 13 19:37:06 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2712s Nov 13 19:37:06 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2712s Nov 13 19:37:06 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2716s Nov 13 19:37:10 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2716s Nov 13 19:37:10 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2716s Nov 13 19:37:10 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2717s Nov 13 19:37:11 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2717s Nov 13 19:37:11 2717s Nov 13 19:37:11 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2717s Nov 13 19:37:11 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2719s Nov 13 19:37:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2719s Nov 13 19:37:13 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2719s Nov 13 19:37:13 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2723s Nov 13 19:37:17 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2723s Nov 13 19:37:17 2723s Nov 13 19:37:17 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2723s Nov 13 19:37:17 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2724s Nov 13 19:37:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2724s Nov 13 19:37:18 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2726s Nov 13 19:37:20 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2726s Nov 13 19:37:20 2726s Nov 13 19:37:20 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2726s Nov 13 19:37:20 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2726s Nov 13 19:37:20 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2728s Nov 13 19:37:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2728s Nov 13 19:37:22 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2728s Nov 13 19:37:22 2728s Nov 13 19:37:22 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2728s Nov 13 19:37:22 Given I shut down postgres0 # features/steps/basic_replication.py:29 2730s Nov 13 19:37:24 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2730s Nov 13 19:37:24 2730s Nov 13 19:37:24 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2730s Nov 13 19:37:24 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2730s Nov 13 19:37:24 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2733s Nov 13 19:37:27 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2734s Nov 13 19:37:28 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2734s Nov 13 19:37:28 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2761s Nov 13 19:37:55 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.5701.XQjxlrGx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.5765.XUUyFkNx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.5811.XVaZJXIx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.5875.XVgBVtlx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.5923.XxHKifQx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6002.XErokgJx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6052.XoSjopcx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6057.XgbPbijx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6157.XVncufCx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6254.XjDdUiGx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6270.XhmQyjdx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6314.XDlvwmbx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6362.XhDdklwx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6522.XUVQTYQx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6568.XnCKuhYx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6625.XtgMDrFx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6726.XtqkCVbx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6782.XDHaGfNx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6846.XCiIiuux 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.6937.XwIhsOCx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7041.XKQIthOx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7085.XOkiXPSx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7150.XqcrPcyx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7185.XonqrGnx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7302.XyVTqnfx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7352.XnxxMesx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7372.XZCdMtbx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7411.XkzOHcYx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7462.XyfLSuax 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7469.XhfIaywx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7507.XnOKEesx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7553.XDLcxsvx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7719.XsickyLx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7723.XpHAatxx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7731.XlxHyKmx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7873.XXkWURox 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7920.XWxkGqux 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.7962.XXuwWVnx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.8007.XuITlomx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.8052.XIpKGKHx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.8251.XaQPUoQx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.8295.XYqvfJVx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.8374.XpADBoex 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.8458.XDRwnVnx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.8515.XpCmQxRx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.8835.XyokGzex 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.8879.XlNURjkx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.9023.XvKJkqdx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.9088.XgTZCIvx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.9141.XCSuWPIx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.9245.XhGPeyxx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.9376.XkFfMJDx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.9518.XYGAoKgx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.9565.XPoZtGWx 2761s Nov 13 19:37:55 Skipping duplicate data .coverage.autopkgtest-lxd-hrixge.9572.XtgeCyxx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.9577.XcLHMsHx 2761s Nov 13 19:37:55 Combined data file .coverage.autopkgtest-lxd-hrixge.9593.XpLXerdx 2763s Nov 13 19:37:57 Name Stmts Miss Cover 2763s Nov 13 19:37:57 -------------------------------------------------------------------------------------------------------- 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 175 64% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/retry.py 60 4 93% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/api.py 770 289 62% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 91 86% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 288 67 77% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/ha.py 1244 372 70% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 214 74% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 37 89% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/six.py 504 249 51% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2763s Nov 13 19:37:57 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2763s Nov 13 19:37:57 patroni/__init__.py 13 2 85% 2763s Nov 13 19:37:57 patroni/__main__.py 199 199 0% 2763s Nov 13 19:37:57 patroni/api.py 770 770 0% 2763s Nov 13 19:37:57 patroni/async_executor.py 96 69 28% 2763s Nov 13 19:37:57 patroni/collections.py 56 15 73% 2763s Nov 13 19:37:57 patroni/config.py 371 194 48% 2763s Nov 13 19:37:57 patroni/config_generator.py 212 212 0% 2763s Nov 13 19:37:57 patroni/ctl.py 936 411 56% 2763s Nov 13 19:37:57 patroni/daemon.py 76 76 0% 2763s Nov 13 19:37:57 patroni/dcs/__init__.py 646 271 58% 2763s Nov 13 19:37:57 patroni/dcs/consul.py 485 485 0% 2763s Nov 13 19:37:57 patroni/dcs/etcd3.py 679 679 0% 2763s Nov 13 19:37:57 patroni/dcs/etcd.py 603 603 0% 2763s Nov 13 19:37:57 patroni/dcs/exhibitor.py 61 61 0% 2763s Nov 13 19:37:57 patroni/dcs/kubernetes.py 938 938 0% 2763s Nov 13 19:37:57 patroni/dcs/raft.py 319 319 0% 2763s Nov 13 19:37:57 patroni/dcs/zookeeper.py 288 152 47% 2763s Nov 13 19:37:57 patroni/dynamic_loader.py 35 7 80% 2763s Nov 13 19:37:57 patroni/exceptions.py 16 1 94% 2763s Nov 13 19:37:57 patroni/file_perm.py 43 15 65% 2763s Nov 13 19:37:57 patroni/global_config.py 81 18 78% 2763s Nov 13 19:37:57 patroni/ha.py 1244 1244 0% 2763s Nov 13 19:37:57 patroni/log.py 219 173 21% 2763s Nov 13 19:37:57 patroni/postgresql/__init__.py 821 651 21% 2763s Nov 13 19:37:57 patroni/postgresql/available_parameters/__init__.py 21 3 86% 2763s Nov 13 19:37:57 patroni/postgresql/bootstrap.py 252 222 12% 2763s Nov 13 19:37:57 patroni/postgresql/callback_executor.py 55 34 38% 2763s Nov 13 19:37:57 patroni/postgresql/cancellable.py 104 84 19% 2763s Nov 13 19:37:57 patroni/postgresql/config.py 813 698 14% 2763s Nov 13 19:37:57 patroni/postgresql/connection.py 75 50 33% 2763s Nov 13 19:37:57 patroni/postgresql/misc.py 41 29 29% 2763s Nov 13 19:37:57 patroni/postgresql/mpp/__init__.py 89 21 76% 2763s Nov 13 19:37:57 patroni/postgresql/mpp/citus.py 259 259 0% 2763s Nov 13 19:37:57 patroni/postgresql/postmaster.py 170 139 18% 2763s Nov 13 19:37:57 patroni/postgresql/rewind.py 416 416 0% 2763s Nov 13 19:37:57 patroni/postgresql/slots.py 334 285 15% 2763s Nov 13 19:37:57 patroni/postgresql/sync.py 130 96 26% 2763s Nov 13 19:37:57 patroni/postgresql/validator.py 157 52 67% 2763s Nov 13 19:37:57 patroni/psycopg.py 42 28 33% 2763s Nov 13 19:37:57 patroni/raft_controller.py 22 22 0% 2763s Nov 13 19:37:57 patroni/request.py 62 6 90% 2763s Nov 13 19:37:57 patroni/scripts/__init__.py 0 0 100% 2763s Nov 13 19:37:57 patroni/scripts/aws.py 59 59 0% 2763s Nov 13 19:37:57 patroni/scripts/barman/__init__.py 0 0 100% 2763s Nov 13 19:37:57 patroni/scripts/barman/cli.py 51 51 0% 2763s Nov 13 19:37:57 patroni/scripts/barman/config_switch.py 51 51 0% 2763s Nov 13 19:37:57 patroni/scripts/barman/recover.py 37 37 0% 2763s Nov 13 19:37:57 patroni/scripts/barman/utils.py 94 94 0% 2763s Nov 13 19:37:57 patroni/scripts/wale_restore.py 207 207 0% 2763s Nov 13 19:37:57 patroni/tags.py 38 11 71% 2763s Nov 13 19:37:57 patroni/utils.py 350 228 35% 2763s Nov 13 19:37:57 patroni/validator.py 301 215 29% 2763s Nov 13 19:37:57 patroni/version.py 1 0 100% 2763s Nov 13 19:37:57 patroni/watchdog/__init__.py 2 2 0% 2763s Nov 13 19:37:57 patroni/watchdog/base.py 203 203 0% 2763s Nov 13 19:37:57 patroni/watchdog/linux.py 135 135 0% 2763s Nov 13 19:37:57 -------------------------------------------------------------------------------------------------------- 2763s Nov 13 19:37:57 TOTAL 39824 23867 40% 2763s Nov 13 19:37:57 11 features passed, 0 failed, 1 skipped 2763s Nov 13 19:37:57 44 scenarios passed, 0 failed, 5 skipped 2763s Nov 13 19:37:57 444 steps passed, 0 failed, 61 skipped, 0 undefined 2763s Nov 13 19:37:57 Took 7m39.892s 2763s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2763s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2763s + rm -f '/tmp/pgpass?' 2763s ++ id -u 2763s + '[' 0 -eq 0 ']' 2763s + '[' -x /etc/init.d/zookeeper ']' 2763s + /etc/init.d/zookeeper stop 2764s Stopping zookeeper (via systemctl): zookeeper.service. 2764s autopkgtest [19:37:58]: test acceptance-zookeeper: -----------------------] 2768s autopkgtest [19:38:02]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2768s acceptance-zookeeper PASS 2772s autopkgtest [19:38:06]: test acceptance-raft: preparing testbed 2827s autopkgtest [19:39:01]: testbed dpkg architecture: armhf 2829s autopkgtest [19:39:03]: testbed apt version: 2.9.8 2829s autopkgtest [19:39:03]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2838s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2838s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [958 kB] 2838s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [98.3 kB] 2838s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2838s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.2 kB] 2838s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [101 kB] 2838s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [647 kB] 2838s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [17.2 kB] 2839s Fetched 1919 kB in 1s (2279 kB/s) 2839s Reading package lists... 2855s tee: /proc/self/fd/2: Permission denied 2879s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2879s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2879s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2879s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2881s Reading package lists... 2881s Reading package lists... 2881s Building dependency tree... 2881s Reading state information... 2881s Calculating upgrade... 2882s The following NEW packages will be installed: 2882s python3.13-gdbm 2882s The following packages will be upgraded: 2882s libgnutls30t64 libjson-glib-1.0-0 libjson-glib-1.0-common libnewt0.52 2882s libpython3-stdlib libutempter0 python3 python3-gdbm python3-minimal 2882s python3-newt whiptail 2882s 11 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2882s Need to get 1207 kB of archives. 2882s After this operation, 124 kB of additional disk space will be used. 2882s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-minimal armhf 3.12.7-1 [27.4 kB] 2882s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3 armhf 3.12.7-1 [24.0 kB] 2882s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libpython3-stdlib armhf 3.12.7-1 [10.0 kB] 2882s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls30t64 armhf 3.8.8-2ubuntu1 [955 kB] 2882s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf python3-newt armhf 0.52.24-2ubuntu4 [19.7 kB] 2882s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf libnewt0.52 armhf 0.52.24-2ubuntu4 [39.2 kB] 2882s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf whiptail armhf 0.52.24-2ubuntu4 [17.2 kB] 2882s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf python3.13-gdbm armhf 3.13.0-2 [29.5 kB] 2882s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-gdbm armhf 3.12.7-1 [8642 B] 2882s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 2882s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-0 armhf 1.10.0+ds-3 [61.7 kB] 2882s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libutempter0 armhf 1.2.1-4 [9062 B] 2883s Fetched 1207 kB in 1s (2184 kB/s) 2883s (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 ... 59559 files and directories currently installed.) 2883s Preparing to unpack .../python3-minimal_3.12.7-1_armhf.deb ... 2883s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 2883s Setting up python3-minimal (3.12.7-1) ... 2883s (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 ... 59559 files and directories currently installed.) 2883s Preparing to unpack .../python3_3.12.7-1_armhf.deb ... 2883s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 2883s Preparing to unpack .../libpython3-stdlib_3.12.7-1_armhf.deb ... 2883s Unpacking libpython3-stdlib:armhf (3.12.7-1) over (3.12.6-0ubuntu1) ... 2883s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_armhf.deb ... 2883s Unpacking libgnutls30t64:armhf (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 2883s Setting up libgnutls30t64:armhf (3.8.8-2ubuntu1) ... 2884s (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 ... 59559 files and directories currently installed.) 2884s Preparing to unpack .../0-python3-newt_0.52.24-2ubuntu4_armhf.deb ... 2884s Unpacking python3-newt:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2884s Preparing to unpack .../1-libnewt0.52_0.52.24-2ubuntu4_armhf.deb ... 2884s Unpacking libnewt0.52:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2884s Preparing to unpack .../2-whiptail_0.52.24-2ubuntu4_armhf.deb ... 2884s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 2884s Selecting previously unselected package python3.13-gdbm. 2884s Preparing to unpack .../3-python3.13-gdbm_3.13.0-2_armhf.deb ... 2884s Unpacking python3.13-gdbm (3.13.0-2) ... 2884s Preparing to unpack .../4-python3-gdbm_3.12.7-1_armhf.deb ... 2884s Unpacking python3-gdbm:armhf (3.12.7-1) over (3.12.6-1ubuntu1) ... 2884s Preparing to unpack .../5-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 2884s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 2884s Preparing to unpack .../6-libjson-glib-1.0-0_1.10.0+ds-3_armhf.deb ... 2884s Unpacking libjson-glib-1.0-0:armhf (1.10.0+ds-3) over (1.10.0+ds-2) ... 2884s Preparing to unpack .../7-libutempter0_1.2.1-4_armhf.deb ... 2884s Unpacking libutempter0:armhf (1.2.1-4) over (1.2.1-3build1) ... 2884s Setting up libnewt0.52:armhf (0.52.24-2ubuntu4) ... 2884s Setting up libutempter0:armhf (1.2.1-4) ... 2884s Setting up whiptail (0.52.24-2ubuntu4) ... 2884s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 2884s Setting up python3.13-gdbm (3.13.0-2) ... 2884s Setting up libpython3-stdlib:armhf (3.12.7-1) ... 2884s Setting up python3 (3.12.7-1) ... 2884s Setting up python3-newt:armhf (0.52.24-2ubuntu4) ... 2884s Setting up libjson-glib-1.0-0:armhf (1.10.0+ds-3) ... 2884s Setting up python3-gdbm:armhf (3.12.7-1) ... 2884s Processing triggers for man-db (2.12.1-3) ... 2885s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2885s Reading package lists... 2886s Building dependency tree... 2886s Reading state information... 2886s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2889s autopkgtest [19:40:03]: rebooting testbed after setup commands that affected boot 2999s Reading package lists... 3000s Building dependency tree... 3000s Reading state information... 3000s Starting pkgProblemResolver with broken count: 0 3000s Starting 2 pkgProblemResolver with broken count: 0 3000s Done 3001s The following additional packages will be installed: 3001s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 3001s libjs-sphinxdoc libjs-underscore libjson-perl libllvm19 libpq5 3001s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 3001s patroni-doc postgresql postgresql-16 postgresql-client-16 3001s postgresql-client-common postgresql-common python3-behave python3-cdiff 3001s python3-click python3-colorama python3-coverage python3-dateutil 3001s python3-parse python3-parse-type python3-prettytable python3-psutil 3001s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 3001s sphinx-rtd-theme-common ssl-cert 3001s Suggested packages: 3001s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 3001s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 3001s Recommended packages: 3001s javascript-common libjson-xs-perl 3001s The following NEW packages will be installed: 3001s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 3001s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 3001s libllvm19 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 3001s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 3001s postgresql-client-common postgresql-common python3-behave python3-cdiff 3001s python3-click python3-colorama python3-coverage python3-dateutil 3001s python3-parse python3-parse-type python3-prettytable python3-psutil 3001s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 3001s sphinx-rtd-theme-common ssl-cert 3001s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 3001s Need to get 50.7 MB/50.7 MB of archives. 3001s After this operation, 192 MB of additional disk space will be used. 3001s Get:1 /tmp/autopkgtest.F0zun9/5-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [752 B] 3001s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 3002s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 3002s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 262 [36.7 kB] 3002s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.2ubuntu2 [18.0 kB] 3002s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 262 [162 kB] 3002s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3002s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 3002s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 3002s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3002s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3002s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 3002s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.2-1ubuntu1 [27.8 MB] 3003s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 3003s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 3003s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 3003s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu1 [150 kB] 3003s Get:18 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 3003s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 3003s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 3003s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 3003s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 3003s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 3003s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 3003s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 3003s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 3003s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 3003s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 3003s Get:29 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.12-1 [38.9 kB] 3003s Get:30 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 3003s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 3003s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 3003s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-16 armhf 16.4-3 [1236 kB] 3003s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-16 armhf 16.4-3 [14.2 MB] 3003s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 16+262 [11.8 kB] 3003s Get:36 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 3003s Get:37 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-1 [23.4 kB] 3003s Get:38 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 3003s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 3004s Preconfiguring packages ... 3004s Fetched 50.7 MB in 2s (21.7 MB/s) 3004s Selecting previously unselected package fonts-lato. 3004s (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 ... 59567 files and directories currently installed.) 3004s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3004s Unpacking fonts-lato (2.015-1) ... 3004s Selecting previously unselected package libjson-perl. 3004s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 3004s Unpacking libjson-perl (4.10000-1) ... 3004s Selecting previously unselected package postgresql-client-common. 3004s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 3004s Unpacking postgresql-client-common (262) ... 3004s Selecting previously unselected package ssl-cert. 3004s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 3004s Unpacking ssl-cert (1.1.2ubuntu2) ... 3004s Selecting previously unselected package postgresql-common. 3004s Preparing to unpack .../04-postgresql-common_262_all.deb ... 3004s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 3004s Unpacking postgresql-common (262) ... 3004s Selecting previously unselected package fonts-font-awesome. 3004s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3004s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3005s Selecting previously unselected package libio-pty-perl. 3005s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 3005s Unpacking libio-pty-perl (1:1.20-1build3) ... 3005s Selecting previously unselected package libipc-run-perl. 3005s Preparing to unpack .../07-libipc-run-perl_20231003.0-2_all.deb ... 3005s Unpacking libipc-run-perl (20231003.0-2) ... 3005s Selecting previously unselected package libjs-jquery. 3005s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3005s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3005s Selecting previously unselected package libjs-underscore. 3005s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3005s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3005s Selecting previously unselected package libjs-sphinxdoc. 3005s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 3005s Unpacking libjs-sphinxdoc (7.4.7-4) ... 3005s Selecting previously unselected package libllvm19:armhf. 3005s Preparing to unpack .../11-libllvm19_1%3a19.1.2-1ubuntu1_armhf.deb ... 3005s Unpacking libllvm19:armhf (1:19.1.2-1ubuntu1) ... 3006s Selecting previously unselected package libpq5:armhf. 3006s Preparing to unpack .../12-libpq5_17.0-1_armhf.deb ... 3006s Unpacking libpq5:armhf (17.0-1) ... 3006s Selecting previously unselected package libtime-duration-perl. 3006s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 3006s Unpacking libtime-duration-perl (1.21-2) ... 3006s Selecting previously unselected package libtimedate-perl. 3006s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 3006s Unpacking libtimedate-perl (2.3300-2) ... 3006s Selecting previously unselected package libxslt1.1:armhf. 3006s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_armhf.deb ... 3006s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 3006s Selecting previously unselected package moreutils. 3006s Preparing to unpack .../16-moreutils_0.69-1_armhf.deb ... 3006s Unpacking moreutils (0.69-1) ... 3006s Selecting previously unselected package python3-ydiff. 3006s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 3006s Unpacking python3-ydiff (1.3-1) ... 3006s Selecting previously unselected package python3-cdiff. 3006s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 3006s Unpacking python3-cdiff (1.3-1) ... 3006s Selecting previously unselected package python3-colorama. 3006s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 3006s Unpacking python3-colorama (0.4.6-4) ... 3006s Selecting previously unselected package python3-click. 3006s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 3006s Unpacking python3-click (8.1.7-2) ... 3006s Selecting previously unselected package python3-six. 3006s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 3006s Unpacking python3-six (1.16.0-7) ... 3006s Selecting previously unselected package python3-dateutil. 3006s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 3006s Unpacking python3-dateutil (2.9.0-2) ... 3006s Selecting previously unselected package python3-wcwidth. 3006s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 3006s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 3006s Selecting previously unselected package python3-prettytable. 3006s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 3006s Unpacking python3-prettytable (3.10.1-1) ... 3006s Selecting previously unselected package python3-psutil. 3006s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_armhf.deb ... 3006s Unpacking python3-psutil (5.9.8-2build2) ... 3006s Selecting previously unselected package python3-psycopg2. 3006s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_armhf.deb ... 3006s Unpacking python3-psycopg2 (2.9.9-2) ... 3006s Selecting previously unselected package python3-pysyncobj. 3006s Preparing to unpack .../27-python3-pysyncobj_0.3.12-1_all.deb ... 3006s Unpacking python3-pysyncobj (0.3.12-1) ... 3006s Selecting previously unselected package patroni. 3006s Preparing to unpack .../28-patroni_3.3.1-1_all.deb ... 3006s Unpacking patroni (3.3.1-1) ... 3006s Selecting previously unselected package sphinx-rtd-theme-common. 3006s Preparing to unpack .../29-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 3006s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3006s Selecting previously unselected package patroni-doc. 3006s Preparing to unpack .../30-patroni-doc_3.3.1-1_all.deb ... 3006s Unpacking patroni-doc (3.3.1-1) ... 3006s Selecting previously unselected package postgresql-client-16. 3006s Preparing to unpack .../31-postgresql-client-16_16.4-3_armhf.deb ... 3006s Unpacking postgresql-client-16 (16.4-3) ... 3006s Selecting previously unselected package postgresql-16. 3006s Preparing to unpack .../32-postgresql-16_16.4-3_armhf.deb ... 3006s Unpacking postgresql-16 (16.4-3) ... 3007s Selecting previously unselected package postgresql. 3007s Preparing to unpack .../33-postgresql_16+262_all.deb ... 3007s Unpacking postgresql (16+262) ... 3007s Selecting previously unselected package python3-parse. 3007s Preparing to unpack .../34-python3-parse_1.20.2-1_all.deb ... 3007s Unpacking python3-parse (1.20.2-1) ... 3007s Selecting previously unselected package python3-parse-type. 3007s Preparing to unpack .../35-python3-parse-type_0.6.4-1_all.deb ... 3007s Unpacking python3-parse-type (0.6.4-1) ... 3007s Selecting previously unselected package python3-behave. 3007s Preparing to unpack .../36-python3-behave_1.2.6-6_all.deb ... 3007s Unpacking python3-behave (1.2.6-6) ... 3007s Selecting previously unselected package python3-coverage. 3007s Preparing to unpack .../37-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 3007s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3007s Selecting previously unselected package autopkgtest-satdep. 3007s Preparing to unpack .../38-5-autopkgtest-satdep.deb ... 3007s Unpacking autopkgtest-satdep (0) ... 3007s Setting up postgresql-client-common (262) ... 3007s Setting up libllvm19:armhf (1:19.1.2-1ubuntu1) ... 3007s Setting up fonts-lato (2.015-1) ... 3007s Setting up libio-pty-perl (1:1.20-1build3) ... 3007s Setting up python3-pysyncobj (0.3.12-1) ... 3007s Setting up python3-colorama (0.4.6-4) ... 3007s Setting up python3-ydiff (1.3-1) ... 3008s Setting up libpq5:armhf (17.0-1) ... 3008s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3008s Setting up python3-click (8.1.7-2) ... 3008s Setting up python3-psutil (5.9.8-2build2) ... 3008s Setting up python3-six (1.16.0-7) ... 3008s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 3009s Setting up ssl-cert (1.1.2ubuntu2) ... 3009s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 3009s Setting up python3-psycopg2 (2.9.9-2) ... 3010s Setting up libipc-run-perl (20231003.0-2) ... 3010s Setting up libtime-duration-perl (1.21-2) ... 3010s Setting up libtimedate-perl (2.3300-2) ... 3010s Setting up python3-parse (1.20.2-1) ... 3010s Setting up libjson-perl (4.10000-1) ... 3010s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 3010s Setting up python3-dateutil (2.9.0-2) ... 3010s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3010s Setting up python3-prettytable (3.10.1-1) ... 3010s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3010s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3010s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3010s Setting up moreutils (0.69-1) ... 3010s Setting up postgresql-client-16 (16.4-3) ... 3011s 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 3011s Setting up python3-cdiff (1.3-1) ... 3011s Setting up python3-parse-type (0.6.4-1) ... 3011s Setting up postgresql-common (262) ... 3011s 3011s Creating config file /etc/postgresql-common/createcluster.conf with new version 3011s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 3011s Removing obsolete dictionary files: 3012s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 3012s Setting up libjs-sphinxdoc (7.4.7-4) ... 3012s Setting up python3-behave (1.2.6-6) ... 3012s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 3012s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 3012s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 3012s """Registers a custom type that will be available to "parse" 3013s Setting up patroni (3.3.1-1) ... 3013s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3013s Setting up postgresql-16 (16.4-3) ... 3014s Creating new PostgreSQL cluster 16/main ... 3014s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 3014s The files belonging to this database system will be owned by user "postgres". 3014s This user must also own the server process. 3014s 3014s The database cluster will be initialized with locale "C.UTF-8". 3014s The default database encoding has accordingly been set to "UTF8". 3014s The default text search configuration will be set to "english". 3014s 3014s Data page checksums are disabled. 3014s 3014s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 3014s creating subdirectories ... ok 3014s selecting dynamic shared memory implementation ... posix 3014s selecting default max_connections ... 100 3014s selecting default shared_buffers ... 128MB 3014s selecting default time zone ... Etc/UTC 3014s creating configuration files ... ok 3014s running bootstrap script ... ok 3014s performing post-bootstrap initialization ... ok 3014s syncing data to disk ... ok 3018s Setting up patroni-doc (3.3.1-1) ... 3018s Setting up postgresql (16+262) ... 3018s Setting up autopkgtest-satdep (0) ... 3018s Processing triggers for man-db (2.12.1-3) ... 3019s Processing triggers for libc-bin (2.40-1ubuntu3) ... 3035s (Reading database ... 62592 files and directories currently installed.) 3035s Removing autopkgtest-satdep (0) ... 3048s autopkgtest [19:42:42]: test acceptance-raft: debian/tests/acceptance raft 3048s autopkgtest [19:42:42]: test acceptance-raft: [----------------------- 3050s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 3050s ++ ls -1r /usr/lib/postgresql/ 3050s ### PostgreSQL 16 acceptance-raft ### 3050s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 3050s + '[' 16 == 10 -o 16 == 11 ']' 3050s + echo '### PostgreSQL 16 acceptance-raft ###' 3050s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm 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' 3056s Nov 13 19:42:50 Feature: basic replication # features/basic_replication.feature:1 3056s Nov 13 19:42:50 We should check that the basic bootstrapping, replication and failover works. 3056s Nov 13 19:42:50 Scenario: check replication of a single table # features/basic_replication.feature:4 3056s Nov 13 19:42:50 Given I start postgres0 # features/steps/basic_replication.py:8 3061s Nov 13 19:42:55 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3061s Nov 13 19:42:55 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3061s Nov 13 19:42:55 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 3061s Nov 13 19:42:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 3061s Nov 13 19:42:55 When I start postgres1 # features/steps/basic_replication.py:8 3065s Nov 13 19:42:59 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 3069s Nov 13 19:43:03 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 3069s Nov 13 19:43:03 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 3069s Nov 13 19:43:03 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3070s Nov 13 19:43:04 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3070s Nov 13 19:43:04 3070s Nov 13 19:43:04 Scenario: check restart of sync replica # features/basic_replication.feature:17 3070s Nov 13 19:43:04 Given I shut down postgres2 # features/steps/basic_replication.py:29 3071s Nov 13 19:43:05 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 3071s Nov 13 19:43:05 When I start postgres2 # features/steps/basic_replication.py:8 3074s Nov 13 19:43:08 And I shut down postgres1 # features/steps/basic_replication.py:29 3077s Nov 13 19:43:11 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3078s Nov 13 19:43:12 When I start postgres1 # features/steps/basic_replication.py:8 3081s Nov 13 19:43:15 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3082s Nov 13 19:43:16 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3082s Nov 13 19:43:16 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3083s Nov 13 19:43:16 3083s Nov 13 19:43:16 Scenario: check stuck sync replica # features/basic_replication.feature:28 3083s Nov 13 19:43:16 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 3083s Nov 13 19:43:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 3083s Nov 13 19:43:17 And I create table on postgres0 # features/steps/basic_replication.py:73 3083s Nov 13 19:43:17 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 3084s Nov 13 19:43:18 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 3084s Nov 13 19:43:18 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 3084s Nov 13 19:43:18 And I load data on postgres0 # features/steps/basic_replication.py:84 3084s Nov 13 19:43:18 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 3087s Nov 13 19:43:21 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 3087s Nov 13 19:43:21 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3087s Nov 13 19:43:21 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3087s Nov 13 19:43: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 3087s Nov 13 19:43:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 3087s Nov 13 19:43:21 And I drop table on postgres0 # features/steps/basic_replication.py:73 3087s Nov 13 19:43:21 3087s Nov 13 19:43:21 Scenario: check multi sync replication # features/basic_replication.feature:44 3087s Nov 13 19:43:21 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 3087s Nov 13 19:43:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 3087s Nov 13 19:43:21 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3091s Nov 13 19:43:25 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3092s Nov 13 19:43:25 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3092s Nov 13 19:43: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 3092s Nov 13 19:43:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 3092s Nov 13 19:43:26 And I shut down postgres1 # features/steps/basic_replication.py:29 3095s Nov 13 19:43:29 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3096s Nov 13 19:43:30 When I start postgres1 # features/steps/basic_replication.py:8 3099s Nov 13 19:43:33 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3100s Nov 13 19:43:34 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3100s Nov 13 19:43:34 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3100s Nov 13 19:43:34 3100s Nov 13 19:43:34 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 3100s Nov 13 19:43:34 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3102s Nov 13 19:43:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3102s Nov 13 19:43:36 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3104s Nov 13 19:43:38 And I shut down postgres0 # features/steps/basic_replication.py:29 3105s Nov 13 19:43:39 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3106s Nov 13 19:43:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3106s Nov 13 19:43:40 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 3124s Nov 13 19:43:58 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 3128s Nov 13 19:44:02 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 3128s Nov 13 19:44:02 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 3128s Nov 13 19:44:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 3128s Nov 13 19:44:02 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 3128s Nov 13 19:44:02 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3130s Nov 13 19:44:04 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3130s Nov 13 19:44:04 3130s Nov 13 19:44:04 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 3130s Nov 13 19:44:04 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 3130s Nov 13 19:44:04 And I start postgres0 # features/steps/basic_replication.py:8 3130s Nov 13 19:44:04 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 3134s Nov 13 19:44:08 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 3134s Nov 13 19:44:08 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 3138s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 3153s Nov 13 19:44:27 3153s Nov 13 19:44:27 @reject-duplicate-name 3153s Nov 13 19:44:27 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 3153s Nov 13 19:44:27 Given I start duplicate postgres0 on port 8011 # None 3153s Nov 13 19:44:27 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # None 3153s Nov 13 19:44:27 3153s Nov 13 19:44:27 Feature: cascading replication # features/cascading_replication.feature:1 3153s Nov 13 19:44:27 We should check that patroni can do base backup and streaming from the replica 3153s Nov 13 19:44:27 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 3153s Nov 13 19:44:27 Given I start postgres0 # features/steps/basic_replication.py:8 3160s Nov 13 19:44:32 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3160s Nov 13 19:44:32 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 3164s Nov 13 19:44:37 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3165s Nov 13 19:44:39 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 3165s Nov 13 19:44:39 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 3165s Nov 13 19:44:39 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3165s Nov 13 19:44:39 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 3169s Nov 13 19:44:43 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 3170s Nov 13 19:44:44 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 3185s Nov 13 19:44:59 3185s SKIP FEATURE citus: Citus extenstion isn't available 3185s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 3185s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 3185s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 3185s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 3185s 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 3185s Nov 13 19:44:59 Feature: citus # features/citus.feature:1 3185s Nov 13 19:44:59 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 3185s Nov 13 19:44:59 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 3185s Nov 13 19:44:59 Given I start postgres0 in citus group 0 # None 3185s Nov 13 19:44:59 And I start postgres2 in citus group 1 # None 3185s Nov 13 19:44:59 Then postgres0 is a leader in a group 0 after 10 seconds # None 3185s Nov 13 19:44:59 And postgres2 is a leader in a group 1 after 10 seconds # None 3185s Nov 13 19:44:59 When I start postgres1 in citus group 0 # None 3185s Nov 13 19:44:59 And I start postgres3 in citus group 1 # None 3185s Nov 13 19:44:59 Then replication works from postgres0 to postgres1 after 15 seconds # None 3185s Nov 13 19:44:59 Then replication works from postgres2 to postgres3 after 15 seconds # None 3185s Nov 13 19:44:59 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 3185s Nov 13 19:44:59 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3185s Nov 13 19:44:59 3185s Nov 13 19:44:59 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 3185s Nov 13 19:44:59 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 3185s Nov 13 19:44:59 Then postgres1 role is the primary after 10 seconds # None 3185s Nov 13 19:44:59 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 3185s Nov 13 19:44:59 And replication works from postgres1 to postgres0 after 15 seconds # None 3185s Nov 13 19:44:59 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3185s Nov 13 19:44:59 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 3185s Nov 13 19:44:59 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 3185s Nov 13 19:44:59 Then postgres0 role is the primary after 10 seconds # None 3185s Nov 13 19:44:59 And replication works from postgres0 to postgres1 after 15 seconds # None 3185s Nov 13 19:44:59 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3185s Nov 13 19:44:59 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 3185s Nov 13 19:44:59 3185s Nov 13 19:44:59 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 3185s Nov 13 19:44:59 Given I create a distributed table on postgres0 # None 3185s Nov 13 19:44:59 And I start a thread inserting data on postgres0 # None 3185s Nov 13 19:44:59 When I run patronictl.py switchover batman --group 1 --force # None 3185s Nov 13 19:44:59 Then I receive a response returncode 0 # None 3185s Nov 13 19:44:59 And postgres3 role is the primary after 10 seconds # None 3185s Nov 13 19:44:59 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 3185s Nov 13 19:44:59 And replication works from postgres3 to postgres2 after 15 seconds # None 3185s Nov 13 19:44:59 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3185s Nov 13 19:44:59 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 3185s Nov 13 19:44:59 And a thread is still alive # None 3185s Nov 13 19:44:59 When I run patronictl.py switchover batman --group 1 --force # None 3185s Nov 13 19:44:59 Then I receive a response returncode 0 # None 3185s Nov 13 19:44:59 And postgres2 role is the primary after 10 seconds # None 3185s Nov 13 19:44:59 And replication works from postgres2 to postgres3 after 15 seconds # None 3185s Nov 13 19:44:59 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3185s Nov 13 19:44:59 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 3185s Nov 13 19:44:59 And a thread is still alive # None 3185s Nov 13 19:44:59 When I stop a thread # None 3185s Nov 13 19:44:59 Then a distributed table on postgres0 has expected rows # None 3185s Nov 13 19:44:59 3185s Nov 13 19:44:59 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 3185s Nov 13 19:44:59 Given I cleanup a distributed table on postgres0 # None 3185s Nov 13 19:44:59 And I start a thread inserting data on postgres0 # None 3185s Nov 13 19:44:59 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3185s Nov 13 19:44:59 Then I receive a response returncode 0 # None 3185s Nov 13 19:44:59 And postgres2 role is the primary after 10 seconds # None 3185s Nov 13 19:44:59 And replication works from postgres2 to postgres3 after 15 seconds # None 3185s Nov 13 19:44:59 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3185s Nov 13 19:44:59 And a thread is still alive # None 3185s Nov 13 19:44:59 When I stop a thread # None 3185s Nov 13 19:44:59 Then a distributed table on postgres0 has expected rows # None 3192s Nov 13 19:45:06 3192s Nov 13 19:45:06 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 3192s Nov 13 19:45:06 Given I start postgres4 in citus group 2 # None 3192s Nov 13 19:45:06 Then postgres4 is a leader in a group 2 after 10 seconds # None 3192s Nov 13 19:45:06 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 3192s Nov 13 19:45:06 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 3192s Nov 13 19:45:06 Then I receive a response returncode 0 # None 3192s Nov 13 19:45:06 And I receive a response output "+ttl: 20" # None 3192s Nov 13 19:45:06 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 3192s Nov 13 19:45:06 When I shut down postgres4 # None 3192s Nov 13 19:45:06 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 3192s Nov 13 19:45:06 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3192s Nov 13 19:45:06 Then a transaction finishes in 20 seconds # None 3192s Nov 13 19:45:06 3192s Nov 13 19:45:06 Feature: custom bootstrap # features/custom_bootstrap.feature:1 3192s Nov 13 19:45:06 We should check that patroni can bootstrap a new cluster from a backup 3192s Nov 13 19:45:06 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 3192s Nov 13 19:45:06 Given I start postgres0 # features/steps/basic_replication.py:8 3203s Nov 13 19:45:17 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3203s Nov 13 19:45:17 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3203s Nov 13 19:45:17 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 3208s Nov 13 19:45:22 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3209s Nov 13 19:45:23 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 3209s Nov 13 19:45:23 3209s Nov 13 19:45:23 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 3209s Nov 13 19:45:23 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 3209s Nov 13 19:45:23 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3210s Nov 13 19:45:24 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 3216s Nov 13 19:45:30 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 3216s Nov 13 19:45:30 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 3234s Nov 13 19:45:48 3234s Nov 13 19:45:48 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 3234s Nov 13 19:45:48 We should check the basic dcs failsafe mode functioning 3234s Nov 13 19:45:48 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 3234s Nov 13 19:45:48 Given I start postgres0 # features/steps/basic_replication.py:8 3239s Nov 13 19:45:53 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3239s Nov 13 19:45:53 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 3239s Nov 13 19:45:53 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 3239s Nov 13 19:45:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 3239s Nov 13 19:45:53 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 3239s Nov 13 19:45:53 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 3239s Nov 13 19:45:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 3239s Nov 13 19:45:53 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 3239s Nov 13 19:45:53 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 3239s Nov 13 19:45:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 3239s Nov 13 19:45:53 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 3239s Nov 13 19:45:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 3239s Nov 13 19:45:53 3239s Nov 13 19:45:53 @dcs-failsafe 3239s Nov 13 19:45:53 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 3239s Nov 13 19:45:53 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3239s Nov 13 19:45:53 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 3244s Nov 13 19:45:58 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3244s Nov 13 19:45:58 3244s Nov 13 19:45:58 @dcs-failsafe 3244s Nov 13 19:45:58 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 3244s Nov 13 19:45:58 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 3244s Nov 13 19:45:58 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 3245s Nov 13 19:45:59 And I shut down postgres0 # features/steps/basic_replication.py:29 3247s Nov 13 19:46:01 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 3251s Nov 13 19:46:05 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 3251s Nov 13 19:46:05 3251s Nov 13 19:46:05 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 3251s Nov 13 19:46:05 Given I start postgres0 # features/steps/basic_replication.py:8 3254s Nov 13 19:46:08 And I start postgres1 # features/steps/basic_replication.py:8 3254s Nov 13 19:46:08 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3255s Nov 13 19:46:09 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 3255s Nov 13 19:46:09 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 3261s Nov 13 19:46:14 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 3261s Nov 13 19:46:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 3261s Nov 13 19:46:15 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 3261s Nov 13 19:46:15 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 3261s Nov 13 19:46:15 3261s Nov 13 19:46:15 @dcs-failsafe @slot-advance 3261s Nov 13 19:46:15 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 3261s Nov 13 19:46:15 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 3261s Nov 13 19:46:15 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3264s Nov 13 19:46:18 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3264s Nov 13 19:46:18 And DCS is down # features/steps/dcs_failsafe_mode.py:4 3264s Nov 13 19:46:18 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 3267s Nov 13 19:46:21 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3267s Nov 13 19:46:21 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 3267s Nov 13 19:46:21 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 3267s Nov 13 19:46:21 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 3267s Nov 13 19:46:21 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 3267s Nov 13 19:46:21 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 3274s Nov 13 19:46:28 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3274s Nov 13 19:46:28 3274s Nov 13 19:46:28 @dcs-failsafe 3274s Nov 13 19:46:28 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 3274s Nov 13 19:46:28 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3274s Nov 13 19:46:28 And I kill postgres1 # features/steps/basic_replication.py:34 3275s Nov 13 19:46:29 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 3275s Nov 13 19:46:29 waiting for server to shut down.... done 3275s Nov 13 19:46:29 server stopped 3275s Nov 13 19:46:29 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 3277s Nov 13 19:46:31 3277s Nov 13 19:46:31 @dcs-failsafe 3277s Nov 13 19:46:31 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 3277s Nov 13 19:46:31 Given I kill postgres0 # features/steps/basic_replication.py:34 3278s Nov 13 19:46:32 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 3278s Nov 13 19:46:32 waiting for server to shut down.... done 3278s Nov 13 19:46:32 server stopped 3278s Nov 13 19:46:32 And DCS is up # features/steps/dcs_failsafe_mode.py:9 3278s Nov 13 19:46:32 When I start postgres1 # features/steps/basic_replication.py:8 3281s Nov 13 19:46:35 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3282s Nov 13 19:46:36 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 3282s Nov 13 19:46:36 3282s Nov 13 19:46:36 @dcs-failsafe 3282s Nov 13 19:46:36 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 3282s Nov 13 19:46:36 Given I start postgres0 # features/steps/basic_replication.py:8 3286s Nov 13 19:46:40 And I start postgres2 # features/steps/basic_replication.py:8 3292s Nov 13 19:46:46 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3292s Nov 13 19:46:46 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 3292s Nov 13 19:46:46 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 3292s Nov 13 19:46:46 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 3294s Nov 13 19:46:47 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 3295s Nov 13 19:46:49 3295s Nov 13 19:46:49 @dcs-failsafe @slot-advance 3295s Nov 13 19:46:49 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 3295s Nov 13 19:46:49 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 3295s Nov 13 19:46:49 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 3301s Nov 13 19:46:55 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 3302s Nov 13 19:46:56 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 3302s Nov 13 19:46:56 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 3303s Nov 13 19:46:57 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3303s Nov 13 19:46:57 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3303s Nov 13 19:46:57 3303s Nov 13 19:46:57 @dcs-failsafe 3303s Nov 13 19:46:57 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 3303s Nov 13 19:46:57 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3303s Nov 13 19:46:57 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 3308s Nov 13 19:47:02 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3308s Nov 13 19:47:02 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 3308s Nov 13 19:47:02 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 3308s Nov 13 19:47:02 3308s Nov 13 19:47:02 @dcs-failsafe @slot-advance 3308s Nov 13 19:47:02 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 3308s Nov 13 19:47:02 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 3308s Nov 13 19:47:02 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 3309s Nov 13 19:47:03 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 3309s Nov 13 19:47:03 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 3309s Nov 13 19:47:03 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 3315s Nov 13 19:47:09 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 3315s Nov 13 19:47:09 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 3315s Nov 13 19:47:09 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3315s Nov 13 19:47:09 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3327s Nov 13 19:47:21 3327s Nov 13 19:47:21 Feature: ignored slots # features/ignored_slots.feature:1 3327s Nov 13 19:47:21 3327s Nov 13 19:47:21 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 3327s Nov 13 19:47:21 Given I start postgres1 # features/steps/basic_replication.py:8 3332s Nov 13 19:47:26 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3332s Nov 13 19:47:26 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3332s Nov 13 19:47:26 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 3332s Nov 13 19:47:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 3332s Nov 13 19:47:26 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 3332s Nov 13 19:47:26 When I shut down postgres1 # features/steps/basic_replication.py:29 3334s Nov 13 19:47:28 And I start postgres1 # features/steps/basic_replication.py:8 3337s Nov 13 19:47:31 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3340s Nov 13 19:47:34 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3341s Nov 13 19:47:35 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 3341s Nov 13 19:47:35 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3341s Nov 13 19:47:35 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3341s Nov 13 19:47:35 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3341s Nov 13 19:47:35 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3341s Nov 13 19:47:35 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3341s Nov 13 19:47:35 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3341s Nov 13 19:47:35 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3341s Nov 13 19:47:35 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3341s Nov 13 19:47:35 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3341s Nov 13 19:47:35 When I start postgres0 # features/steps/basic_replication.py:8 3346s Nov 13 19:47:40 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3346s Nov 13 19:47:40 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 3346s Nov 13 19:47:40 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 3346s Nov 13 19:47:40 When I shut down postgres1 # features/steps/basic_replication.py:29 3348s Nov 13 19:47:42 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3349s Nov 13 19:47:43 When I start postgres1 # features/steps/basic_replication.py:8 3352s Nov 13 19:47:46 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 3352s Nov 13 19:47:46 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3355s Nov 13 19:47:47 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3355s Nov 13 19:47:49 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3355s Nov 13 19:47:49 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3355s Nov 13 19:47:49 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3355s Nov 13 19:47:49 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3355s Nov 13 19:47:49 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 3355s Nov 13 19:47:49 When I shut down postgres0 # features/steps/basic_replication.py:29 3357s Nov 13 19:47:51 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3361s Nov 13 19:47:55 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3361s Nov 13 19:47:55 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3361s Nov 13 19:47:55 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3361s Nov 13 19:47:55 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3370s Nov 13 19:48:04 3370s Nov 13 19:48:04 Feature: nostream node # features/nostream_node.feature:1 3370s Nov 13 19:48:04 3370s Nov 13 19:48:04 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 3370s Nov 13 19:48:04 When I start postgres0 # features/steps/basic_replication.py:8 3380s Nov 13 19:48:14 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 3384s Nov 13 19:48:18 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 3385s Nov 13 19:48:19 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 3390s Nov 13 19:48:24 3390s Nov 13 19:48:24 @slot-advance 3390s Nov 13 19:48:24 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 3390s Nov 13 19:48:24 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 3390s Nov 13 19:48:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 3390s Nov 13 19:48:24 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3392s Nov 13 19:48:26 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3393s Nov 13 19:48:27 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 3397s Nov 13 19:48:31 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3398s Nov 13 19:48:32 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3398s Nov 13 19:48:32 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 3416s Nov 13 19:48:50 3416s Nov 13 19:48:50 Feature: patroni api # features/patroni_api.feature:1 3416s Nov 13 19:48:50 We should check that patroni correctly responds to valid and not-valid API requests. 3416s Nov 13 19:48:50 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 3416s Nov 13 19:48:50 Given I start postgres0 # features/steps/basic_replication.py:8 3421s Nov 13 19:48:55 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3421s Nov 13 19:48:55 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3421s Nov 13 19:48:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 3421s Nov 13 19:48:55 And I receive a response state running # features/steps/patroni_api.py:98 3421s Nov 13 19:48:55 And I receive a response role master # features/steps/patroni_api.py:98 3421s Nov 13 19:48:55 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 3421s Nov 13 19:48:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 3421s Nov 13 19:48:55 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 3421s Nov 13 19:48:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 3421s Nov 13 19:48:55 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3421s Nov 13 19:48:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 3421s Nov 13 19:48:55 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 3421s Nov 13 19:48:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 3421s Nov 13 19:48:55 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 3421s Nov 13 19:48:55 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 3423s Nov 13 19:48:57 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 3423s Nov 13 19:48:57 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 3423s Nov 13 19:48:57 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 3423s Nov 13 19:48:57 Then I receive a response code 412 # features/steps/patroni_api.py:98 3423s Nov 13 19:48:57 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 3423s Nov 13 19:48:57 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 3423s Nov 13 19:48:57 Then I receive a response code 400 # features/steps/patroni_api.py:98 3423s Nov 13 19:48:57 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 3423s Nov 13 19:48:57 Then I receive a response code 400 # features/steps/patroni_api.py:98 3423s Nov 13 19:48:57 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 3423s Nov 13 19:48:57 3423s Nov 13 19:48:57 Scenario: check local configuration reload # features/patroni_api.feature:32 3423s Nov 13 19:48:57 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 3423s Nov 13 19:48:57 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 3423s Nov 13 19:48:57 Then I receive a response code 202 # features/steps/patroni_api.py:98 3423s Nov 13 19:48:57 3423s Nov 13 19:48:57 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 3423s Nov 13 19:48:57 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 3423s Nov 13 19:48:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 3423s Nov 13 19:48:57 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 3425s Nov 13 19:48:59 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 3425s Nov 13 19:48:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 3425s Nov 13 19:48:59 And I receive a response ttl 20 # features/steps/patroni_api.py:98 3425s Nov 13 19:48:59 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3425s Nov 13 19:48:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 3425s Nov 13 19:48:59 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 3425s Nov 13 19:48:59 And I sleep for 4 seconds # features/steps/patroni_api.py:39 3431s Nov 13 19:49:03 3431s Nov 13 19:49:03 Scenario: check the scheduled restart # features/patroni_api.feature:49 3431s Nov 13 19:49:03 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 3431s Nov 13 19:49:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3431s Nov 13 19:49:05 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 3431s Nov 13 19:49:05 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 3431s Nov 13 19:49:05 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 3431s Nov 13 19:49:05 Then I receive a response code 202 # features/steps/patroni_api.py:98 3431s Nov 13 19:49:05 And I sleep for 8 seconds # features/steps/patroni_api.py:39 3439s Nov 13 19:49:13 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 3439s Nov 13 19:49:13 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 3439s Nov 13 19:49:13 Then I receive a response code 202 # features/steps/patroni_api.py:98 3439s Nov 13 19:49:13 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 3446s Nov 13 19:49:20 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3447s Nov 13 19:49:21 3447s Nov 13 19:49:21 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 3447s Nov 13 19:49:21 Given I start postgres1 # features/steps/basic_replication.py:8 3451s Nov 13 19:49:25 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3452s Nov 13 19:49:26 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 3454s Nov 13 19:49:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3454s Nov 13 19:49:28 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 3454s Nov 13 19:49:28 waiting for server to shut down.... done 3454s Nov 13 19:49:28 server stopped 3454s Nov 13 19:49:28 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3454s Nov 13 19:49:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 3454s Nov 13 19:49:28 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 3455s Nov 13 19:49:29 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3458s Nov 13 19:49:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3458s Nov 13 19:49:32 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3459s Nov 13 19:49:33 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3461s Nov 13 19:49:35 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3461s Nov 13 19:49:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 3461s Nov 13 19:49:35 And I receive a response state running # features/steps/patroni_api.py:98 3461s Nov 13 19:49:35 And I receive a response role replica # features/steps/patroni_api.py:98 3461s Nov 13 19:49:35 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 3465s Nov 13 19:49:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3465s Nov 13 19:49:39 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 3465s Nov 13 19:49:39 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 3466s Nov 13 19:49:40 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3466s Nov 13 19:49:40 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3468s Nov 13 19:49:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3468s Nov 13 19:49:42 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 3468s Nov 13 19:49:42 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 3469s Nov 13 19:49:43 3469s Nov 13 19:49:43 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 3469s Nov 13 19:49:43 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 3471s Nov 13 19:49:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 3471s Nov 13 19:49:45 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 3471s Nov 13 19:49:45 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3471s Nov 13 19:49:45 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3477s Nov 13 19:49:51 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 3477s Nov 13 19:49:51 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3477s Nov 13 19:49:51 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3478s Nov 13 19:49:51 Then I receive a response code 503 # features/steps/patroni_api.py:98 3478s Nov 13 19:49:51 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3478s Nov 13 19:49:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 3478s Nov 13 19:49:52 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3478s Nov 13 19:49:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 3478s Nov 13 19:49:52 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3478s Nov 13 19:49:52 Then I receive a response code 503 # features/steps/patroni_api.py:98 3478s Nov 13 19:49:52 3478s Nov 13 19:49:52 Scenario: check the scheduled switchover # features/patroni_api.feature:107 3478s Nov 13 19:49:52 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3479s Nov 13 19:49:53 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 3479s Nov 13 19:49:53 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 3479s Nov 13 19:49:53 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 3481s Nov 13 19:49:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3481s Nov 13 19:49:55 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3483s Nov 13 19:49:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3483s Nov 13 19:49:57 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 3493s Nov 13 19:50:07 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3493s Nov 13 19:50:07 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3496s Nov 13 19:50:10 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 3496s Nov 13 19:50:10 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3497s Nov 13 19:50:11 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3497s Nov 13 19:50:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 3497s Nov 13 19:50:11 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3497s Nov 13 19:50:11 Then I receive a response code 503 # features/steps/patroni_api.py:98 3497s Nov 13 19:50:11 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3497s Nov 13 19:50:11 Then I receive a response code 503 # features/steps/patroni_api.py:98 3497s Nov 13 19:50:11 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3497s Nov 13 19:50:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 3508s Nov 13 19:50:22 3508s Nov 13 19:50:22 Feature: permanent slots # features/permanent_slots.feature:1 3508s Nov 13 19:50:22 3508s Nov 13 19:50:22 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 3508s Nov 13 19:50:22 Given I start postgres0 # features/steps/basic_replication.py:8 3513s Nov 13 19:50:27 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3513s Nov 13 19:50:27 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3513s Nov 13 19:50:27 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 3513s Nov 13 19:50:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 3513s Nov 13 19:50:27 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3513s Nov 13 19:50:27 When I start postgres1 # features/steps/basic_replication.py:8 3518s Nov 13 19:50:32 And I start postgres2 # features/steps/basic_replication.py:8 3523s Nov 13 19:50:37 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 3528s Nov 13 19:50:42 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3528s Nov 13 19:50:42 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 3528s Nov 13 19:50:42 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 3528s Nov 13 19:50:42 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3528s Nov 13 19:50:42 3528s Nov 13 19:50:42 @slot-advance 3528s Nov 13 19:50:42 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 3528s Nov 13 19:50:42 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3530s Nov 13 19:50:44 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 3530s Nov 13 19:50:44 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3531s Nov 13 19:50:45 3531s Nov 13 19:50:45 @slot-advance 3531s Nov 13 19:50:45 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 3531s Nov 13 19:50:45 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3534s Nov 13 19:50:48 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3534s Nov 13 19:50:48 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3535s Nov 13 19:50:49 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3537s Nov 13 19:50:50 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3537s Nov 13 19:50:50 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3537s Nov 13 19:50:50 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3537s Nov 13 19:50:50 3537s Nov 13 19:50:50 @slot-advance 3537s Nov 13 19:50:50 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 3537s Nov 13 19:50:50 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3537s Nov 13 19:50:50 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3537s Nov 13 19:50:50 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3537s Nov 13 19:50:50 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3537s Nov 13 19:50:50 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3537s Nov 13 19:50:50 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 3537s Nov 13 19:50:50 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3537s Nov 13 19:50:50 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3537s Nov 13 19:50:50 3537s Nov 13 19:50:50 @slot-advance 3537s Nov 13 19:50:50 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 3537s Nov 13 19:50:50 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 3537s Nov 13 19:50:51 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 3537s Nov 13 19:50:51 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 3537s Nov 13 19:50:51 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3539s Nov 13 19:50:53 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3539s Nov 13 19:50:53 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3539s Nov 13 19:50:53 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3539s Nov 13 19:50:53 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3539s Nov 13 19:50:53 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3539s Nov 13 19:50:53 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3539s Nov 13 19:50:53 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 3541s Nov 13 19:50:55 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 3541s Nov 13 19:50:55 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3541s Nov 13 19:50:55 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3541s Nov 13 19:50:55 3541s Nov 13 19:50:55 @slot-advance 3541s Nov 13 19:50:55 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 3541s Nov 13 19:50:55 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 3541s Nov 13 19:50:55 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 3541s Nov 13 19:50:55 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 3541s Nov 13 19:50:55 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 3541s Nov 13 19:50:55 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 3541s Nov 13 19:50:55 3541s Nov 13 19:50:55 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 3541s Nov 13 19:50:55 Given I shut down postgres3 # features/steps/basic_replication.py:29 3542s Nov 13 19:50:56 And I shut down postgres2 # features/steps/basic_replication.py:29 3543s Nov 13 19:50:57 And I shut down postgres0 # features/steps/basic_replication.py:29 3545s Nov 13 19:50:59 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3545s Nov 13 19:50:59 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 3545s Nov 13 19:50:59 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3556s Nov 13 19:51:10 3556s Nov 13 19:51:10 Feature: priority replication # features/priority_failover.feature:1 3556s Nov 13 19:51:10 We should check that we can give nodes priority during failover 3556s Nov 13 19:51:10 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 3556s Nov 13 19:51:10 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3561s Nov 13 19:51:15 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 3565s Nov 13 19:51:19 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3566s Nov 13 19:51:20 When I shut down postgres0 # features/steps/basic_replication.py:29 3568s Nov 13 19:51:22 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 3570s Nov 13 19:51:24 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3570s Nov 13 19:51:24 When I start postgres0 # features/steps/basic_replication.py:8 3573s Nov 13 19:51:27 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3576s Nov 13 19:51:30 3576s Nov 13 19:51:30 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 3576s Nov 13 19:51:30 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3580s Nov 13 19:51:34 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 3584s Nov 13 19:51:38 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 3586s Nov 13 19:51:39 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 3587s Nov 13 19:51:41 When I shut down postgres0 # features/steps/basic_replication.py:29 3589s Nov 13 19:51:43 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3590s Nov 13 19:51:44 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 3590s Nov 13 19:51:44 3590s Nov 13 19:51:44 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 3590s Nov 13 19:51:44 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 3590s Nov 13 19:51:44 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 3590s Nov 13 19:51:44 Then I receive a response code 202 # features/steps/patroni_api.py:98 3590s Nov 13 19:51:44 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 3592s Nov 13 19:51:46 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 3593s Nov 13 19:51:47 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 3593s Nov 13 19:51:47 Then I receive a response code 412 # features/steps/patroni_api.py:98 3593s Nov 13 19:51:47 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 3593s Nov 13 19:51:47 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 3593s Nov 13 19:51:47 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 3593s Nov 13 19:51:47 Then I receive a response code 202 # features/steps/patroni_api.py:98 3593s Nov 13 19:51:47 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 3595s Nov 13 19:51:49 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 3596s Nov 13 19:51:50 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 3599s Nov 13 19:51:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 3599s Nov 13 19:51:53 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3612s Nov 13 19:52:05 3612s Nov 13 19:52:05 Feature: recovery # features/recovery.feature:1 3612s Nov 13 19:52:05 We want to check that crashed postgres is started back 3612s Nov 13 19:52:05 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 3612s Nov 13 19:52:05 Given I start postgres0 # features/steps/basic_replication.py:8 3622s Nov 13 19:52:16 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3622s Nov 13 19:52:16 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3622s Nov 13 19:52:16 When I start postgres1 # features/steps/basic_replication.py:8 3626s Nov 13 19:52:20 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 3626s Nov 13 19:52:20 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3627s Nov 13 19:52:21 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3627s Nov 13 19:52:21 waiting for server to shut down.... done 3627s Nov 13 19:52:21 server stopped 3627s Nov 13 19:52:21 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3629s Nov 13 19:52:23 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3629s Nov 13 19:52:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 3629s Nov 13 19:52:23 And I receive a response role master # features/steps/patroni_api.py:98 3629s Nov 13 19:52:23 And I receive a response timeline 1 # features/steps/patroni_api.py:98 3629s Nov 13 19:52:23 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3630s Nov 13 19:52:24 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3633s Nov 13 19:52:27 3633s Nov 13 19:52:27 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 3633s Nov 13 19:52:27 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 3633s Nov 13 19:52:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 3633s Nov 13 19:52:27 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3633s Nov 13 19:52:27 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3633s Nov 13 19:52:27 waiting for server to shut down.... done 3633s Nov 13 19:52:27 server stopped 3633s Nov 13 19:52:27 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3635s Nov 13 19:52:29 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3646s Nov 13 19:52:40 3646s Nov 13 19:52:40 Feature: standby cluster # features/standby_cluster.feature:1 3646s Nov 13 19:52:40 3646s Nov 13 19:52:40 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 3646s Nov 13 19:52:40 Given I start postgres1 # features/steps/basic_replication.py:8 3651s Nov 13 19:52:45 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3651s Nov 13 19:52:45 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3651s Nov 13 19:52: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 3651s Nov 13 19:52:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 3651s Nov 13 19:52:45 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3651s Nov 13 19:52:45 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3654s Nov 13 19:52: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 3654s Nov 13 19:52:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 3654s Nov 13 19:52:48 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3655s Nov 13 19:52:49 When I start postgres0 # features/steps/basic_replication.py:8 3659s Nov 13 19:52:53 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3660s Nov 13 19:52:54 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 3661s Nov 13 19:52:55 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3661s Nov 13 19:52:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 3661s Nov 13 19:52:55 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3661s Nov 13 19:52:55 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3661s Nov 13 19:52:55 3661s Nov 13 19:52:55 @slot-advance 3661s Nov 13 19:52:55 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 3661s Nov 13 19:52:55 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3664s Nov 13 19:52:58 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3669s Nov 13 19:53:03 3669s Nov 13 19:53:03 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 3669s Nov 13 19:53:03 When I shut down postgres1 # features/steps/basic_replication.py:29 3671s Nov 13 19:53:05 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3671s Nov 13 19:53:05 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 3672s Nov 13 19:53:06 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3672s Nov 13 19:53:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 3672s Nov 13 19:53:06 3672s Nov 13 19:53:06 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 3672s Nov 13 19:53:06 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 3675s Nov 13 19:53:09 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3678s Nov 13 19:53:12 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3678s Nov 13 19:53:12 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3678s Nov 13 19:53:12 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 3678s Nov 13 19:53:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 3678s Nov 13 19:53:12 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3678s Nov 13 19:53:12 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3681s Nov 13 19:53:15 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3681s Nov 13 19:53:15 Then I receive a response code 503 # features/steps/patroni_api.py:98 3681s Nov 13 19:53:15 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 3681s Nov 13 19:53:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 3681s Nov 13 19:53:15 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3681s Nov 13 19:53:15 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3681s Nov 13 19:53:15 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 3686s Nov 13 19:53:20 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 3686s Nov 13 19:53:20 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 3686s Nov 13 19:53:20 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3686s Nov 13 19:53:20 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 3686s Nov 13 19:53:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 3686s Nov 13 19:53:20 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3686s Nov 13 19:53:20 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3686s Nov 13 19:53:20 3686s Nov 13 19:53:20 Scenario: check switchover # features/standby_cluster.feature:57 3686s Nov 13 19:53:20 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 3690s Nov 13 19:53:24 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3690s Nov 13 19:53:24 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 3692s Nov 13 19:53:26 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 3692s Nov 13 19:53:26 3692s Nov 13 19:53:26 Scenario: check failover # features/standby_cluster.feature:63 3692s Nov 13 19:53:26 When I kill postgres2 # features/steps/basic_replication.py:34 3693s Nov 13 19:53:27 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 3693s Nov 13 19:53:27 waiting for server to shut down.... done 3693s Nov 13 19:53:27 server stopped 3693s Nov 13 19:53:27 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 3712s Nov 13 19:53:46 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3712s Nov 13 19:53:46 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3712s Nov 13 19:53:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 3712s Nov 13 19:53:46 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3712s Nov 13 19:53:46 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3713s Nov 13 19:53:47 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 3730s Nov 13 19:54:04 3730s Nov 13 19:54:04 Feature: watchdog # features/watchdog.feature:1 3730s Nov 13 19:54:04 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3730s Nov 13 19:54:04 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3730s Nov 13 19:54:04 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 3735s Nov 13 19:54:09 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3735s Nov 13 19:54:09 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3735s Nov 13 19:54:09 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3735s Nov 13 19:54:09 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 3735s Nov 13 19:54:09 3735s Nov 13 19:54:09 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3735s Nov 13 19:54:09 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 3737s Nov 13 19:54:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3737s Nov 13 19:54:11 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 3737s Nov 13 19:54:11 When I sleep for 4 seconds # features/steps/patroni_api.py:39 3741s Nov 13 19:54:15 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 3741s Nov 13 19:54:15 3741s Nov 13 19:54:15 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3741s Nov 13 19:54:15 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3742s Nov 13 19:54:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3742s Nov 13 19:54:16 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3744s Nov 13 19:54:18 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3744s Nov 13 19:54:18 3744s Nov 13 19:54:18 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3744s Nov 13 19:54:18 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3744s Nov 13 19:54:18 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3746s Nov 13 19:54:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3746s Nov 13 19:54:20 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3747s Nov 13 19:54:21 3747s Nov 13 19:54:21 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3747s Nov 13 19:54:21 Given I shut down postgres0 # features/steps/basic_replication.py:29 3749s Nov 13 19:54:23 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3749s Nov 13 19:54:23 3749s Nov 13 19:54:23 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3749s Nov 13 19:54:23 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3749s Nov 13 19:54:23 And I start postgres0 with watchdog # features/steps/watchdog.py:16 3752s Nov 13 19:54:26 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3754s Nov 13 19:54:28 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 3754s Nov 13 19:54:28 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 3787s Nov 13 19:55:01 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3323.XThwluMx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3326.XxFzYmux 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3370.XeImmgvx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3408.XGoxjVTx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3464.XcOAZAOx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3510.XIvYLFUx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3580.XMlfifUx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3628.XVQuenox 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3632.XckFeCZx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3725.XsqxWAbx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3832.XaPdyKIx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3835.XSMIuMgx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3878.XomzjNkx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.3927.XKtrXakx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4052.XnkeVNQx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4056.XUZMNCix 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4062.XXdnjBSx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4108.XDfCGMGx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4163.XiHTFcyx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4253.XurkWlix 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4258.XvwtdjCx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4581.XyUXxqRx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4654.XsjpTrsx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4711.XRcNZKXx 3788s Nov 13 19:55:02 Skipping duplicate data .coverage.autopkgtest-lxd-glvibh.4972.XjSoFhUx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.4975.XXSjPAqx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5027.XgEDghIx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5088.XVBxbhHx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5178.XAiRcJCx 3788s Nov 13 19:55:02 Skipping duplicate data .coverage.autopkgtest-lxd-glvibh.5273.XKFAFjBx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5277.XJcRFOsx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5321.XviFOsrx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5387.XFEzsRZx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5418.XkkLMzex 3788s Nov 13 19:55:02 Skipping duplicate data .coverage.autopkgtest-lxd-glvibh.5529.XvqhSinx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5532.XzyRuqfx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5581.XfzlcOLx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5597.XkWikAlx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5636.XUVycrLx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5683.XdXmAswx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5689.XHcpbkCx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5726.XIJAymlx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5769.XIBfaEfx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5932.XtluZTRx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5935.XrIRbxRx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.5942.XQFCngvx 3788s Nov 13 19:55:02 Skipping duplicate data .coverage.autopkgtest-lxd-glvibh.6080.XUPeRjzx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6083.XjiMehex 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6129.XmkENbfx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6177.XhqALiwx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6215.XWRTURQx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6266.XERgaxax 3788s Nov 13 19:55:02 Skipping duplicate data .coverage.autopkgtest-lxd-glvibh.6422.XwlrTvWx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6425.XtKHAMux 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6469.XInJqBCx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6540.XABNGqFx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6620.XvvKiKSx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.6667.XcbXNUJx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7008.XWueknkx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7011.XRMwEICx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7055.XsrAHfkx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7191.XBDsKPDx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7194.XthfJJIx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7258.XSYNMHtx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7310.XoSkAVVx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7410.XpjHoTlx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7531.XCqetIUx 3788s Nov 13 19:55:02 Skipping duplicate data .coverage.autopkgtest-lxd-glvibh.7659.XKZaPmSx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7663.XOHMrIXx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7707.XpRBIMvx 3788s Nov 13 19:55:02 Skipping duplicate data .coverage.autopkgtest-lxd-glvibh.7711.XucIGaox 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7715.XclJhnjx 3788s Nov 13 19:55:02 Combined data file .coverage.autopkgtest-lxd-glvibh.7727.XIQHkJUx 3788s Nov 13 19:55:02 Skipping duplicate data .coverage.autopkgtest-lxd-glvibh.7792.XZKoByEx 3790s Nov 13 19:55:04 Name Stmts Miss Cover 3790s Nov 13 19:55:04 ------------------------------------------------------------------------------------------------------------- 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 114 96 16% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 397 257 35% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 59 58% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 50 64% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/utils.py 77 23 70% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/api.py 770 288 63% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 83 87% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 42 87% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/ha.py 1244 310 75% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 31 91% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 492 53% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 40 84% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/six.py 504 250 50% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3790s Nov 13 19:55:04 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3790s Nov 13 19:55:04 patroni/__init__.py 13 2 85% 3790s Nov 13 19:55:04 patroni/__main__.py 199 199 0% 3790s Nov 13 19:55:04 patroni/api.py 770 770 0% 3790s Nov 13 19:55:04 patroni/async_executor.py 96 69 28% 3790s Nov 13 19:55:04 patroni/collections.py 56 15 73% 3790s Nov 13 19:55:04 patroni/config.py 371 189 49% 3790s Nov 13 19:55:04 patroni/config_generator.py 212 212 0% 3790s Nov 13 19:55:04 patroni/ctl.py 936 411 56% 3790s Nov 13 19:55:04 patroni/daemon.py 76 6 92% 3790s Nov 13 19:55:04 patroni/dcs/__init__.py 646 268 59% 3790s Nov 13 19:55:04 patroni/dcs/consul.py 485 485 0% 3790s Nov 13 19:55:04 patroni/dcs/etcd3.py 679 679 0% 3790s Nov 13 19:55:04 patroni/dcs/etcd.py 603 603 0% 3790s Nov 13 19:55:04 patroni/dcs/exhibitor.py 61 61 0% 3790s Nov 13 19:55:04 patroni/dcs/kubernetes.py 938 938 0% 3790s Nov 13 19:55:04 patroni/dcs/raft.py 319 73 77% 3790s Nov 13 19:55:04 patroni/dcs/zookeeper.py 288 288 0% 3790s Nov 13 19:55:04 patroni/dynamic_loader.py 35 7 80% 3790s Nov 13 19:55:04 patroni/exceptions.py 16 1 94% 3790s Nov 13 19:55:04 patroni/file_perm.py 43 15 65% 3790s Nov 13 19:55:04 patroni/global_config.py 81 18 78% 3790s Nov 13 19:55:04 patroni/ha.py 1244 1244 0% 3790s Nov 13 19:55:04 patroni/log.py 219 93 58% 3790s Nov 13 19:55:04 patroni/postgresql/__init__.py 821 651 21% 3790s Nov 13 19:55:04 patroni/postgresql/available_parameters/__init__.py 21 1 95% 3790s Nov 13 19:55:04 patroni/postgresql/bootstrap.py 252 222 12% 3790s Nov 13 19:55:04 patroni/postgresql/callback_executor.py 55 34 38% 3790s Nov 13 19:55:04 patroni/postgresql/cancellable.py 104 84 19% 3790s Nov 13 19:55:04 patroni/postgresql/config.py 813 698 14% 3790s Nov 13 19:55:04 patroni/postgresql/connection.py 75 50 33% 3790s Nov 13 19:55:04 patroni/postgresql/misc.py 41 29 29% 3790s Nov 13 19:55:04 patroni/postgresql/mpp/__init__.py 89 21 76% 3790s Nov 13 19:55:04 patroni/postgresql/mpp/citus.py 259 259 0% 3790s Nov 13 19:55:04 patroni/postgresql/postmaster.py 170 139 18% 3790s Nov 13 19:55:04 patroni/postgresql/rewind.py 416 416 0% 3790s Nov 13 19:55:04 patroni/postgresql/slots.py 334 285 15% 3790s Nov 13 19:55:04 patroni/postgresql/sync.py 130 96 26% 3790s Nov 13 19:55:04 patroni/postgresql/validator.py 157 52 67% 3790s Nov 13 19:55:04 patroni/psycopg.py 42 28 33% 3790s Nov 13 19:55:04 patroni/raft_controller.py 22 1 95% 3790s Nov 13 19:55:04 patroni/request.py 62 6 90% 3790s Nov 13 19:55:04 patroni/scripts/__init__.py 0 0 100% 3790s Nov 13 19:55:04 patroni/scripts/aws.py 59 59 0% 3790s Nov 13 19:55:04 patroni/scripts/barman/__init__.py 0 0 100% 3790s Nov 13 19:55:04 patroni/scripts/barman/cli.py 51 51 0% 3790s Nov 13 19:55:04 patroni/scripts/barman/config_switch.py 51 51 0% 3790s Nov 13 19:55:04 patroni/scripts/barman/recover.py 37 37 0% 3790s Nov 13 19:55:04 patroni/scripts/barman/utils.py 94 94 0% 3790s Nov 13 19:55:04 patroni/scripts/wale_restore.py 207 207 0% 3790s Nov 13 19:55:04 patroni/tags.py 38 11 71% 3790s Nov 13 19:55:04 patroni/utils.py 350 215 39% 3790s Nov 13 19:55:04 patroni/validator.py 301 215 29% 3790s Nov 13 19:55:04 patroni/version.py 1 0 100% 3790s Nov 13 19:55:04 patroni/watchdog/__init__.py 2 2 0% 3790s Nov 13 19:55:04 patroni/watchdog/base.py 203 203 0% 3790s Nov 13 19:55:04 patroni/watchdog/linux.py 135 135 0% 3790s Nov 13 19:55:04 ------------------------------------------------------------------------------------------------------------- 3790s Nov 13 19:55:04 TOTAL 44230 25099 43% 3790s Nov 13 19:55:04 12 features passed, 0 failed, 1 skipped 3790s Nov 13 19:55:04 54 scenarios passed, 0 failed, 6 skipped 3790s Nov 13 19:55:04 522 steps passed, 0 failed, 63 skipped, 0 undefined 3790s Nov 13 19:55:04 Took 9m24.592s 3790s ### End 16 acceptance-raft ### 3790s + echo '### End 16 acceptance-raft ###' 3790s + rm -f '/tmp/pgpass?' 3790s ++ id -u 3790s + '[' 1000 -eq 0 ']' 3791s autopkgtest [19:55:05]: test acceptance-raft: -----------------------] 3795s autopkgtest [19:55:09]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3795s acceptance-raft PASS 3799s autopkgtest [19:55:13]: test test: preparing testbed 3852s autopkgtest [19:56:06]: testbed dpkg architecture: armhf 3854s autopkgtest [19:56:08]: testbed apt version: 2.9.8 3854s autopkgtest [19:56:08]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3862s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 3862s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [98.3 kB] 3863s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 3863s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.2 kB] 3863s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [958 kB] 3863s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [101 kB] 3863s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [647 kB] 3863s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [17.2 kB] 3863s Fetched 1919 kB in 1s (1935 kB/s) 3863s Reading package lists... 3879s tee: /proc/self/fd/2: Permission denied 3900s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 3900s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 3900s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 3900s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 3902s Reading package lists... 3902s Reading package lists... 3902s Building dependency tree... 3902s Reading state information... 3902s Calculating upgrade... 3903s The following NEW packages will be installed: 3903s python3.13-gdbm 3903s The following packages will be upgraded: 3903s libgnutls30t64 libjson-glib-1.0-0 libjson-glib-1.0-common libnewt0.52 3903s libpython3-stdlib libutempter0 python3 python3-gdbm python3-minimal 3903s python3-newt whiptail 3903s 11 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 3903s Need to get 1207 kB of archives. 3903s After this operation, 124 kB of additional disk space will be used. 3903s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-minimal armhf 3.12.7-1 [27.4 kB] 3903s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3 armhf 3.12.7-1 [24.0 kB] 3903s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libpython3-stdlib armhf 3.12.7-1 [10.0 kB] 3903s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls30t64 armhf 3.8.8-2ubuntu1 [955 kB] 3904s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf python3-newt armhf 0.52.24-2ubuntu4 [19.7 kB] 3904s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf libnewt0.52 armhf 0.52.24-2ubuntu4 [39.2 kB] 3904s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf whiptail armhf 0.52.24-2ubuntu4 [17.2 kB] 3904s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf python3.13-gdbm armhf 3.13.0-2 [29.5 kB] 3904s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-gdbm armhf 3.12.7-1 [8642 B] 3904s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 3904s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-glib-1.0-0 armhf 1.10.0+ds-3 [61.7 kB] 3904s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libutempter0 armhf 1.2.1-4 [9062 B] 3904s Fetched 1207 kB in 1s (1994 kB/s) 3904s (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 ... 59559 files and directories currently installed.) 3904s Preparing to unpack .../python3-minimal_3.12.7-1_armhf.deb ... 3904s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 3904s Setting up python3-minimal (3.12.7-1) ... 3904s (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 ... 59559 files and directories currently installed.) 3904s Preparing to unpack .../python3_3.12.7-1_armhf.deb ... 3904s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 3904s Preparing to unpack .../libpython3-stdlib_3.12.7-1_armhf.deb ... 3904s Unpacking libpython3-stdlib:armhf (3.12.7-1) over (3.12.6-0ubuntu1) ... 3904s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_armhf.deb ... 3904s Unpacking libgnutls30t64:armhf (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 3904s Setting up libgnutls30t64:armhf (3.8.8-2ubuntu1) ... 3905s (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 ... 59559 files and directories currently installed.) 3905s Preparing to unpack .../0-python3-newt_0.52.24-2ubuntu4_armhf.deb ... 3905s Unpacking python3-newt:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 3905s Preparing to unpack .../1-libnewt0.52_0.52.24-2ubuntu4_armhf.deb ... 3905s Unpacking libnewt0.52:armhf (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 3905s Preparing to unpack .../2-whiptail_0.52.24-2ubuntu4_armhf.deb ... 3905s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 3905s Selecting previously unselected package python3.13-gdbm. 3905s Preparing to unpack .../3-python3.13-gdbm_3.13.0-2_armhf.deb ... 3905s Unpacking python3.13-gdbm (3.13.0-2) ... 3905s Preparing to unpack .../4-python3-gdbm_3.12.7-1_armhf.deb ... 3905s Unpacking python3-gdbm:armhf (3.12.7-1) over (3.12.6-1ubuntu1) ... 3905s Preparing to unpack .../5-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 3905s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 3905s Preparing to unpack .../6-libjson-glib-1.0-0_1.10.0+ds-3_armhf.deb ... 3905s Unpacking libjson-glib-1.0-0:armhf (1.10.0+ds-3) over (1.10.0+ds-2) ... 3905s Preparing to unpack .../7-libutempter0_1.2.1-4_armhf.deb ... 3905s Unpacking libutempter0:armhf (1.2.1-4) over (1.2.1-3build1) ... 3905s Setting up libnewt0.52:armhf (0.52.24-2ubuntu4) ... 3905s Setting up libutempter0:armhf (1.2.1-4) ... 3905s Setting up whiptail (0.52.24-2ubuntu4) ... 3905s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 3905s Setting up python3.13-gdbm (3.13.0-2) ... 3905s Setting up libpython3-stdlib:armhf (3.12.7-1) ... 3905s Setting up python3 (3.12.7-1) ... 3905s Setting up python3-newt:armhf (0.52.24-2ubuntu4) ... 3905s Setting up libjson-glib-1.0-0:armhf (1.10.0+ds-3) ... 3905s Setting up python3-gdbm:armhf (3.12.7-1) ... 3905s Processing triggers for man-db (2.12.1-3) ... 3906s Processing triggers for libc-bin (2.40-1ubuntu3) ... 3906s Reading package lists... 3906s Building dependency tree... 3906s Reading state information... 3907s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3909s autopkgtest [19:57:03]: rebooting testbed after setup commands that affected boot 4012s Reading package lists... 4013s Building dependency tree... 4013s Reading state information... 4013s Starting pkgProblemResolver with broken count: 0 4013s Starting 2 pkgProblemResolver with broken count: 0 4013s Done 4014s The following additional packages will be installed: 4014s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 4014s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 4014s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 4014s libjs-underscore libpq5 patroni patroni-doc python3-aiohttp 4014s python3-aiosignal python3-async-timeout python3-boto3 python3-botocore 4014s python3-cachetools python3-cdiff python3-click python3-colorama 4014s python3-consul python3-coverage python3-dateutil python3-dnspython 4014s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 4014s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 4014s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 4014s python3-mccabe python3-mock python3-multidict python3-packaging 4014s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 4014s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 4014s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 4014s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 4014s python3-s3transfer python3-six python3-wcwidth python3-websocket 4014s python3-yarl python3-ydiff python3-zope.event python3-zope.interface 4014s sphinx-rtd-theme-common 4014s Suggested packages: 4014s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 4014s python3-tornado python3-twisted python-coverage-doc python3-trio 4014s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 4014s python-eventlet-doc python-gevent-doc python-greenlet-dev 4014s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 4014s Recommended packages: 4014s javascript-common python3-aiodns pyflakes3 4014s The following NEW packages will be installed: 4014s autopkgtest-satdep fonts-font-awesome fonts-lato libcares2 libev4t64 4014s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 4014s libjs-jquery-metadata libjs-jquery-tablesorter 4014s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 4014s patroni patroni-doc python3-aiohttp python3-aiosignal python3-async-timeout 4014s python3-boto3 python3-botocore python3-cachetools python3-cdiff 4014s python3-click python3-colorama python3-consul python3-coverage 4014s python3-dateutil python3-dnspython python3-etcd python3-eventlet 4014s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 4014s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 4014s python3-kerberos python3-kubernetes python3-mccabe python3-mock 4014s python3-multidict python3-packaging python3-pluggy python3-prettytable 4014s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 4014s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 4014s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 4014s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 4014s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 4014s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 4014s 0 upgraded, 70 newly installed, 0 to remove and 0 not upgraded. 4014s Need to get 16.8 MB/16.8 MB of archives. 4014s After this operation, 156 MB of additional disk space will be used. 4014s Get:1 /tmp/autopkgtest.F0zun9/6-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [792 B] 4014s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 4015s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 4015s Get:4 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 4015s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 4015s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.2-1 [79.8 kB] 4015s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 4015s Get:8 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-metadata all 12-4 [6582 B] 4015s Get:9 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 4015s Get:10 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 4015s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 4015s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 4015s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 4015s Get:14 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 4015s Get:15 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 4015s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 4015s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 4015s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 4015s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 4015s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 4015s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 4015s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 4015s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 4015s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 4015s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-4 [31.9 kB] 4015s Get:26 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-consul all 0.7.1-2 [21.6 kB] 4015s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf python3-greenlet armhf 3.0.3-0ubuntu6 [153 kB] 4015s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 4015s Get:29 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-zope.event all 5.0-0.1 [7512 B] 4015s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zope.interface armhf 7.1.1-1 [138 kB] 4015s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gevent armhf 24.2.1-1 [773 kB] 4015s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build9 [19.8 kB] 4015s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 4015s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 4015s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-multidict armhf 6.1.0-1 [31.3 kB] 4015s Get:36 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-yarl armhf 1.9.4-1 [67.1 kB] 4015s Get:37 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-async-timeout all 4.0.3-1 [6412 B] 4015s Get:38 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-frozenlist armhf 1.5.0-1 [43.8 kB] 4015s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiosignal all 1.3.1-1 [5172 B] 4015s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiohttp armhf 3.9.5-1 [274 kB] 4015s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf python3-cachetools all 5.3.3-1 [10.3 kB] 4015s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1 all 0.5.1-1 [57.4 kB] 4015s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1-modules all 0.3.0-1 [80.2 kB] 4015s Get:44 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyu2f all 0.1.5-4 [22.9 kB] 4015s Get:45 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-responses all 0.25.3-1 [54.3 kB] 4015s Get:46 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-rsa all 4.9-2 [28.2 kB] 4015s Get:47 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-google-auth all 2.28.2-3 [91.0 kB] 4015s Get:48 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 4015s Get:49 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-websocket all 1.8.0-2 [38.5 kB] 4015s Get:50 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kubernetes all 30.1.0-1 [386 kB] 4015s Get:51 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.12-1 [38.9 kB] 4015s Get:52 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 4015s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 4015s Get:54 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 4015s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jmespath all 1.0.1-1 [21.3 kB] 4015s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 4015s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 4015s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 4015s Get:59 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 4015s Get:60 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mccabe all 0.7.0-1 [8678 B] 4015s Get:61 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pycodestyle all 2.11.1-1 [29.9 kB] 4015s Get:62 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyflakes all 3.2.0-1 [52.8 kB] 4015s Get:63 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-flake8 all 7.1.1-1 [43.9 kB] 4015s Get:64 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 4015s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf python3-packaging all 24.1-1 [41.4 kB] 4015s Get:66 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 4015s Get:67 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest all 8.3.3-1 [251 kB] 4015s Get:68 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 4015s Get:69 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest-cov all 5.0.0-1 [21.3 kB] 4015s Get:70 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mock all 5.1.0-1 [64.1 kB] 4016s Fetched 16.8 MB in 2s (11.1 MB/s) 4016s Selecting previously unselected package fonts-lato. 4016s (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 ... 59567 files and directories currently installed.) 4016s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 4016s Unpacking fonts-lato (2.015-1) ... 4016s Selecting previously unselected package libjs-jquery. 4016s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 4016s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4016s Selecting previously unselected package libjs-jquery-hotkeys. 4016s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 4016s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 4016s Selecting previously unselected package fonts-font-awesome. 4016s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 4016s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4016s Selecting previously unselected package libcares2:armhf. 4016s Preparing to unpack .../04-libcares2_1.34.2-1_armhf.deb ... 4016s Unpacking libcares2:armhf (1.34.2-1) ... 4016s Selecting previously unselected package libev4t64:armhf. 4016s Preparing to unpack .../05-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 4016s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 4016s Selecting previously unselected package libjs-jquery-metadata. 4016s Preparing to unpack .../06-libjs-jquery-metadata_12-4_all.deb ... 4016s Unpacking libjs-jquery-metadata (12-4) ... 4016s Selecting previously unselected package libjs-jquery-tablesorter. 4016s Preparing to unpack .../07-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 4016s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 4016s Selecting previously unselected package libjs-jquery-throttle-debounce. 4016s Preparing to unpack .../08-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 4016s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 4016s Selecting previously unselected package libjs-underscore. 4017s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 4017s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4017s Selecting previously unselected package libjs-sphinxdoc. 4017s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 4017s Unpacking libjs-sphinxdoc (7.4.7-4) ... 4017s Selecting previously unselected package libpq5:armhf. 4017s Preparing to unpack .../11-libpq5_17.0-1_armhf.deb ... 4017s Unpacking libpq5:armhf (17.0-1) ... 4017s Selecting previously unselected package python3-ydiff. 4017s Preparing to unpack .../12-python3-ydiff_1.3-1_all.deb ... 4017s Unpacking python3-ydiff (1.3-1) ... 4017s Selecting previously unselected package python3-cdiff. 4017s Preparing to unpack .../13-python3-cdiff_1.3-1_all.deb ... 4017s Unpacking python3-cdiff (1.3-1) ... 4017s Selecting previously unselected package python3-colorama. 4017s Preparing to unpack .../14-python3-colorama_0.4.6-4_all.deb ... 4017s Unpacking python3-colorama (0.4.6-4) ... 4017s Selecting previously unselected package python3-click. 4017s Preparing to unpack .../15-python3-click_8.1.7-2_all.deb ... 4017s Unpacking python3-click (8.1.7-2) ... 4017s Selecting previously unselected package python3-six. 4017s Preparing to unpack .../16-python3-six_1.16.0-7_all.deb ... 4017s Unpacking python3-six (1.16.0-7) ... 4017s Selecting previously unselected package python3-dateutil. 4017s Preparing to unpack .../17-python3-dateutil_2.9.0-2_all.deb ... 4017s Unpacking python3-dateutil (2.9.0-2) ... 4017s Selecting previously unselected package python3-wcwidth. 4017s Preparing to unpack .../18-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 4017s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 4017s Selecting previously unselected package python3-prettytable. 4017s Preparing to unpack .../19-python3-prettytable_3.10.1-1_all.deb ... 4017s Unpacking python3-prettytable (3.10.1-1) ... 4017s Selecting previously unselected package python3-psutil. 4017s Preparing to unpack .../20-python3-psutil_5.9.8-2build2_armhf.deb ... 4017s Unpacking python3-psutil (5.9.8-2build2) ... 4017s Selecting previously unselected package python3-psycopg2. 4017s Preparing to unpack .../21-python3-psycopg2_2.9.9-2_armhf.deb ... 4017s Unpacking python3-psycopg2 (2.9.9-2) ... 4017s Selecting previously unselected package python3-dnspython. 4017s Preparing to unpack .../22-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 4017s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 4017s Selecting previously unselected package python3-etcd. 4017s Preparing to unpack .../23-python3-etcd_0.4.5-4_all.deb ... 4017s Unpacking python3-etcd (0.4.5-4) ... 4017s Selecting previously unselected package python3-consul. 4017s Preparing to unpack .../24-python3-consul_0.7.1-2_all.deb ... 4017s Unpacking python3-consul (0.7.1-2) ... 4017s Selecting previously unselected package python3-greenlet. 4017s Preparing to unpack .../25-python3-greenlet_3.0.3-0ubuntu6_armhf.deb ... 4017s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 4017s Selecting previously unselected package python3-eventlet. 4017s Preparing to unpack .../26-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 4017s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 4017s Selecting previously unselected package python3-zope.event. 4017s Preparing to unpack .../27-python3-zope.event_5.0-0.1_all.deb ... 4017s Unpacking python3-zope.event (5.0-0.1) ... 4017s Selecting previously unselected package python3-zope.interface. 4017s Preparing to unpack .../28-python3-zope.interface_7.1.1-1_armhf.deb ... 4017s Unpacking python3-zope.interface (7.1.1-1) ... 4017s Selecting previously unselected package python3-gevent. 4017s Preparing to unpack .../29-python3-gevent_24.2.1-1_armhf.deb ... 4017s Unpacking python3-gevent (24.2.1-1) ... 4017s Selecting previously unselected package python3-kerberos. 4017s Preparing to unpack .../30-python3-kerberos_1.1.14-3.1build9_armhf.deb ... 4017s Unpacking python3-kerberos (1.1.14-3.1build9) ... 4017s Selecting previously unselected package python3-pure-sasl. 4017s Preparing to unpack .../31-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 4017s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 4017s Selecting previously unselected package python3-kazoo. 4017s Preparing to unpack .../32-python3-kazoo_2.9.0-2_all.deb ... 4017s Unpacking python3-kazoo (2.9.0-2) ... 4017s Selecting previously unselected package python3-multidict. 4017s Preparing to unpack .../33-python3-multidict_6.1.0-1_armhf.deb ... 4017s Unpacking python3-multidict (6.1.0-1) ... 4017s Selecting previously unselected package python3-yarl. 4017s Preparing to unpack .../34-python3-yarl_1.9.4-1_armhf.deb ... 4017s Unpacking python3-yarl (1.9.4-1) ... 4017s Selecting previously unselected package python3-async-timeout. 4017s Preparing to unpack .../35-python3-async-timeout_4.0.3-1_all.deb ... 4017s Unpacking python3-async-timeout (4.0.3-1) ... 4017s Selecting previously unselected package python3-frozenlist. 4017s Preparing to unpack .../36-python3-frozenlist_1.5.0-1_armhf.deb ... 4017s Unpacking python3-frozenlist (1.5.0-1) ... 4017s Selecting previously unselected package python3-aiosignal. 4017s Preparing to unpack .../37-python3-aiosignal_1.3.1-1_all.deb ... 4017s Unpacking python3-aiosignal (1.3.1-1) ... 4017s Selecting previously unselected package python3-aiohttp. 4018s Preparing to unpack .../38-python3-aiohttp_3.9.5-1_armhf.deb ... 4018s Unpacking python3-aiohttp (3.9.5-1) ... 4018s Selecting previously unselected package python3-cachetools. 4018s Preparing to unpack .../39-python3-cachetools_5.3.3-1_all.deb ... 4018s Unpacking python3-cachetools (5.3.3-1) ... 4018s Selecting previously unselected package python3-pyasn1. 4018s Preparing to unpack .../40-python3-pyasn1_0.5.1-1_all.deb ... 4018s Unpacking python3-pyasn1 (0.5.1-1) ... 4018s Selecting previously unselected package python3-pyasn1-modules. 4018s Preparing to unpack .../41-python3-pyasn1-modules_0.3.0-1_all.deb ... 4018s Unpacking python3-pyasn1-modules (0.3.0-1) ... 4018s Selecting previously unselected package python3-pyu2f. 4018s Preparing to unpack .../42-python3-pyu2f_0.1.5-4_all.deb ... 4018s Unpacking python3-pyu2f (0.1.5-4) ... 4018s Selecting previously unselected package python3-responses. 4018s Preparing to unpack .../43-python3-responses_0.25.3-1_all.deb ... 4018s Unpacking python3-responses (0.25.3-1) ... 4018s Selecting previously unselected package python3-rsa. 4018s Preparing to unpack .../44-python3-rsa_4.9-2_all.deb ... 4018s Unpacking python3-rsa (4.9-2) ... 4018s Selecting previously unselected package python3-google-auth. 4018s Preparing to unpack .../45-python3-google-auth_2.28.2-3_all.deb ... 4018s Unpacking python3-google-auth (2.28.2-3) ... 4018s Selecting previously unselected package python3-requests-oauthlib. 4018s Preparing to unpack .../46-python3-requests-oauthlib_1.3.1-1_all.deb ... 4018s Unpacking python3-requests-oauthlib (1.3.1-1) ... 4018s Selecting previously unselected package python3-websocket. 4018s Preparing to unpack .../47-python3-websocket_1.8.0-2_all.deb ... 4018s Unpacking python3-websocket (1.8.0-2) ... 4018s Selecting previously unselected package python3-kubernetes. 4018s Preparing to unpack .../48-python3-kubernetes_30.1.0-1_all.deb ... 4018s Unpacking python3-kubernetes (30.1.0-1) ... 4018s Selecting previously unselected package python3-pysyncobj. 4018s Preparing to unpack .../49-python3-pysyncobj_0.3.12-1_all.deb ... 4018s Unpacking python3-pysyncobj (0.3.12-1) ... 4018s Selecting previously unselected package patroni. 4018s Preparing to unpack .../50-patroni_3.3.1-1_all.deb ... 4018s Unpacking patroni (3.3.1-1) ... 4018s Selecting previously unselected package sphinx-rtd-theme-common. 4018s Preparing to unpack .../51-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 4018s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 4018s Selecting previously unselected package patroni-doc. 4018s Preparing to unpack .../52-patroni-doc_3.3.1-1_all.deb ... 4018s Unpacking patroni-doc (3.3.1-1) ... 4018s Selecting previously unselected package python3-jmespath. 4018s Preparing to unpack .../53-python3-jmespath_1.0.1-1_all.deb ... 4018s Unpacking python3-jmespath (1.0.1-1) ... 4018s Selecting previously unselected package python3-botocore. 4018s Preparing to unpack .../54-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 4018s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 4019s Selecting previously unselected package python3-s3transfer. 4019s Preparing to unpack .../55-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 4019s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 4019s Selecting previously unselected package python3-boto3. 4019s Preparing to unpack .../56-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 4019s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 4019s Selecting previously unselected package python3-coverage. 4019s Preparing to unpack .../57-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 4019s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 4019s Selecting previously unselected package python3-mccabe. 4019s Preparing to unpack .../58-python3-mccabe_0.7.0-1_all.deb ... 4019s Unpacking python3-mccabe (0.7.0-1) ... 4019s Selecting previously unselected package python3-pycodestyle. 4019s Preparing to unpack .../59-python3-pycodestyle_2.11.1-1_all.deb ... 4019s Unpacking python3-pycodestyle (2.11.1-1) ... 4019s Selecting previously unselected package python3-pyflakes. 4019s Preparing to unpack .../60-python3-pyflakes_3.2.0-1_all.deb ... 4019s Unpacking python3-pyflakes (3.2.0-1) ... 4019s Selecting previously unselected package python3-flake8. 4019s Preparing to unpack .../61-python3-flake8_7.1.1-1_all.deb ... 4019s Unpacking python3-flake8 (7.1.1-1) ... 4019s Selecting previously unselected package python3-iniconfig. 4019s Preparing to unpack .../62-python3-iniconfig_1.1.1-2_all.deb ... 4019s Unpacking python3-iniconfig (1.1.1-2) ... 4019s Selecting previously unselected package python3-packaging. 4019s Preparing to unpack .../63-python3-packaging_24.1-1_all.deb ... 4019s Unpacking python3-packaging (24.1-1) ... 4019s Selecting previously unselected package python3-pluggy. 4019s Preparing to unpack .../64-python3-pluggy_1.5.0-1_all.deb ... 4019s Unpacking python3-pluggy (1.5.0-1) ... 4019s Selecting previously unselected package python3-pytest. 4019s Preparing to unpack .../65-python3-pytest_8.3.3-1_all.deb ... 4019s Unpacking python3-pytest (8.3.3-1) ... 4019s Selecting previously unselected package libjs-jquery-isonscreen. 4019s Preparing to unpack .../66-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 4019s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 4019s Selecting previously unselected package python3-pytest-cov. 4019s Preparing to unpack .../67-python3-pytest-cov_5.0.0-1_all.deb ... 4019s Unpacking python3-pytest-cov (5.0.0-1) ... 4019s Selecting previously unselected package python3-mock. 4019s Preparing to unpack .../68-python3-mock_5.1.0-1_all.deb ... 4019s Unpacking python3-mock (5.1.0-1) ... 4019s Selecting previously unselected package autopkgtest-satdep. 4019s Preparing to unpack .../69-6-autopkgtest-satdep.deb ... 4019s Unpacking autopkgtest-satdep (0) ... 4019s Setting up python3-iniconfig (1.1.1-2) ... 4020s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 4020s Setting up fonts-lato (2.015-1) ... 4020s Setting up python3-pysyncobj (0.3.12-1) ... 4020s Setting up python3-cachetools (5.3.3-1) ... 4020s Setting up python3-colorama (0.4.6-4) ... 4020s Setting up python3-zope.event (5.0-0.1) ... 4020s Setting up python3-zope.interface (7.1.1-1) ... 4020s Setting up python3-pyflakes (3.2.0-1) ... 4021s Setting up python3-ydiff (1.3-1) ... 4021s Setting up libpq5:armhf (17.0-1) ... 4021s Setting up python3-kerberos (1.1.14-3.1build9) ... 4021s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 4021s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 4021s Setting up python3-click (8.1.7-2) ... 4021s Setting up python3-psutil (5.9.8-2build2) ... 4021s Setting up python3-multidict (6.1.0-1) ... 4022s Setting up python3-frozenlist (1.5.0-1) ... 4022s Setting up python3-aiosignal (1.3.1-1) ... 4022s Setting up python3-mock (5.1.0-1) ... 4022s Setting up python3-async-timeout (4.0.3-1) ... 4022s Setting up python3-six (1.16.0-7) ... 4022s Setting up python3-responses (0.25.3-1) ... 4022s Setting up python3-pycodestyle (2.11.1-1) ... 4023s Setting up python3-packaging (24.1-1) ... 4023s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 4023s Setting up python3-pyu2f (0.1.5-4) ... 4023s Setting up python3-jmespath (1.0.1-1) ... 4023s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 4023s Setting up libcares2:armhf (1.34.2-1) ... 4023s Setting up python3-psycopg2 (2.9.9-2) ... 4023s Setting up python3-pluggy (1.5.0-1) ... 4024s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 4024s Setting up python3-pyasn1 (0.5.1-1) ... 4024s Setting up python3-dateutil (2.9.0-2) ... 4024s Setting up python3-mccabe (0.7.0-1) ... 4024s Setting up python3-consul (0.7.1-2) ... 4024s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4024s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 4024s Setting up python3-prettytable (3.10.1-1) ... 4025s Setting up python3-yarl (1.9.4-1) ... 4025s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4025s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 4025s Setting up python3-websocket (1.8.0-2) ... 4025s Setting up python3-requests-oauthlib (1.3.1-1) ... 4025s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4025s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 4025s Setting up python3-etcd (0.4.5-4) ... 4025s Setting up python3-pytest (8.3.3-1) ... 4026s Setting up python3-cdiff (1.3-1) ... 4026s Setting up python3-aiohttp (3.9.5-1) ... 4026s Setting up python3-gevent (24.2.1-1) ... 4026s Setting up python3-flake8 (7.1.1-1) ... 4027s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 4027s Setting up python3-kazoo (2.9.0-2) ... 4027s Setting up python3-pyasn1-modules (0.3.0-1) ... 4027s Setting up libjs-jquery-metadata (12-4) ... 4027s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 4028s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 4028s Setting up libjs-sphinxdoc (7.4.7-4) ... 4028s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 4028s Setting up python3-rsa (4.9-2) ... 4028s Setting up patroni (3.3.1-1) ... 4028s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 4029s Setting up patroni-doc (3.3.1-1) ... 4029s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 4029s Setting up python3-pytest-cov (5.0.0-1) ... 4029s Setting up python3-google-auth (2.28.2-3) ... 4029s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 4029s Setting up python3-kubernetes (30.1.0-1) ... 4031s Setting up autopkgtest-satdep (0) ... 4031s Processing triggers for man-db (2.12.1-3) ... 4031s Processing triggers for libc-bin (2.40-1ubuntu3) ... 4051s (Reading database ... 65669 files and directories currently installed.) 4051s Removing autopkgtest-satdep (0) ... 4063s autopkgtest [19:59:37]: test test: [----------------------- 4065s running test 4065s ============================= test session starts ============================== 4065s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3 4065s cachedir: .pytest_cache 4065s rootdir: /tmp/autopkgtest.F0zun9/build.hMw/src 4065s plugins: typeguard-4.4.1, cov-5.0.0 4073s collecting ... collected 646 items 4073s 4073s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 4073s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 4073s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 4073s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 4073s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 4073s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 4073s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 4073s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 4073s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 4073s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 4073s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 4073s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 4073s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 4073s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 4073s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 4073s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 4073s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 4073s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 4073s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 4073s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 4073s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 4073s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 4073s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 4073s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 4074s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 4074s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 4074s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 4074s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 4074s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 4074s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 4074s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 4074s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 4074s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 4074s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 4074s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 4074s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 4074s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 4074s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 4074s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 4074s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 4074s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 4074s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 4075s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 4075s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 4075s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 4075s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 4075s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 4075s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 4075s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 4075s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 4075s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 4075s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 8%] 4075s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 4075s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 4075s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 4075s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 4075s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 4075s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 4075s tests/test_barman.py::TestMain::test_main PASSED [ 9%] 4075s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 4075s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 4075s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 4075s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 4075s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 4075s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 10%] 4075s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 4075s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 4075s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 4075s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 4075s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 4075s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 4075s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 11%] 4075s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 4075s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 4075s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 4075s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 4075s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 4075s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 12%] 4075s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 4075s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 4075s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 4075s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 4075s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 4075s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 13%] 4075s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 13%] 4075s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 4075s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 4075s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 4075s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 4075s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 4075s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 14%] 4075s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 4075s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 4075s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 4075s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 4075s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 4075s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 15%] 4075s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 15%] 4075s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 4075s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 15%] 4075s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 4075s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 4075s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 4075s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 16%] 4075s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 16%] 4075s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 4075s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 4075s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 4075s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 4075s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 17%] 4075s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 17%] 4075s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 4075s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 4075s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 4075s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 4075s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 4075s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 18%] 4075s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 18%] 4075s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 4075s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 4075s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 4075s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 4075s tests/test_consul.py::TestConsul::test_update_service PASSED [ 19%] 4075s tests/test_consul.py::TestConsul::test_watch PASSED [ 19%] 4075s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 4075s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 4075s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 4075s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 4075s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 4075s tests/test_ctl.py::TestCtl::test_failover PASSED [ 20%] 4075s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 20%] 4075s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 4075s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 4075s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 4075s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 4075s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 21%] 4075s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 21%] 4075s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 4075s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 4075s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 4075s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 4076s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 4076s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 22%] 4076s tests/test_ctl.py::TestCtl::test_members PASSED [ 22%] 4076s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 4076s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 4076s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 4076s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 4076s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 23%] 4076s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 23%] 4076s tests/test_ctl.py::TestCtl::test_reload PASSED [ 23%] 4076s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 4076s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 4076s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 4076s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 4076s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 24%] 4076s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 24%] 4076s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 4076s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 4076s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 4076s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 4076s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 25%] 4076s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 25%] 4076s tests/test_etcd.py::TestClient::test___del__ PASSED [ 25%] 4076s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 4076s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 4076s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 4076s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 26%] 4078s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 26%] 4078s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 26%] 4078s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 4078s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 4078s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 4078s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 4078s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 27%] 4078s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 27%] 4078s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 27%] 4078s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 4078s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 4078s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 4078s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 28%] 4078s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 28%] 4078s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 28%] 4078s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 4078s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 4078s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 4078s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 4078s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 29%] 4078s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 29%] 4078s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 29%] 4078s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 4078s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 4078s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 4078s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 30%] 4078s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 30%] 4078s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 30%] 4078s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 30%] 4078s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 4078s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 4078s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 4078s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 31%] 4078s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 31%] 4078s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 31%] 4078s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 4078s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 4078s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 4078s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 32%] 4078s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 32%] 4078s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 32%] 4078s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 32%] 4078s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 4078s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 4078s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 4078s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 33%] 4078s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 33%] 4078s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 33%] 4078s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 4078s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 4078s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 4078s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 34%] 4078s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 34%] 4078s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 34%] 4078s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 34%] 4078s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 4078s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 4078s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 4078s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 35%] 4078s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 35%] 4078s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 35%] 4078s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 4078s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 4078s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 4078s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 36%] 4078s tests/test_ha.py::TestHa::test_after_pause PASSED [ 36%] 4078s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 36%] 4078s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 4079s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 4079s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 4079s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 4079s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 37%] 4079s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 37%] 4079s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 4079s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 4079s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 4079s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 4079s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 38%] 4079s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 38%] 4079s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 4079s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 4079s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 4079s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 4079s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 39%] 4079s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 39%] 4079s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 4079s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 4079s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 4079s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 4079s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 4079s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 40%] 4079s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 4079s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 4079s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 4079s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 4079s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 4079s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 41%] 4079s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 4079s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 4079s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 4079s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 4079s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 4079s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 4079s tests/test_ha.py::TestHa::test_is_leader PASSED [ 42%] 4079s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 4079s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 4079s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 4079s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 4079s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 4079s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 43%] 4079s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 43%] 4079s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 4079s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 4079s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 4080s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 4080s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 4080s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 44%] 4080s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 4080s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 4080s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 4080s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 4080s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 4080s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 45%] 4080s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 4080s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 4080s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 4080s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 4080s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 4080s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 4080s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 4080s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 4080s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 4080s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 4080s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 4080s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 4080s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 4080s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 4080s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 4080s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 4080s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 4080s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 4080s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 4080s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 4080s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 4080s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 4080s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 4080s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 4080s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 4080s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 4080s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 4080s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 4080s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 4080s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 4080s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 4080s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 4080s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 4080s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 4080s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 4080s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 4080s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 4081s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 4081s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 4081s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 4081s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 4081s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 4081s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 51%] 4081s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 4081s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 4081s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 4081s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 4081s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 4081s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 52%] 4081s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 4081s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 4081s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 4081s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 4081s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 4081s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 53%] 4081s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 53%] 4081s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 4081s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 4081s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 4081s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 4081s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 54%] 4081s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 54%] 4081s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 4081s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 4081s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 55%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 55%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 55%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 56%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 56%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 56%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 4081s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 57%] 4082s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 57%] 4082s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 4082s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 4082s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 4082s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 4082s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 58%] 4082s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 58%] 4082s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 58%] 4082s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 4082s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 4082s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 4082s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 59%] 4082s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 59%] 4082s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 59%] 4082s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 4082s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 4082s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 60%] 4083s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 60%] 4083s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 60%] 4083s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 60%] 4083s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 60%] 4083s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 4083s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 61%] 4083s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 61%] 4083s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 61%] 4083s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 61%] 4083s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 4083s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 4083s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 62%] 4083s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 62%] 4083s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 62%] 4083s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 62%] 4083s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 62%] 4083s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 4083s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 63%] 4083s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 63%] 4083s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 63%] 4083s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 63%] 4083s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 63%] 4083s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 4083s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 4083s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 64%] 4083s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 64%] 4084s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 64%] 4084s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 64%] 4084s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 64%] 4084s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 4084s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 65%] 4084s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 65%] 4084s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 65%] 4084s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 65%] 4084s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 65%] 4084s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 4084s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 4084s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 66%] 4084s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 66%] 4084s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 66%] 4084s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 66%] 4084s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 4084s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 4084s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 67%] 4084s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 67%] 4084s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 67%] 4084s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 67%] 4084s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 4084s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 4084s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 4084s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 68%] 4084s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 68%] 4084s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 68%] 4084s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 4084s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 4084s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 4084s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 69%] 4084s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 69%] 4084s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 69%] 4084s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 4084s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 4084s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 4084s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 4084s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 70%] 4084s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 70%] 4084s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 4084s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 4084s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 4084s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 4084s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 71%] 4084s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 71%] 4084s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 4084s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 4084s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 4084s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 4084s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 4084s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 72%] 4084s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 72%] 4084s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 4084s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 4084s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 4084s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 4084s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 73%] 4084s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 73%] 4084s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 4084s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 4084s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 4084s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 4084s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 4084s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 74%] 4084s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 4085s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 4085s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 4085s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 4085s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 4085s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 75%] 4086s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 4088s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 4089s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 4089s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 4090s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 4090s tests/test_raft.py::TestRaft::test_init PASSED [ 76%] 4092s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 4092s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 4092s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 4092s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 4092s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 4092s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 4092s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 4092s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 4092s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 4092s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 4092s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 4092s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 4092s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 4092s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 4092s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 4092s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 4092s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 4092s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 4092s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 4092s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 4092s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 4092s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 4092s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 4092s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 4092s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 4092s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 80%] 4092s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 4092s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 4092s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 4092s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 4092s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 4092s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 4093s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 81%] 4093s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 4093s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 4093s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 4093s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 4093s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 4093s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 4093s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 4093s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 4093s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 4093s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 4093s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 4093s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 4093s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 4093s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 4093s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 4093s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 4093s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 4093s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 4093s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 4093s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 4093s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 4093s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 4093s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 4093s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 4093s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 4093s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 4093s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 4093s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 4093s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 4093s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 4093s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 4093s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 4093s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 4093s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 4093s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 4093s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 4093s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 4093s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 4093s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 4093s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 4093s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 4093s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 4093s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 4093s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 4093s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 4093s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 4093s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 4093s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 4093s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 4093s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 4093s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 4093s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 4093s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 4093s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 4093s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 4093s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 4093s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 4093s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 4093s patroni/api.py::patroni.api.check_access PASSED [ 93%] 4093s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 4093s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 4093s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 4093s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 4093s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 4093s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 4093s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 4093s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 4093s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 4094s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 4094s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 95%] 4094s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 4094s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 4094s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 4094s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 4094s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 4094s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 4094s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 4094s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 4094s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 4094s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 4094s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 4094s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 4094s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 97%] 4094s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 4094s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 4094s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 4094s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 4094s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 4094s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 97%] 4094s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 4094s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 4094s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 4094s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 4094s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 4094s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 4094s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 4094s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 4094s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 4094s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 4094s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 4094s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 4097s patroni/utils.py::patroni.utils.unquote PASSED [100%] 4097s 4097s ---------- coverage: platform linux, python 3.12.7-final-0 ----------- 4097s Name Stmts Miss Cover Missing 4097s ----------------------------------------------------------------------------------- 4097s patroni/__init__.py 13 0 100% 4097s patroni/__main__.py 199 1 99% 395 4097s patroni/api.py 770 0 100% 4097s patroni/async_executor.py 96 0 100% 4097s patroni/collections.py 56 3 95% 50, 99, 107 4097s patroni/config.py 371 0 100% 4097s patroni/config_generator.py 212 0 100% 4097s patroni/ctl.py 936 0 100% 4097s patroni/daemon.py 76 0 100% 4097s patroni/dcs/__init__.py 646 0 100% 4097s patroni/dcs/consul.py 485 0 100% 4097s patroni/dcs/etcd3.py 679 0 100% 4097s patroni/dcs/etcd.py 603 0 100% 4097s patroni/dcs/exhibitor.py 61 0 100% 4097s patroni/dcs/kubernetes.py 938 0 100% 4097s patroni/dcs/raft.py 319 0 100% 4097s patroni/dcs/zookeeper.py 288 0 100% 4097s patroni/dynamic_loader.py 35 0 100% 4097s patroni/exceptions.py 16 0 100% 4097s patroni/file_perm.py 43 0 100% 4097s patroni/global_config.py 81 0 100% 4097s patroni/ha.py 1244 2 99% 1925-1926 4097s patroni/log.py 219 2 99% 365-367 4097s patroni/postgresql/__init__.py 821 0 100% 4097s patroni/postgresql/available_parameters/__init__.py 21 0 100% 4097s patroni/postgresql/bootstrap.py 252 0 100% 4097s patroni/postgresql/callback_executor.py 55 0 100% 4097s patroni/postgresql/cancellable.py 104 0 100% 4097s patroni/postgresql/config.py 813 0 100% 4097s patroni/postgresql/connection.py 75 0 100% 4097s patroni/postgresql/misc.py 41 0 100% 4097s patroni/postgresql/mpp/__init__.py 89 0 100% 4097s 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 4097s patroni/postgresql/postmaster.py 170 0 100% 4097s patroni/postgresql/rewind.py 416 0 100% 4097s patroni/postgresql/slots.py 334 0 100% 4097s patroni/postgresql/sync.py 130 0 100% 4097s patroni/postgresql/validator.py 157 0 100% 4097s patroni/psycopg.py 42 16 62% 19, 25-26, 42, 44-82, 120 4097s patroni/raft_controller.py 22 0 100% 4097s patroni/request.py 62 0 100% 4097s patroni/scripts/__init__.py 0 0 100% 4097s patroni/scripts/aws.py 59 1 98% 86 4097s patroni/scripts/barman/__init__.py 0 0 100% 4097s patroni/scripts/barman/cli.py 51 1 98% 240 4097s patroni/scripts/barman/config_switch.py 51 0 100% 4097s patroni/scripts/barman/recover.py 37 0 100% 4097s patroni/scripts/barman/utils.py 94 0 100% 4097s patroni/scripts/wale_restore.py 207 1 99% 374 4097s patroni/tags.py 38 0 100% 4097s patroni/utils.py 350 0 100% 4097s patroni/validator.py 301 0 100% 4097s patroni/version.py 1 0 100% 4097s patroni/watchdog/__init__.py 2 0 100% 4097s patroni/watchdog/base.py 203 0 100% 4097s patroni/watchdog/linux.py 135 1 99% 36 4097s ----------------------------------------------------------------------------------- 4097s TOTAL 13778 150 99% 4097s Coverage XML written to file coverage.xml 4097s 4097s 4097s ======================= 632 passed, 14 skipped in 32.28s ======================= 4098s autopkgtest [20:00:12]: test test: -----------------------] 4103s autopkgtest [20:00:17]: test test: - - - - - - - - - - results - - - - - - - - - - 4103s test PASS 4107s autopkgtest [20:00:21]: @@@@@@@@@@@@@@@@@@@@ summary 4107s acceptance-etcd3 PASS 4107s acceptance-etcd-basic PASS 4107s acceptance-etcd PASS 4107s acceptance-zookeeper PASS 4107s acceptance-raft PASS 4107s test PASS