0s autopkgtest [04:02:06]: starting date and time: 2024-11-14 04:02:06+0000 0s autopkgtest [04:02:06]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [04:02:06]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.li94pt25/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:zookeeper --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=zookeeper/3.9.3-1 -- lxd -r lxd-armhf-10.145.243.16 lxd-armhf-10.145.243.16:autopkgtest/ubuntu/plucky/armhf 53s autopkgtest [04:02:59]: testbed dpkg architecture: armhf 55s autopkgtest [04:03:01]: testbed apt version: 2.9.8 55s autopkgtest [04:03:01]: @@@@@@@@@@@@@@@@@@@@ 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/main Sources [101 kB] 63s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 63s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [991 kB] 64s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 64s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [104 kB] 64s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [688 kB] 64s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [5040 B] 64s Fetched 1986 kB in 1s (1698 kB/s) 64s Reading package lists... 82s tee: /proc/self/fd/2: Permission denied 99s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 99s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 99s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 99s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 100s Reading package lists... 100s Reading package lists... 101s Building dependency tree... 101s Reading state information... 101s Calculating upgrade... 102s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 102s Reading package lists... 102s Building dependency tree... 102s Reading state information... 103s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 105s autopkgtest [04:03:51]: rebooting testbed after setup commands that affected boot 173s autopkgtest [04:04:59]: 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 201s autopkgtest [04:05:27]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 216s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (dsc) [2851 B] 216s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (tar) [1150 kB] 216s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (diff) [23.1 kB] 216s gpgv: Signature made Tue Jul 2 12:54:38 2024 UTC 216s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 216s gpgv: Can't check signature: No public key 216s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.1-1.dsc: no acceptable signature found 216s autopkgtest [04:05:42]: testing package patroni version 3.3.1-1 218s autopkgtest [04:05:44]: build not needed 221s autopkgtest [04:05:47]: test acceptance-etcd3: preparing testbed 233s Reading package lists... 233s Building dependency tree... 233s Reading state information... 234s Starting pkgProblemResolver with broken count: 0 235s Starting 2 pkgProblemResolver with broken count: 0 235s Done 237s The following additional packages will be installed: 237s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 237s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm19 libpq5 237s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 237s patroni-doc postgresql postgresql-16 postgresql-client-16 237s postgresql-client-common postgresql-common python3-behave python3-cdiff 237s python3-click python3-colorama python3-coverage python3-dateutil 237s python3-dnspython python3-etcd python3-parse python3-parse-type 237s python3-prettytable python3-psutil python3-psycopg2 python3-six 237s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 237s Suggested packages: 237s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 237s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 237s python3-httpcore etcd python-psycopg2-doc 237s Recommended packages: 237s javascript-common libjson-xs-perl 237s The following NEW packages will be installed: 237s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 237s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 237s libllvm19 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 237s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 237s postgresql-client-common postgresql-common python3-behave python3-cdiff 237s python3-click python3-colorama python3-coverage python3-dateutil 237s python3-dnspython python3-etcd python3-parse python3-parse-type 237s python3-prettytable python3-psutil python3-psycopg2 python3-six 237s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 237s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 237s Need to get 61.3 MB/61.3 MB of archives. 237s After this operation, 231 MB of additional disk space will be used. 237s Get:1 /tmp/autopkgtest.hz6KX2/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [756 B] 237s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 237s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 237s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 262 [36.7 kB] 237s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.2ubuntu2 [18.0 kB] 237s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 262 [162 kB] 237s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf etcd-server armhf 3.5.15-7 [10.4 MB] 238s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 238s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 238s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 238s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 238s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 238s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 238s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.2-1ubuntu1 [27.8 MB] 239s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 239s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 239s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 239s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu1 [150 kB] 239s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 239s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 239s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 239s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 239s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 239s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 239s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 239s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 239s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 239s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 239s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 239s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 239s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-4 [31.9 kB] 239s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 239s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 239s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 239s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-16 armhf 16.4-3 [1236 kB] 239s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-16 armhf 16.4-3 [14.2 MB] 240s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 16+262 [11.8 kB] 240s Get:38 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 240s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-1 [23.4 kB] 240s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 240s Get:41 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 240s Preconfiguring packages ... 241s Fetched 61.3 MB in 3s (19.3 MB/s) 241s Selecting previously unselected package fonts-lato. 241s (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 ... 59560 files and directories currently installed.) 241s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 241s Unpacking fonts-lato (2.015-1) ... 241s Selecting previously unselected package libjson-perl. 241s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 241s Unpacking libjson-perl (4.10000-1) ... 241s Selecting previously unselected package postgresql-client-common. 241s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 241s Unpacking postgresql-client-common (262) ... 241s Selecting previously unselected package ssl-cert. 241s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 241s Unpacking ssl-cert (1.1.2ubuntu2) ... 241s Selecting previously unselected package postgresql-common. 241s Preparing to unpack .../04-postgresql-common_262_all.deb ... 241s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 241s Unpacking postgresql-common (262) ... 241s Selecting previously unselected package etcd-server. 241s Preparing to unpack .../05-etcd-server_3.5.15-7_armhf.deb ... 241s Unpacking etcd-server (3.5.15-7) ... 242s Selecting previously unselected package fonts-font-awesome. 242s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 242s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 242s Selecting previously unselected package libio-pty-perl. 242s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 242s Unpacking libio-pty-perl (1:1.20-1build3) ... 242s Selecting previously unselected package libipc-run-perl. 242s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 242s Unpacking libipc-run-perl (20231003.0-2) ... 242s Selecting previously unselected package libjs-jquery. 242s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 242s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 242s Selecting previously unselected package libjs-underscore. 242s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 242s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 242s Selecting previously unselected package libjs-sphinxdoc. 242s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 242s Unpacking libjs-sphinxdoc (7.4.7-4) ... 242s Selecting previously unselected package libllvm19:armhf. 242s Preparing to unpack .../12-libllvm19_1%3a19.1.2-1ubuntu1_armhf.deb ... 242s Unpacking libllvm19:armhf (1:19.1.2-1ubuntu1) ... 243s Selecting previously unselected package libpq5:armhf. 243s Preparing to unpack .../13-libpq5_17.0-1_armhf.deb ... 243s Unpacking libpq5:armhf (17.0-1) ... 243s Selecting previously unselected package libtime-duration-perl. 243s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 243s Unpacking libtime-duration-perl (1.21-2) ... 243s Selecting previously unselected package libtimedate-perl. 243s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 243s Unpacking libtimedate-perl (2.3300-2) ... 243s Selecting previously unselected package libxslt1.1:armhf. 243s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1ubuntu1_armhf.deb ... 243s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 243s Selecting previously unselected package moreutils. 243s Preparing to unpack .../17-moreutils_0.69-1_armhf.deb ... 243s Unpacking moreutils (0.69-1) ... 243s Selecting previously unselected package python3-ydiff. 243s Preparing to unpack .../18-python3-ydiff_1.3-1_all.deb ... 243s Unpacking python3-ydiff (1.3-1) ... 243s Selecting previously unselected package python3-cdiff. 244s Preparing to unpack .../19-python3-cdiff_1.3-1_all.deb ... 244s Unpacking python3-cdiff (1.3-1) ... 244s Selecting previously unselected package python3-colorama. 244s Preparing to unpack .../20-python3-colorama_0.4.6-4_all.deb ... 244s Unpacking python3-colorama (0.4.6-4) ... 244s Selecting previously unselected package python3-click. 244s Preparing to unpack .../21-python3-click_8.1.7-2_all.deb ... 244s Unpacking python3-click (8.1.7-2) ... 244s Selecting previously unselected package python3-six. 244s Preparing to unpack .../22-python3-six_1.16.0-7_all.deb ... 244s Unpacking python3-six (1.16.0-7) ... 244s Selecting previously unselected package python3-dateutil. 244s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 244s Unpacking python3-dateutil (2.9.0-2) ... 244s Selecting previously unselected package python3-wcwidth. 244s Preparing to unpack .../24-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 244s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 244s Selecting previously unselected package python3-prettytable. 244s Preparing to unpack .../25-python3-prettytable_3.10.1-1_all.deb ... 244s Unpacking python3-prettytable (3.10.1-1) ... 244s Selecting previously unselected package python3-psutil. 244s Preparing to unpack .../26-python3-psutil_5.9.8-2build2_armhf.deb ... 244s Unpacking python3-psutil (5.9.8-2build2) ... 244s Selecting previously unselected package python3-psycopg2. 244s Preparing to unpack .../27-python3-psycopg2_2.9.9-2_armhf.deb ... 244s Unpacking python3-psycopg2 (2.9.9-2) ... 244s Selecting previously unselected package python3-dnspython. 244s Preparing to unpack .../28-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 244s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 244s Selecting previously unselected package python3-etcd. 244s Preparing to unpack .../29-python3-etcd_0.4.5-4_all.deb ... 244s Unpacking python3-etcd (0.4.5-4) ... 244s Selecting previously unselected package patroni. 244s Preparing to unpack .../30-patroni_3.3.1-1_all.deb ... 244s Unpacking patroni (3.3.1-1) ... 244s Selecting previously unselected package sphinx-rtd-theme-common. 244s Preparing to unpack .../31-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 244s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 244s Selecting previously unselected package patroni-doc. 244s Preparing to unpack .../32-patroni-doc_3.3.1-1_all.deb ... 244s Unpacking patroni-doc (3.3.1-1) ... 244s Selecting previously unselected package postgresql-client-16. 244s Preparing to unpack .../33-postgresql-client-16_16.4-3_armhf.deb ... 244s Unpacking postgresql-client-16 (16.4-3) ... 245s Selecting previously unselected package postgresql-16. 245s Preparing to unpack .../34-postgresql-16_16.4-3_armhf.deb ... 245s Unpacking postgresql-16 (16.4-3) ... 245s Selecting previously unselected package postgresql. 245s Preparing to unpack .../35-postgresql_16+262_all.deb ... 245s Unpacking postgresql (16+262) ... 245s Selecting previously unselected package python3-parse. 245s Preparing to unpack .../36-python3-parse_1.20.2-1_all.deb ... 245s Unpacking python3-parse (1.20.2-1) ... 245s Selecting previously unselected package python3-parse-type. 245s Preparing to unpack .../37-python3-parse-type_0.6.4-1_all.deb ... 245s Unpacking python3-parse-type (0.6.4-1) ... 245s Selecting previously unselected package python3-behave. 245s Preparing to unpack .../38-python3-behave_1.2.6-6_all.deb ... 245s Unpacking python3-behave (1.2.6-6) ... 246s Selecting previously unselected package python3-coverage. 246s Preparing to unpack .../39-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 246s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 246s Selecting previously unselected package autopkgtest-satdep. 246s Preparing to unpack .../40-1-autopkgtest-satdep.deb ... 246s Unpacking autopkgtest-satdep (0) ... 246s Setting up postgresql-client-common (262) ... 246s Setting up libllvm19:armhf (1:19.1.2-1ubuntu1) ... 246s Setting up fonts-lato (2.015-1) ... 246s Setting up libio-pty-perl (1:1.20-1build3) ... 246s Setting up python3-colorama (0.4.6-4) ... 246s Setting up python3-ydiff (1.3-1) ... 246s Setting up libpq5:armhf (17.0-1) ... 246s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 246s Setting up python3-click (8.1.7-2) ... 247s Setting up python3-psutil (5.9.8-2build2) ... 247s Setting up python3-six (1.16.0-7) ... 247s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 247s Setting up ssl-cert (1.1.2ubuntu2) ... 248s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 248s Setting up python3-psycopg2 (2.9.9-2) ... 248s Setting up libipc-run-perl (20231003.0-2) ... 248s Setting up libtime-duration-perl (1.21-2) ... 248s Setting up libtimedate-perl (2.3300-2) ... 248s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 249s Setting up python3-parse (1.20.2-1) ... 249s Setting up libjson-perl (4.10000-1) ... 249s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 249s Setting up python3-dateutil (2.9.0-2) ... 249s Setting up etcd-server (3.5.15-7) ... 249s info: Selecting UID from range 100 to 999 ... 249s 249s info: Selecting GID from range 100 to 999 ... 249s info: Adding system user `etcd' (UID 107) ... 249s info: Adding new group `etcd' (GID 111) ... 249s info: Adding new user `etcd' (UID 107) with group `etcd' ... 249s info: Creating home directory `/var/lib/etcd/' ... 250s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 250s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 251s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 251s Setting up python3-prettytable (3.10.1-1) ... 251s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 251s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 251s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 251s Setting up moreutils (0.69-1) ... 251s Setting up python3-etcd (0.4.5-4) ... 251s Setting up postgresql-client-16 (16.4-3) ... 252s 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 252s Setting up python3-cdiff (1.3-1) ... 252s Setting up python3-parse-type (0.6.4-1) ... 252s Setting up postgresql-common (262) ... 253s 253s Creating config file /etc/postgresql-common/createcluster.conf with new version 253s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 253s Removing obsolete dictionary files: 254s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 254s Setting up libjs-sphinxdoc (7.4.7-4) ... 254s Setting up python3-behave (1.2.6-6) ... 254s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 254s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 254s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 254s """Registers a custom type that will be available to "parse" 254s Setting up patroni (3.3.1-1) ... 255s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 255s Setting up postgresql-16 (16.4-3) ... 255s Creating new PostgreSQL cluster 16/main ... 256s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 256s The files belonging to this database system will be owned by user "postgres". 256s This user must also own the server process. 256s 256s The database cluster will be initialized with locale "C.UTF-8". 256s The default database encoding has accordingly been set to "UTF8". 256s The default text search configuration will be set to "english". 256s 256s Data page checksums are disabled. 256s 256s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 256s creating subdirectories ... ok 256s selecting dynamic shared memory implementation ... posix 256s selecting default max_connections ... 100 256s selecting default shared_buffers ... 128MB 256s selecting default time zone ... Etc/UTC 256s creating configuration files ... ok 256s running bootstrap script ... ok 256s performing post-bootstrap initialization ... ok 256s syncing data to disk ... ok 260s Setting up patroni-doc (3.3.1-1) ... 260s Setting up postgresql (16+262) ... 260s Setting up autopkgtest-satdep (0) ... 260s Processing triggers for man-db (2.12.1-3) ... 262s Processing triggers for libc-bin (2.40-1ubuntu3) ... 280s (Reading database ... 62777 files and directories currently installed.) 280s Removing autopkgtest-satdep (0) ... 287s autopkgtest [04:06:53]: test acceptance-etcd3: debian/tests/acceptance etcd3 287s autopkgtest [04:06:53]: 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 ### PostgreSQL 16 acceptance-etcd3 ### 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' 290s Nov 14 04:06:56 Feature: basic replication # features/basic_replication.feature:1 290s Nov 14 04:06:56 We should check that the basic bootstrapping, replication and failover works. 290s Nov 14 04:06:56 Scenario: check replication of a single table # features/basic_replication.feature:4 290s Nov 14 04:06:56 Given I start postgres0 # features/steps/basic_replication.py:8 296s Nov 14 04:07:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 296s Nov 14 04:07:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 296s Nov 14 04:07:02 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 296s Nov 14 04:07:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 296s Nov 14 04:07:02 When I start postgres1 # features/steps/basic_replication.py:8 302s Nov 14 04:07:08 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 310s Nov 14 04:07:16 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 310s Nov 14 04:07:16 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 310s Nov 14 04:07:16 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 311s Nov 14 04:07:17 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 311s Nov 14 04:07:17 311s Nov 14 04:07:17 Scenario: check restart of sync replica # features/basic_replication.feature:17 311s Nov 14 04:07:17 Given I shut down postgres2 # features/steps/basic_replication.py:29 312s Nov 14 04:07:18 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 312s Nov 14 04:07:18 When I start postgres2 # features/steps/basic_replication.py:8 316s Nov 14 04:07:22 And I shut down postgres1 # features/steps/basic_replication.py:29 319s Nov 14 04:07:25 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 320s Nov 14 04:07:26 When I start postgres1 # features/steps/basic_replication.py:8 324s Nov 14 04:07:30 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 325s Nov 14 04:07:31 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 14 04:07:31 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 325s Nov 14 04:07:31 325s Nov 14 04:07:31 Scenario: check stuck sync replica # features/basic_replication.feature:28 325s Nov 14 04:07:31 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 325s Nov 14 04:07:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 325s Nov 14 04:07:31 And I create table on postgres0 # features/steps/basic_replication.py:73 325s Nov 14 04:07:31 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 326s Nov 14 04:07:32 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 326s Nov 14 04:07:32 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 326s Nov 14 04:07:32 And I load data on postgres0 # features/steps/basic_replication.py:84 327s Nov 14 04:07:33 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 330s Nov 14 04:07:36 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 330s Nov 14 04:07:36 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 330s Nov 14 04:07:36 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 330s Nov 14 04:07:36 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 330s Nov 14 04:07:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 330s Nov 14 04:07:36 And I drop table on postgres0 # features/steps/basic_replication.py:73 330s Nov 14 04:07:36 330s Nov 14 04:07:36 Scenario: check multi sync replication # features/basic_replication.feature:44 330s Nov 14 04:07:36 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 330s Nov 14 04:07:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 330s Nov 14 04:07:36 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 334s Nov 14 04:07:40 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 14 04:07:40 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 334s Nov 14 04:07:40 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 334s Nov 14 04:07:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 334s Nov 14 04:07:40 And I shut down postgres1 # features/steps/basic_replication.py:29 337s Nov 14 04:07:43 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 338s Nov 14 04:07:44 When I start postgres1 # features/steps/basic_replication.py:8 342s Nov 14 04:07:48 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 343s Nov 14 04:07:49 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 343s Nov 14 04:07:49 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 343s Nov 14 04:07:49 343s Nov 14 04:07:49 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 343s Nov 14 04:07:49 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 346s Nov 14 04:07:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 346s Nov 14 04:07:52 When I sleep for 2 seconds # features/steps/patroni_api.py:39 348s Nov 14 04:07:54 And I shut down postgres0 # features/steps/basic_replication.py:29 349s Nov 14 04:07:55 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 351s Nov 14 04:07:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 351s Nov 14 04:07:57 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 370s Nov 14 04:08:16 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 372s Nov 14 04:08:18 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 372s Nov 14 04:08:18 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 372s Nov 14 04:08:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 372s Nov 14 04:08:18 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 372s Nov 14 04:08:18 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 375s Nov 14 04:08:21 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 375s Nov 14 04:08:21 375s Nov 14 04:08:21 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 375s Nov 14 04:08:21 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 375s Nov 14 04:08:21 And I start postgres0 # features/steps/basic_replication.py:8 375s Nov 14 04:08:21 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 380s Nov 14 04:08:26 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 380s Nov 14 04:08:26 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 385s Nov 14 04:08:31 385s Nov 14 04:08:31 @reject-duplicate-name 385s Nov 14 04:08:31 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 385s Nov 14 04:08:31 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 388s Nov 14 04:08:34 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 393s Nov 14 04:08:39 393s Nov 14 04:08:39 Feature: cascading replication # features/cascading_replication.feature:1 393s Nov 14 04:08:39 We should check that patroni can do base backup and streaming from the replica 393s Nov 14 04:08:39 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 393s Nov 14 04:08:39 Given I start postgres0 # features/steps/basic_replication.py:8 399s Nov 14 04:08:45 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 399s Nov 14 04:08:45 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 405s Nov 14 04:08:51 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 406s Nov 14 04:08:52 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 406s Nov 14 04:08:52 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 406s Nov 14 04:08:52 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 406s Nov 14 04:08:52 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 412s Nov 14 04:08:58 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 413s Nov 14 04:08:59 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 419s Nov 14 04:09:05 419s Nov 14 04:09:05 Feature: citus # features/citus.feature:1 419s SKIP FEATURE citus: Citus extenstion isn't available 419s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 419s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 419s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 419s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 419s 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 419s Nov 14 04:09:05 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 419s Nov 14 04:09:05 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 419s Nov 14 04:09:05 Given I start postgres0 in citus group 0 # None 419s Nov 14 04:09:05 And I start postgres2 in citus group 1 # None 419s Nov 14 04:09:05 Then postgres0 is a leader in a group 0 after 10 seconds # None 419s Nov 14 04:09:05 And postgres2 is a leader in a group 1 after 10 seconds # None 419s Nov 14 04:09:05 When I start postgres1 in citus group 0 # None 419s Nov 14 04:09:05 And I start postgres3 in citus group 1 # None 419s Nov 14 04:09:05 Then replication works from postgres0 to postgres1 after 15 seconds # None 419s Nov 14 04:09:05 Then replication works from postgres2 to postgres3 after 15 seconds # None 419s Nov 14 04:09:05 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 419s Nov 14 04:09:05 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 419s Nov 14 04:09:05 419s Nov 14 04:09:05 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 419s Nov 14 04:09:05 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 419s Nov 14 04:09:05 Then postgres1 role is the primary after 10 seconds # None 419s Nov 14 04:09:05 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 419s Nov 14 04:09:05 And replication works from postgres1 to postgres0 after 15 seconds # None 419s Nov 14 04:09:05 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 419s Nov 14 04:09:05 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 419s Nov 14 04:09:05 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 419s Nov 14 04:09:05 Then postgres0 role is the primary after 10 seconds # None 419s Nov 14 04:09:05 And replication works from postgres0 to postgres1 after 15 seconds # None 419s Nov 14 04:09:05 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 419s Nov 14 04:09:05 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 419s Nov 14 04:09:05 419s Nov 14 04:09:05 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 419s Nov 14 04:09:05 Given I create a distributed table on postgres0 # None 419s Nov 14 04:09:05 And I start a thread inserting data on postgres0 # None 419s Nov 14 04:09:05 When I run patronictl.py switchover batman --group 1 --force # None 419s Nov 14 04:09:05 Then I receive a response returncode 0 # None 419s Nov 14 04:09:05 And postgres3 role is the primary after 10 seconds # None 419s Nov 14 04:09:05 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 419s Nov 14 04:09:05 And replication works from postgres3 to postgres2 after 15 seconds # None 419s Nov 14 04:09:05 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 419s Nov 14 04:09:05 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 419s Nov 14 04:09:05 And a thread is still alive # None 419s Nov 14 04:09:05 When I run patronictl.py switchover batman --group 1 --force # None 419s Nov 14 04:09:05 Then I receive a response returncode 0 # None 419s Nov 14 04:09:05 And postgres2 role is the primary after 10 seconds # None 419s Nov 14 04:09:05 And replication works from postgres2 to postgres3 after 15 seconds # None 419s Nov 14 04:09:05 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 419s Nov 14 04:09:05 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 419s Nov 14 04:09:05 And a thread is still alive # None 419s Nov 14 04:09:05 When I stop a thread # None 419s Nov 14 04:09:05 Then a distributed table on postgres0 has expected rows # None 419s Nov 14 04:09:05 419s Nov 14 04:09:05 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 419s Nov 14 04:09:05 Given I cleanup a distributed table on postgres0 # None 419s Nov 14 04:09:05 And I start a thread inserting data on postgres0 # None 419s Nov 14 04:09:05 When I run patronictl.py restart batman postgres2 --group 1 --force # None 419s Nov 14 04:09:05 Then I receive a response returncode 0 # None 419s Nov 14 04:09:05 And postgres2 role is the primary after 10 seconds # None 419s Nov 14 04:09:05 And replication works from postgres2 to postgres3 after 15 seconds # None 419s Nov 14 04:09:05 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 419s Nov 14 04:09:05 And a thread is still alive # None 419s Nov 14 04:09:05 When I stop a thread # None 419s Nov 14 04:09:05 Then a distributed table on postgres0 has expected rows # None 419s Nov 14 04:09:05 419s Nov 14 04:09:05 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 419s Nov 14 04:09:05 Given I start postgres4 in citus group 2 # None 419s Nov 14 04:09:05 Then postgres4 is a leader in a group 2 after 10 seconds # None 419s Nov 14 04:09:05 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 419s Nov 14 04:09:05 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 419s Nov 14 04:09:05 Then I receive a response returncode 0 # None 419s Nov 14 04:09:05 And I receive a response output "+ttl: 20" # None 419s Nov 14 04:09:05 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 419s Nov 14 04:09:05 When I shut down postgres4 # None 419s Nov 14 04:09:05 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 419s Nov 14 04:09:05 When I run patronictl.py restart batman postgres2 --group 1 --force # None 419s Nov 14 04:09:05 Then a transaction finishes in 20 seconds # None 419s Nov 14 04:09:05 419s Nov 14 04:09:05 Feature: custom bootstrap # features/custom_bootstrap.feature:1 419s Nov 14 04:09:05 We should check that patroni can bootstrap a new cluster from a backup 419s Nov 14 04:09:05 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 419s Nov 14 04:09:05 Given I start postgres0 # features/steps/basic_replication.py:8 425s Nov 14 04:09:11 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 425s Nov 14 04:09:11 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 425s Nov 14 04:09:11 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 431s Nov 14 04:09:17 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 432s Nov 14 04:09:18 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 432s Nov 14 04:09:18 432s Nov 14 04:09:18 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 432s Nov 14 04:09:18 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 432s Nov 14 04:09:18 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 434s Nov 14 04:09:20 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 442s Nov 14 04:09:28 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 442s Nov 14 04:09:28 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 448s Nov 14 04:09:34 448s Nov 14 04:09:34 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 448s Nov 14 04:09:34 We should check the basic dcs failsafe mode functioning 448s Nov 14 04:09:34 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 448s Nov 14 04:09:34 Given I start postgres0 # features/steps/basic_replication.py:8 453s Nov 14 04:09:39 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 453s Nov 14 04:09:39 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 453s Nov 14 04:09:39 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 453s Nov 14 04:09:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 453s Nov 14 04:09:39 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 454s Nov 14 04:09:40 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 454s Nov 14 04:09:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 454s Nov 14 04:09:40 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 454s Nov 14 04:09:40 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 455s Nov 14 04:09:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 455s Nov 14 04:09:40 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 455s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 455s 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 455s Nov 14 04:09:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 455s Nov 14 04:09:41 455s Nov 14 04:09:41 @dcs-failsafe 455s Nov 14 04:09:41 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 455s Nov 14 04:09:41 Given DCS is down # None 455s Nov 14 04:09:41 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 455s Nov 14 04:09:41 And postgres0 role is the primary after 10 seconds # None 455s Nov 14 04:09:41 455s Nov 14 04:09:41 @dcs-failsafe 455s Nov 14 04:09:41 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 455s Nov 14 04:09:41 Given DCS is up # None 455s Nov 14 04:09:41 When I do a backup of postgres0 # None 455s Nov 14 04:09:41 And I shut down postgres0 # None 455s Nov 14 04:09:41 When I start postgres1 in a cluster batman from backup with no_leader # None 455s Nov 14 04:09:41 Then postgres1 role is the replica after 12 seconds # None 455s Nov 14 04:09:41 455s Nov 14 04:09:41 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 455s Nov 14 04:09:41 Given I start postgres0 # features/steps/basic_replication.py:8 455s Nov 14 04:09:41 And I start postgres1 # features/steps/basic_replication.py:8 460s Nov 14 04:09:46 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 460s Nov 14 04:09:46 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 461s Nov 14 04:09:47 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 461s Nov 14 04:09:47 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 461s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 461s 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 461s Nov 14 04:09:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 461s Nov 14 04:09:47 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 461s Nov 14 04:09:47 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 461s 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 461s Nov 14 04:09:47 461s Nov 14 04:09:47 @dcs-failsafe @slot-advance 461s Nov 14 04:09:47 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 461s Nov 14 04:09:47 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 461s Nov 14 04:09:47 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 461s Nov 14 04:09:47 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 461s Nov 14 04:09:47 And DCS is down # None 461s Nov 14 04:09:47 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 461s Nov 14 04:09:47 Then postgres0 role is the primary after 10 seconds # None 461s Nov 14 04:09:47 And postgres1 role is the replica after 2 seconds # None 461s Nov 14 04:09:47 And replication works from postgres0 to postgres1 after 10 seconds # None 461s Nov 14 04:09:47 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 461s Nov 14 04:09:47 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 461s Nov 14 04:09:47 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 461s Nov 14 04:09:47 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 461s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 461s Nov 14 04:09:47 461s Nov 14 04:09:47 @dcs-failsafe 461s Nov 14 04:09:47 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 461s Nov 14 04:09:47 Given DCS is down # None 461s Nov 14 04:09:47 And I kill postgres1 # None 461s Nov 14 04:09:47 And I kill postmaster on postgres1 # None 461s Nov 14 04:09:47 Then postgres0 role is the replica after 12 seconds # None 461s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 461s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 461s Nov 14 04:09:47 461s Nov 14 04:09:47 @dcs-failsafe 461s Nov 14 04:09:47 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 461s Nov 14 04:09:47 Given I kill postgres0 # None 461s Nov 14 04:09:47 And I shut down postmaster on postgres0 # None 461s Nov 14 04:09:47 And DCS is up # None 461s Nov 14 04:09:47 When I start postgres1 # None 461s Nov 14 04:09:47 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 461s Nov 14 04:09:47 And postgres1 role is the primary after 25 seconds # None 461s Nov 14 04:09:47 461s Nov 14 04:09:47 @dcs-failsafe 461s Nov 14 04:09:47 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 461s Nov 14 04:09:47 Given I start postgres0 # None 461s Nov 14 04:09:47 And I start postgres2 # None 461s Nov 14 04:09:47 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 461s Nov 14 04:09:47 And "members/postgres0" key in DCS has state=running after 20 seconds # None 461s Nov 14 04:09:47 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 461s Nov 14 04:09:47 And replication works from postgres1 to postgres0 after 10 seconds # None 461s Nov 14 04:09:47 And replication works from postgres1 to postgres2 after 10 seconds # None 461s 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 461s Nov 14 04:09:47 461s Nov 14 04:09:47 @dcs-failsafe @slot-advance 461s Nov 14 04:09:47 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 461s Nov 14 04:09:47 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 461s Nov 14 04:09:47 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 461s Nov 14 04:09:47 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 461s Nov 14 04:09:47 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 461s Nov 14 04:09:47 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 461s Nov 14 04:09:47 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 461s Nov 14 04:09:47 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 461s Nov 14 04:09:47 461s Nov 14 04:09:47 @dcs-failsafe 461s Nov 14 04:09:47 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 461s Nov 14 04:09:47 Given DCS is down # None 461s Nov 14 04:09:47 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 461s Nov 14 04:09:47 Then postgres1 role is the primary after 10 seconds # None 461s Nov 14 04:09:47 And postgres0 role is the replica after 2 seconds # None 461s Nov 14 04:09:47 And postgres2 role is the replica after 2 seconds # None 465s Nov 14 04:09:51 465s Nov 14 04:09:51 @dcs-failsafe @slot-advance 465s Nov 14 04:09:51 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 465s Nov 14 04:09:51 Given replication works from postgres1 to postgres0 after 10 seconds # None 465s Nov 14 04:09:51 And replication works from postgres1 to postgres2 after 10 seconds # None 465s Nov 14 04:09:51 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 465s Nov 14 04:09:51 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 465s Nov 14 04:09:51 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 465s Nov 14 04:09:51 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 465s Nov 14 04:09:51 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 465s Nov 14 04:09:51 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 465s Nov 14 04:09:51 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 465s Nov 14 04:09:51 465s Nov 14 04:09:51 Feature: ignored slots # features/ignored_slots.feature:1 465s Nov 14 04:09:51 465s Nov 14 04:09:51 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 465s Nov 14 04:09:51 Given I start postgres1 # features/steps/basic_replication.py:8 470s Nov 14 04:09:56 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 470s Nov 14 04:09:56 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 470s Nov 14 04:09:56 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 470s Nov 14 04:09:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 470s Nov 14 04:09:56 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 470s Nov 14 04:09:56 When I shut down postgres1 # features/steps/basic_replication.py:29 472s Nov 14 04:09:58 And I start postgres1 # features/steps/basic_replication.py:8 475s Nov 14 04:10:01 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 476s Nov 14 04:10:02 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 477s Nov 14 04:10:03 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 477s Nov 14 04:10:03 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 477s Nov 14 04:10:03 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 477s Nov 14 04:10:03 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 477s Nov 14 04:10:03 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 477s Nov 14 04:10:03 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 477s Nov 14 04:10:03 Then 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 14 04:10:03 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 477s Nov 14 04:10:03 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 477s Nov 14 04:10:03 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 477s Nov 14 04:10:03 When I start postgres0 # features/steps/basic_replication.py:8 482s Nov 14 04:10:08 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 483s Nov 14 04:10:09 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 483s Nov 14 04:10:09 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 484s Nov 14 04:10:10 When I shut down postgres1 # features/steps/basic_replication.py:29 486s Nov 14 04:10:12 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 487s Nov 14 04:10:13 When I start postgres1 # features/steps/basic_replication.py:8 491s Nov 14 04:10:17 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 491s Nov 14 04:10:17 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 491s Nov 14 04:10:17 And I sleep for 2 seconds # features/steps/patroni_api.py:39 493s Nov 14 04:10:19 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 493s Nov 14 04:10:19 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 493s Nov 14 04:10:19 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 493s Nov 14 04:10:19 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 493s Nov 14 04:10:19 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 493s Nov 14 04:10:19 When I shut down postgres0 # features/steps/basic_replication.py:29 495s Nov 14 04:10:21 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 496s Nov 14 04:10:22 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 496s Nov 14 04:10:22 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 496s Nov 14 04:10:22 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 496s Nov 14 04:10:22 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 498s Nov 14 04:10:24 498s Nov 14 04:10:24 Feature: nostream node # features/nostream_node.feature:1 498s Nov 14 04:10:24 498s Nov 14 04:10:24 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 498s Nov 14 04:10:24 When I start postgres0 # features/steps/basic_replication.py:8 504s Nov 14 04:10:30 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 508s Nov 14 04:10:34 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 509s Nov 14 04:10:35 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 514s Nov 14 04:10:40 514s Nov 14 04:10:40 @slot-advance 514s Nov 14 04:10:40 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 514s Nov 14 04:10:40 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 514s Nov 14 04:10:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 514s Nov 14 04:10:40 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 516s Nov 14 04:10:42 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 517s Nov 14 04:10:43 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 522s Nov 14 04:10:48 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 529s Nov 14 04:10:55 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 529s Nov 14 04:10:55 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 536s Nov 14 04:11:02 536s Nov 14 04:11:02 Feature: patroni api # features/patroni_api.feature:1 536s Nov 14 04:11:02 We should check that patroni correctly responds to valid and not-valid API requests. 536s Nov 14 04:11:02 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 536s Nov 14 04:11:02 Given I start postgres0 # features/steps/basic_replication.py:8 541s Nov 14 04:11:07 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 541s Nov 14 04:11:07 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 541s Nov 14 04:11:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 541s Nov 14 04:11:07 And I receive a response state running # features/steps/patroni_api.py:98 541s Nov 14 04:11:07 And I receive a response role master # features/steps/patroni_api.py:98 541s Nov 14 04:11:07 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 541s Nov 14 04:11:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 541s Nov 14 04:11:07 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 541s Nov 14 04:11:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 541s Nov 14 04:11:07 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 541s Nov 14 04:11:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 541s Nov 14 04:11:07 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 541s Nov 14 04:11:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 541s Nov 14 04:11:07 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 541s Nov 14 04:11:07 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 543s Nov 14 04:11:09 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 543s Nov 14 04:11:09 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 543s Nov 14 04:11:09 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 543s Nov 14 04:11:09 Then I receive a response code 412 # features/steps/patroni_api.py:98 543s Nov 14 04:11:09 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 543s Nov 14 04:11:09 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 543s Nov 14 04:11:09 Then I receive a response code 400 # features/steps/patroni_api.py:98 543s Nov 14 04:11:09 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 543s Nov 14 04:11:09 Then I receive a response code 400 # features/steps/patroni_api.py:98 543s Nov 14 04:11:09 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 543s Nov 14 04:11:09 543s Nov 14 04:11:09 Scenario: check local configuration reload # features/patroni_api.feature:32 543s Nov 14 04:11:09 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 543s Nov 14 04:11:09 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 543s Nov 14 04:11:09 Then I receive a response code 202 # features/steps/patroni_api.py:98 543s Nov 14 04:11:09 543s Nov 14 04:11:09 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 543s Nov 14 04:11:09 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 543s Nov 14 04:11:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 543s Nov 14 04:11:09 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 546s Nov 14 04:11:12 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 546s Nov 14 04:11:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 546s Nov 14 04:11:12 And I receive a response ttl 20 # features/steps/patroni_api.py:98 546s Nov 14 04:11:12 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 547s Nov 14 04:11:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 547s Nov 14 04:11:12 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 547s Nov 14 04:11:12 And I sleep for 4 seconds # features/steps/patroni_api.py:39 551s Nov 14 04:11:16 551s Nov 14 04:11:16 Scenario: check the scheduled restart # features/patroni_api.feature:49 551s Nov 14 04:11:16 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 553s Nov 14 04:11:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 553s Nov 14 04:11:19 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 553s Nov 14 04:11:19 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 553s Nov 14 04:11:19 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 553s Nov 14 04:11:19 Then I receive a response code 202 # features/steps/patroni_api.py:98 553s Nov 14 04:11:19 And I sleep for 8 seconds # features/steps/patroni_api.py:39 561s Nov 14 04:11:27 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 561s Nov 14 04:11:27 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 561s Nov 14 04:11:27 Then I receive a response code 202 # features/steps/patroni_api.py:98 561s Nov 14 04:11:27 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 568s Nov 14 04:11:34 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 569s Nov 14 04:11:35 569s Nov 14 04:11:35 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 569s Nov 14 04:11:35 Given I start postgres1 # features/steps/basic_replication.py:8 574s Nov 14 04:11:40 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 575s Nov 14 04:11:41 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 577s Nov 14 04:11:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 577s Nov 14 04:11:43 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 577s Nov 14 04:11:43 waiting for server to shut down.... done 577s Nov 14 04:11:43 server stopped 577s Nov 14 04:11:43 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 577s Nov 14 04:11:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 577s Nov 14 04:11:43 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 579s Nov 14 04:11:45 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 583s Nov 14 04:11:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 583s Nov 14 04:11:49 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 584s Nov 14 04:11:50 And I sleep for 2 seconds # features/steps/patroni_api.py:39 586s Nov 14 04:11:52 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 586s Nov 14 04:11:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 586s Nov 14 04:11:52 And I receive a response state running # features/steps/patroni_api.py:98 586s Nov 14 04:11:52 And I receive a response role replica # features/steps/patroni_api.py:98 586s Nov 14 04:11:52 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 591s Nov 14 04:11:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 591s Nov 14 04:11:57 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 591s Nov 14 04:11:57 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 592s Nov 14 04:11:58 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 593s Nov 14 04:11:59 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 597s Nov 14 04:12:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 597s Nov 14 04:12:03 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 597s Nov 14 04:12:03 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 598s Nov 14 04:12:04 598s Nov 14 04:12:04 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 598s Nov 14 04:12:04 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 600s Nov 14 04:12:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 600s Nov 14 04:12:06 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 600s Nov 14 04:12:06 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 601s Nov 14 04:12:07 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 607s Nov 14 04:12:13 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 607s Nov 14 04:12:13 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 608s Nov 14 04:12:14 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 608s Nov 14 04:12:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 608s Nov 14 04:12:14 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 608s Nov 14 04:12:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 608s Nov 14 04:12:14 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 608s Nov 14 04:12:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 608s Nov 14 04:12:14 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 608s Nov 14 04:12:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 608s Nov 14 04:12:14 608s Nov 14 04:12:14 Scenario: check the scheduled switchover # features/patroni_api.feature:107 608s Nov 14 04:12:14 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 610s Nov 14 04:12:16 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 610s Nov 14 04:12:16 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 610s Nov 14 04:12:16 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 612s Nov 14 04:12:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 612s Nov 14 04:12:18 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 615s Nov 14 04:12:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 615s Nov 14 04:12:21 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 624s Nov 14 04:12:30 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 625s Nov 14 04:12:31 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 627s Nov 14 04:12:33 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 627s Nov 14 04:12:33 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 628s Nov 14 04:12:34 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 628s Nov 14 04:12:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 628s Nov 14 04:12:34 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 628s Nov 14 04:12:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 628s Nov 14 04:12:34 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 628s Nov 14 04:12:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 628s Nov 14 04:12:34 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 628s Nov 14 04:12:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 632s Nov 14 04:12:38 632s Nov 14 04:12:38 Feature: permanent slots # features/permanent_slots.feature:1 632s Nov 14 04:12:38 632s Nov 14 04:12:38 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 632s Nov 14 04:12:38 Given I start postgres0 # features/steps/basic_replication.py:8 637s Nov 14 04:12:43 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 637s Nov 14 04:12:43 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 637s Nov 14 04:12:43 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 637s Nov 14 04:12:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 637s Nov 14 04:12:43 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 637s Nov 14 04:12:43 When I start postgres1 # features/steps/basic_replication.py:8 643s Nov 14 04:12:48 And I start postgres2 # features/steps/basic_replication.py:8 648s Nov 14 04:12:54 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 653s Nov 14 04:12:59 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 653s Nov 14 04:12:59 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 653s Nov 14 04:12:59 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 653s Nov 14 04:12:59 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 653s Nov 14 04:12:59 653s Nov 14 04:12:59 @slot-advance 653s Nov 14 04:12:59 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 653s Nov 14 04:12:59 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 655s Nov 14 04:13:01 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 655s Nov 14 04:13:01 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 656s Nov 14 04:13:02 656s Nov 14 04:13:02 @slot-advance 656s Nov 14 04:13:02 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 656s Nov 14 04:13:02 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 661s Nov 14 04:13:07 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 661s Nov 14 04:13:07 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 663s Nov 14 04:13:08 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 664s Nov 14 04:13:10 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 664s Nov 14 04:13:10 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 664s Nov 14 04:13:10 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 664s Nov 14 04:13:10 664s Nov 14 04:13:10 @slot-advance 664s Nov 14 04:13:10 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 664s Nov 14 04:13:10 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 664s Nov 14 04:13:10 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 664s Nov 14 04:13:10 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 664s Nov 14 04:13:10 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 664s Nov 14 04:13:10 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 664s Nov 14 04:13:10 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 664s Nov 14 04:13:10 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 664s Nov 14 04:13:10 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 664s Nov 14 04:13:10 664s Nov 14 04:13:10 @slot-advance 664s Nov 14 04:13:10 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 664s Nov 14 04:13:10 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 664s Nov 14 04:13:10 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 664s Nov 14 04:13:10 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 664s Nov 14 04:13:10 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 666s Nov 14 04:13:12 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 666s Nov 14 04:13:12 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 666s Nov 14 04:13:12 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 666s Nov 14 04:13:12 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 666s Nov 14 04:13:12 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 666s Nov 14 04:13:12 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 666s Nov 14 04:13:12 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 666s Nov 14 04:13:12 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 666s Nov 14 04:13:12 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 666s Nov 14 04:13:12 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 666s Nov 14 04:13:12 666s Nov 14 04:13:12 @slot-advance 666s Nov 14 04:13:12 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 666s Nov 14 04:13:12 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 666s Nov 14 04:13:12 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 666s Nov 14 04:13:12 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 666s Nov 14 04:13:12 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 666s Nov 14 04:13:12 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 666s Nov 14 04:13:12 666s Nov 14 04:13:12 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 666s Nov 14 04:13:12 Given I shut down postgres3 # features/steps/basic_replication.py:29 667s Nov 14 04:13:13 And I shut down postgres2 # features/steps/basic_replication.py:29 668s Nov 14 04:13:14 And I shut down postgres0 # features/steps/basic_replication.py:29 670s Nov 14 04:13:16 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 670s Nov 14 04:13:16 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 670s Nov 14 04:13:16 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 672s Nov 14 04:13:18 672s Nov 14 04:13:18 Feature: priority replication # features/priority_failover.feature:1 672s Nov 14 04:13:18 We should check that we can give nodes priority during failover 672s Nov 14 04:13:18 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 672s Nov 14 04:13:18 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 677s Nov 14 04:13:23 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 682s Nov 14 04:13:28 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 683s Nov 14 04:13:29 When I shut down postgres0 # features/steps/basic_replication.py:29 685s Nov 14 04:13:31 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 687s Nov 14 04:13:33 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 687s Nov 14 04:13:33 When I start postgres0 # features/steps/basic_replication.py:8 690s Nov 14 04:13:36 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 692s Nov 14 04:13:38 692s Nov 14 04:13:38 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 692s Nov 14 04:13:38 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 697s Nov 14 04:13:43 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 702s Nov 14 04:13:48 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 703s Nov 14 04:13:49 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 704s Nov 14 04:13:50 When I shut down postgres0 # features/steps/basic_replication.py:29 706s Nov 14 04:13:52 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 707s Nov 14 04:13:53 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 707s Nov 14 04:13:53 707s Nov 14 04:13:53 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 707s Nov 14 04:13:53 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 707s Nov 14 04:13:53 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 707s Nov 14 04:13:53 Then I receive a response code 202 # features/steps/patroni_api.py:98 707s Nov 14 04:13:53 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 710s Nov 14 04:13:56 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 711s Nov 14 04:13:57 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 711s Nov 14 04:13:57 Then I receive a response code 412 # features/steps/patroni_api.py:98 711s Nov 14 04:13:57 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 711s Nov 14 04:13:57 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 711s Nov 14 04:13:57 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 712s Nov 14 04:13:58 Then I receive a response code 202 # features/steps/patroni_api.py:98 712s Nov 14 04:13:58 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 713s Nov 14 04:13:59 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 714s Nov 14 04:14:00 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 717s Nov 14 04:14:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 717s Nov 14 04:14:03 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 722s Nov 14 04:14:08 722s Nov 14 04:14:08 Feature: recovery # features/recovery.feature:1 722s Nov 14 04:14:08 We want to check that crashed postgres is started back 722s Nov 14 04:14:08 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 722s Nov 14 04:14:08 Given I start postgres0 # features/steps/basic_replication.py:8 727s Nov 14 04:14:13 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 727s Nov 14 04:14:13 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 727s Nov 14 04:14:13 When I start postgres1 # features/steps/basic_replication.py:8 732s Nov 14 04:14:18 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 732s Nov 14 04:14:18 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 733s Nov 14 04:14:19 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 733s Nov 14 04:14:19 waiting for server to shut down.... done 733s Nov 14 04:14:19 server stopped 733s Nov 14 04:14:19 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 736s Nov 14 04:14:22 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 736s Nov 14 04:14:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 736s Nov 14 04:14:22 And I receive a response role master # features/steps/patroni_api.py:98 736s Nov 14 04:14:22 And I receive a response timeline 1 # features/steps/patroni_api.py:98 736s Nov 14 04:14:22 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 736s Nov 14 04:14:22 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 739s Nov 14 04:14:25 739s Nov 14 04:14:25 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 739s Nov 14 04:14:25 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 739s Nov 14 04:14:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 739s Nov 14 04:14:25 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 739s Nov 14 04:14:25 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 740s Nov 14 04:14:26 waiting for server to shut down.... done 740s Nov 14 04:14:26 server stopped 740s Nov 14 04:14:26 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 743s Nov 14 04:14:29 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 746s Nov 14 04:14:32 746s Nov 14 04:14:32 Feature: standby cluster # features/standby_cluster.feature:1 746s Nov 14 04:14:32 746s Nov 14 04:14:32 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 746s Nov 14 04:14:32 Given I start postgres1 # features/steps/basic_replication.py:8 751s Nov 14 04:14:37 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 751s Nov 14 04:14:37 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 751s Nov 14 04:14:37 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 751s Nov 14 04:14:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 751s Nov 14 04:14:37 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 751s Nov 14 04:14:37 And I sleep for 3 seconds # features/steps/patroni_api.py:39 754s Nov 14 04:14:40 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 754s Nov 14 04:14:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 754s Nov 14 04:14:40 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 755s Nov 14 04:14:40 When I start postgres0 # features/steps/basic_replication.py:8 760s Nov 14 04:14:46 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 760s Nov 14 04:14:46 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 761s Nov 14 04:14:47 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 761s Nov 14 04:14:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 761s Nov 14 04:14:47 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 761s Nov 14 04:14:47 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 761s Nov 14 04:14:47 761s Nov 14 04:14:47 @slot-advance 761s Nov 14 04:14:47 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 761s Nov 14 04:14:47 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 763s Nov 14 04:14:49 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 769s Nov 14 04:14:55 769s Nov 14 04:14:55 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 769s Nov 14 04:14:55 When I shut down postgres1 # features/steps/basic_replication.py:29 771s Nov 14 04:14:57 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 771s Nov 14 04:14:57 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 772s Nov 14 04:14:58 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 772s Nov 14 04:14:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 772s Nov 14 04:14:58 772s Nov 14 04:14:58 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 772s Nov 14 04:14:58 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 776s Nov 14 04:15:02 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 776s Nov 14 04:15:02 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 776s Nov 14 04:15:02 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 776s Nov 14 04:15:02 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 777s Nov 14 04:15:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 777s Nov 14 04:15:02 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 777s Nov 14 04:15:02 And I sleep for 3 seconds # features/steps/patroni_api.py:39 780s Nov 14 04:15:06 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 780s Nov 14 04:15:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 780s Nov 14 04:15:06 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 780s Nov 14 04:15:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 780s Nov 14 04:15:06 And I receive a response role standby_leader # features/steps/patroni_api.py:98 780s Nov 14 04:15:06 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 780s Nov 14 04:15:06 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 785s Nov 14 04:15:11 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 785s Nov 14 04:15:11 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 785s Nov 14 04:15:11 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 785s Nov 14 04:15:11 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 785s Nov 14 04:15:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 785s Nov 14 04:15:11 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 785s Nov 14 04:15:11 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 785s Nov 14 04:15:11 785s Nov 14 04:15:11 Scenario: check switchover # features/standby_cluster.feature:57 785s Nov 14 04:15:11 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 789s Nov 14 04:15:15 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 789s Nov 14 04:15:15 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 791s Nov 14 04:15:17 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 791s Nov 14 04:15:17 791s Nov 14 04:15:17 Scenario: check failover # features/standby_cluster.feature:63 791s Nov 14 04:15:17 When I kill postgres2 # features/steps/basic_replication.py:34 792s Nov 14 04:15:18 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 792s Nov 14 04:15:18 waiting for server to shut down.... done 792s Nov 14 04:15:18 server stopped 792s Nov 14 04:15:18 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 811s Nov 14 04:15:37 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 811s Nov 14 04:15:37 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 811s Nov 14 04:15:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 811s Nov 14 04:15:37 And I receive a response role standby_leader # features/steps/patroni_api.py:98 811s Nov 14 04:15:37 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 812s Nov 14 04:15:38 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 816s Nov 14 04:15:42 816s Nov 14 04:15:42 Feature: watchdog # features/watchdog.feature:1 816s Nov 14 04:15:42 Verify that watchdog gets pinged and triggered under appropriate circumstances. 816s Nov 14 04:15:42 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 816s Nov 14 04:15:42 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 821s Nov 14 04:15:47 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 821s Nov 14 04:15:47 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 821s Nov 14 04:15:47 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 821s Nov 14 04:15:47 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 821s Nov 14 04:15:47 821s Nov 14 04:15:47 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 821s Nov 14 04:15:47 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 823s Nov 14 04:15:49 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 823s Nov 14 04:15:49 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 823s Nov 14 04:15:49 When I sleep for 4 seconds # features/steps/patroni_api.py:39 827s Nov 14 04:15:53 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 827s Nov 14 04:15:53 827s Nov 14 04:15:53 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 827s Nov 14 04:15:53 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 829s Nov 14 04:15:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 829s Nov 14 04:15:55 When I sleep for 2 seconds # features/steps/patroni_api.py:39 831s Nov 14 04:15:57 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 831s Nov 14 04:15:57 831s Nov 14 04:15:57 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 831s Nov 14 04:15:57 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 831s Nov 14 04:15:57 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 833s Nov 14 04:15:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 833s Nov 14 04:15:59 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 834s Nov 14 04:16:00 834s Nov 14 04:16:00 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 834s Nov 14 04:16:00 Given I shut down postgres0 # features/steps/basic_replication.py:29 836s Nov 14 04:16:02 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 836s Nov 14 04:16:02 836s Nov 14 04:16:02 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 836s Nov 14 04:16:02 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 836s Nov 14 04:16:02 And I start postgres0 with watchdog # features/steps/watchdog.py:16 839s Nov 14 04:16:05 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 841s Nov 14 04:16:07 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 841s Nov 14 04:16:07 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 868s Nov 14 04:16:34 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.3632.XvjjfVTx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.3676.XoKJdqEx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.3721.XbYjJlrx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.3774.XhKUrASx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.3824.XtKaONjx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.3897.XbRJrBBx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.3947.XmwjpRIx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.3950.XbouPBWx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4037.XNJSrqsx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4133.XlPWqpDx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4147.XygmaHrx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4190.XkTTSpOx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4239.XnXWpgqx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4365.XtTZblZx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4410.XqDEZvLx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4465.XGZCzaVx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4557.XhsaoBHx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4606.XTBnJEex 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4704.XCpOCjTx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4755.XYDRMmsx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4817.XlPzMPVx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.4911.XsWPRCUx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5009.XZEoWNLx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5052.XyFQPqDx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5114.XTDFUHEx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5148.XQSSEKVx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5324.XrSeFyUx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5373.XjZfLwBx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5389.XcyZezzx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5427.XuRRaRxx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5476.XLsfYwqx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5481.XPvbyWUx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5516.XTRlqLCx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5558.XJYWCTOx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5722.XtrHYOBx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5724.XPKyvGox 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5730.XJcHDIEx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5862.XdFnkvQx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5907.XjUMTQfx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5949.XfFDTpNx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.5993.XnrNUcqx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.6037.XHAgQQnx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.6226.XSVJJCAx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.6269.XWriFNWx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.6341.XVAhavZx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.6419.XxMutJsx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.6493.Xhhjeoox 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.6827.XUIWsdnx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.6870.XIBXJBkx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.7010.XUeJuuix 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.7073.XxNlSVSx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.7126.XanFUFTx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.7225.XHoryisx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.7350.XafEXRvx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.7486.XKImnCHx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.7529.XthuLpRx 869s Nov 14 04:16:35 Skipping duplicate data .coverage.autopkgtest-lxd-zuagzi.7531.XPoLSjpx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.7534.XGhdFntx 869s Nov 14 04:16:35 Combined data file .coverage.autopkgtest-lxd-zuagzi.7545.XvaheGsx 872s Nov 14 04:16:38 Name Stmts Miss Cover 872s Nov 14 04:16:38 ------------------------------------------------------------------------------------------------------------- 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/REThread.py 28 20 29% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/__init__.py 9 2 78% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/crashdb.py 357 305 15% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/fileutils.py 396 326 18% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/hookutils.py 563 489 13% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/logging.py 31 22 29% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/packaging.py 90 54 40% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/packaging_impl/__init__.py 17 3 82% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/packaging_impl/apt_dpkg.py 1093 971 11% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/report.py 1051 942 10% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/ui.py 995 876 12% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport/user_group.py 18 7 61% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apport_python_hook.py 119 96 19% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apt/__init__.py 14 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apt/cache.py 475 369 22% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apt/cdrom.py 32 22 31% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apt/package.py 728 498 32% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apt/progress/__init__.py 3 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apt/progress/base.py 139 92 34% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/apt/progress/text.py 155 123 21% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/aptsources/__init__.py 4 1 75% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/aptsources/_deb822.py 75 46 39% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/aptsources/distinfo.py 261 221 15% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/aptsources/sourceslist.py 639 494 23% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/__main__.py 199 64 68% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/api.py 770 286 63% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 79 88% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 127 81% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 259 57% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/ha.py 1244 362 71% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 170 79% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 37 89% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/utils.py 350 107 69% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/problem_report.py 505 429 15% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 872s Nov 14+ echo '### End 16 acceptance-etcd3 ###' 872s + rm -f '/tmp/pgpass?' 872s ++ id -u 872s + '[' 1000 -eq 0 ']' 872s 04:16:38 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/six.py 504 250 50% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 127 46% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 131 62% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 32 72% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/response.py 562 274 51% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 50 71% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 75 63% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 872s Nov 14 04:16:38 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 872s Nov 14 04:16:38 patroni/__init__.py 13 2 85% 872s Nov 14 04:16:38 patroni/__main__.py 199 199 0% 872s Nov 14 04:16:38 patroni/api.py 770 770 0% 872s Nov 14 04:16:38 patroni/async_executor.py 96 69 28% 872s Nov 14 04:16:38 patroni/collections.py 56 15 73% 872s Nov 14 04:16:38 patroni/config.py 371 196 47% 872s Nov 14 04:16:38 patroni/config_generator.py 212 212 0% 872s Nov 14 04:16:38 patroni/ctl.py 936 411 56% 872s Nov 14 04:16:38 patroni/daemon.py 76 76 0% 872s Nov 14 04:16:38 patroni/dcs/__init__.py 646 269 58% 872s Nov 14 04:16:38 patroni/dcs/consul.py 485 485 0% 872s Nov 14 04:16:38 patroni/dcs/etcd3.py 679 346 49% 872s Nov 14 04:16:38 patroni/dcs/etcd.py 603 280 54% 872s Nov 14 04:16:38 patroni/dcs/exhibitor.py 61 61 0% 872s Nov 14 04:16:38 patroni/dcs/kubernetes.py 938 938 0% 872s Nov 14 04:16:38 patroni/dcs/raft.py 319 319 0% 872s Nov 14 04:16:38 patroni/dcs/zookeeper.py 288 288 0% 872s Nov 14 04:16:38 patroni/dynamic_loader.py 35 7 80% 872s Nov 14 04:16:38 patroni/exceptions.py 16 1 94% 872s Nov 14 04:16:38 patroni/file_perm.py 43 15 65% 872s Nov 14 04:16:38 patroni/global_config.py 81 18 78% 872s Nov 14 04:16:38 patroni/ha.py 1244 1244 0% 872s Nov 14 04:16:38 patroni/log.py 219 173 21% 872s Nov 14 04:16:38 patroni/postgresql/__init__.py 821 651 21% 872s Nov 14 04:16:38 patroni/postgresql/available_parameters/__init__.py 21 1 95% 872s Nov 14 04:16:38 patroni/postgresql/bootstrap.py 252 222 12% 872s Nov 14 04:16:38 patroni/postgresql/callback_executor.py 55 34 38% 872s Nov 14 04:16:38 patroni/postgresql/cancellable.py 104 84 19% 872s Nov 14 04:16:38 patroni/postgresql/config.py 813 698 14% 872s Nov 14 04:16:38 patroni/postgresql/connection.py 75 50 33% 872s Nov 14 04:16:38 patroni/postgresql/misc.py 41 29 29% 872s Nov 14 04:16:38 patroni/postgresql/mpp/__init__.py 89 21 76% 872s Nov 14 04:16:38 patroni/postgresql/mpp/citus.py 259 259 0% 872s Nov 14 04:16:38 patroni/postgresql/postmaster.py 170 139 18% 872s Nov 14 04:16:38 patroni/postgresql/rewind.py 416 416 0% 872s Nov 14 04:16:38 patroni/postgresql/slots.py 334 285 15% 872s Nov 14 04:16:38 patroni/postgresql/sync.py 130 96 26% 872s Nov 14 04:16:38 patroni/postgresql/validator.py 157 52 67% 872s Nov 14 04:16:38 patroni/psycopg.py 42 28 33% 872s Nov 14 04:16:38 patroni/raft_controller.py 22 22 0% 872s Nov 14 04:16:38 patroni/request.py 62 6 90% 872s Nov 14 04:16:38 patroni/scripts/__init__.py 0 0 100% 872s Nov 14 04:16:38 patroni/scripts/aws.py 59 59 0% 872s Nov 14 04:16:38 patroni/scripts/barman/__init__.py 0 0 100% 872s Nov 14 04:16:38 patroni/scripts/barman/cli.py 51 51 0% 872s Nov 14 04:16:38 patroni/scripts/barman/config_switch.py 51 51 0% 872s Nov 14 04:16:38 patroni/scripts/barman/recover.py 37 37 0% 872s Nov 14 04:16:38 patroni/scripts/barman/utils.py 94 94 0% 872s Nov 14 04:16:38 patroni/scripts/wale_restore.py 207 207 0% 872s Nov 14 04:16:38 patroni/tags.py 38 11 71% 872s Nov 14 04:16:38 patroni/utils.py 350 178 49% 872s Nov 14 04:16:38 patroni/validator.py 301 215 29% 872s Nov 14 04:16:38 patroni/version.py 1 0 100% 872s Nov 14 04:16:38 patroni/watchdog/__init__.py 2 2 0% 872s Nov 14 04:16:38 patroni/watchdog/base.py 203 203 0% 872s Nov 14 04:16:38 patroni/watchdog/linux.py 135 135 0% 872s Nov 14 04:16:38 ------------------------------------------------------------------------------------------------------------- 872s Nov 14 04:16:38 TOTAL 61536 38678 37% 872s Nov 14 04:16:38 12 features passed, 0 failed, 1 skipped 872s Nov 14 04:16:38 46 scenarios passed, 0 failed, 14 skipped 872s Nov 14 04:16:38 466 steps passed, 0 failed, 119 skipped, 0 undefined 872s Nov 14 04:16:38 Took 8m48.700s 872s ### End 16 acceptance-etcd3 ### 873s autopkgtest [04:16:39]: test acceptance-etcd3: -----------------------] 877s autopkgtest [04:16:43]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 877s acceptance-etcd3 PASS 881s autopkgtest [04:16:47]: test acceptance-etcd-basic: preparing testbed 934s autopkgtest [04:17:40]: testbed dpkg architecture: armhf 936s autopkgtest [04:17:42]: testbed apt version: 2.9.8 936s autopkgtest [04:17:42]: @@@@@@@@@@@@@@@@@@@@ test bed setup 945s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 945s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [991 kB] 945s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 945s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 945s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 945s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [104 kB] 945s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [688 kB] 945s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [5040 B] 946s Fetched 1986 kB in 1s (2272 kB/s) 946s Reading package lists... 961s tee: /proc/self/fd/2: Permission denied 978s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 978s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 978s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 979s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 980s Reading package lists... 980s Reading package lists... 980s Building dependency tree... 980s Reading state information... 980s Calculating upgrade... 981s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 981s Reading package lists... 981s Building dependency tree... 981s Reading state information... 982s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 984s autopkgtest [04:18:30]: rebooting testbed after setup commands that affected boot 1090s Reading package lists... 1090s Building dependency tree... 1090s Reading state information... 1090s Starting pkgProblemResolver with broken count: 0 1091s Starting 2 pkgProblemResolver with broken count: 0 1091s Done 1091s The following additional packages will be installed: 1091s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 1091s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm19 libpq5 1091s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 1091s patroni-doc postgresql postgresql-16 postgresql-client-16 1091s postgresql-client-common postgresql-common python3-behave python3-cdiff 1091s python3-click python3-colorama python3-coverage python3-dateutil 1091s python3-dnspython python3-etcd python3-parse python3-parse-type 1091s python3-prettytable python3-psutil python3-psycopg2 python3-six 1091s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 1091s Suggested packages: 1091s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 1091s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 1091s python3-httpcore etcd python-psycopg2-doc 1091s Recommended packages: 1091s javascript-common libjson-xs-perl 1091s The following NEW packages will be installed: 1091s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 1091s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 1091s libllvm19 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 1091s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 1091s postgresql-client-common postgresql-common python3-behave python3-cdiff 1091s python3-click python3-colorama python3-coverage python3-dateutil 1091s python3-dnspython python3-etcd python3-parse python3-parse-type 1091s python3-prettytable python3-psutil python3-psycopg2 python3-six 1091s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 1091s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 1091s Need to get 61.3 MB/61.3 MB of archives. 1091s After this operation, 231 MB of additional disk space will be used. 1091s Get:1 /tmp/autopkgtest.hz6KX2/2-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [768 B] 1092s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 1092s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 1092s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 262 [36.7 kB] 1092s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.2ubuntu2 [18.0 kB] 1092s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 262 [162 kB] 1092s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf etcd-server armhf 3.5.15-7 [10.4 MB] 1094s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1094s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 1094s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 1094s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1094s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1094s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 1094s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.2-1ubuntu1 [27.8 MB] 1096s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 1096s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 1096s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 1096s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu1 [150 kB] 1096s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 1096s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 1096s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 1096s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 1096s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 1096s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 1096s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 1096s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1096s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 1096s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 1096s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 1096s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1096s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-4 [31.9 kB] 1096s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 1096s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 1096s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 1096s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-16 armhf 16.4-3 [1236 kB] 1097s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-16 armhf 16.4-3 [14.2 MB] 1098s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 16+262 [11.8 kB] 1098s Get:38 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 1098s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-1 [23.4 kB] 1098s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 1098s Get:41 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 1098s Preconfiguring packages ... 1098s Fetched 61.3 MB in 7s (9318 kB/s) 1098s Selecting previously unselected package fonts-lato. 1099s (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 ... 59560 files and directories currently installed.) 1099s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 1099s Unpacking fonts-lato (2.015-1) ... 1099s Selecting previously unselected package libjson-perl. 1099s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 1099s Unpacking libjson-perl (4.10000-1) ... 1099s Selecting previously unselected package postgresql-client-common. 1099s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 1099s Unpacking postgresql-client-common (262) ... 1099s Selecting previously unselected package ssl-cert. 1099s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 1099s Unpacking ssl-cert (1.1.2ubuntu2) ... 1099s Selecting previously unselected package postgresql-common. 1099s Preparing to unpack .../04-postgresql-common_262_all.deb ... 1099s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1099s Unpacking postgresql-common (262) ... 1099s Selecting previously unselected package etcd-server. 1099s Preparing to unpack .../05-etcd-server_3.5.15-7_armhf.deb ... 1099s Unpacking etcd-server (3.5.15-7) ... 1099s Selecting previously unselected package fonts-font-awesome. 1099s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1099s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1099s Selecting previously unselected package libio-pty-perl. 1099s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 1099s Unpacking libio-pty-perl (1:1.20-1build3) ... 1099s Selecting previously unselected package libipc-run-perl. 1099s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 1099s Unpacking libipc-run-perl (20231003.0-2) ... 1099s Selecting previously unselected package libjs-jquery. 1099s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1099s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1099s Selecting previously unselected package libjs-underscore. 1099s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1099s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1099s Selecting previously unselected package libjs-sphinxdoc. 1099s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-4_all.deb ... 1099s Unpacking libjs-sphinxdoc (7.4.7-4) ... 1099s Selecting previously unselected package libllvm19:armhf. 1099s Preparing to unpack .../12-libllvm19_1%3a19.1.2-1ubuntu1_armhf.deb ... 1099s Unpacking libllvm19:armhf (1:19.1.2-1ubuntu1) ... 1100s Selecting previously unselected package libpq5:armhf. 1100s Preparing to unpack .../13-libpq5_17.0-1_armhf.deb ... 1100s Unpacking libpq5:armhf (17.0-1) ... 1100s Selecting previously unselected package libtime-duration-perl. 1100s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 1100s Unpacking libtime-duration-perl (1.21-2) ... 1100s Selecting previously unselected package libtimedate-perl. 1100s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 1100s Unpacking libtimedate-perl (2.3300-2) ... 1100s Selecting previously unselected package libxslt1.1:armhf. 1100s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1ubuntu1_armhf.deb ... 1100s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 1100s Selecting previously unselected package moreutils. 1100s Preparing to unpack .../17-moreutils_0.69-1_armhf.deb ... 1100s Unpacking moreutils (0.69-1) ... 1100s Selecting previously unselected package python3-ydiff. 1100s Preparing to unpack .../18-python3-ydiff_1.3-1_all.deb ... 1100s Unpacking python3-ydiff (1.3-1) ... 1100s Selecting previously unselected package python3-cdiff. 1100s Preparing to unpack .../19-python3-cdiff_1.3-1_all.deb ... 1100s Unpacking python3-cdiff (1.3-1) ... 1100s Selecting previously unselected package python3-colorama. 1100s Preparing to unpack .../20-python3-colorama_0.4.6-4_all.deb ... 1100s Unpacking python3-colorama (0.4.6-4) ... 1100s Selecting previously unselected package python3-click. 1100s Preparing to unpack .../21-python3-click_8.1.7-2_all.deb ... 1100s Unpacking python3-click (8.1.7-2) ... 1101s Selecting previously unselected package python3-six. 1101s Preparing to unpack .../22-python3-six_1.16.0-7_all.deb ... 1101s Unpacking python3-six (1.16.0-7) ... 1101s Selecting previously unselected package python3-dateutil. 1101s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 1101s Unpacking python3-dateutil (2.9.0-2) ... 1101s Selecting previously unselected package python3-wcwidth. 1101s Preparing to unpack .../24-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1101s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1101s Selecting previously unselected package python3-prettytable. 1101s Preparing to unpack .../25-python3-prettytable_3.10.1-1_all.deb ... 1101s Unpacking python3-prettytable (3.10.1-1) ... 1101s Selecting previously unselected package python3-psutil. 1101s Preparing to unpack .../26-python3-psutil_5.9.8-2build2_armhf.deb ... 1101s Unpacking python3-psutil (5.9.8-2build2) ... 1101s Selecting previously unselected package python3-psycopg2. 1101s Preparing to unpack .../27-python3-psycopg2_2.9.9-2_armhf.deb ... 1101s Unpacking python3-psycopg2 (2.9.9-2) ... 1101s Selecting previously unselected package python3-dnspython. 1101s Preparing to unpack .../28-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1101s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1101s Selecting previously unselected package python3-etcd. 1101s Preparing to unpack .../29-python3-etcd_0.4.5-4_all.deb ... 1101s Unpacking python3-etcd (0.4.5-4) ... 1101s Selecting previously unselected package patroni. 1101s Preparing to unpack .../30-patroni_3.3.1-1_all.deb ... 1101s Unpacking patroni (3.3.1-1) ... 1101s Selecting previously unselected package sphinx-rtd-theme-common. 1101s Preparing to unpack .../31-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 1101s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1101s Selecting previously unselected package patroni-doc. 1101s Preparing to unpack .../32-patroni-doc_3.3.1-1_all.deb ... 1101s Unpacking patroni-doc (3.3.1-1) ... 1101s Selecting previously unselected package postgresql-client-16. 1101s Preparing to unpack .../33-postgresql-client-16_16.4-3_armhf.deb ... 1101s Unpacking postgresql-client-16 (16.4-3) ... 1101s Selecting previously unselected package postgresql-16. 1101s Preparing to unpack .../34-postgresql-16_16.4-3_armhf.deb ... 1101s Unpacking postgresql-16 (16.4-3) ... 1101s Selecting previously unselected package postgresql. 1102s Preparing to unpack .../35-postgresql_16+262_all.deb ... 1102s Unpacking postgresql (16+262) ... 1102s Selecting previously unselected package python3-parse. 1102s Preparing to unpack .../36-python3-parse_1.20.2-1_all.deb ... 1102s Unpacking python3-parse (1.20.2-1) ... 1102s Selecting previously unselected package python3-parse-type. 1102s Preparing to unpack .../37-python3-parse-type_0.6.4-1_all.deb ... 1102s Unpacking python3-parse-type (0.6.4-1) ... 1102s Selecting previously unselected package python3-behave. 1102s Preparing to unpack .../38-python3-behave_1.2.6-6_all.deb ... 1102s Unpacking python3-behave (1.2.6-6) ... 1102s Selecting previously unselected package python3-coverage. 1102s Preparing to unpack .../39-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 1102s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1102s Selecting previously unselected package autopkgtest-satdep. 1102s Preparing to unpack .../40-2-autopkgtest-satdep.deb ... 1102s Unpacking autopkgtest-satdep (0) ... 1102s Setting up postgresql-client-common (262) ... 1102s Setting up libllvm19:armhf (1:19.1.2-1ubuntu1) ... 1102s Setting up fonts-lato (2.015-1) ... 1102s Setting up libio-pty-perl (1:1.20-1build3) ... 1102s Setting up python3-colorama (0.4.6-4) ... 1102s Setting up python3-ydiff (1.3-1) ... 1102s Setting up libpq5:armhf (17.0-1) ... 1102s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1102s Setting up python3-click (8.1.7-2) ... 1102s Setting up python3-psutil (5.9.8-2build2) ... 1103s Setting up python3-six (1.16.0-7) ... 1103s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1103s Setting up ssl-cert (1.1.2ubuntu2) ... 1103s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1104s Setting up python3-psycopg2 (2.9.9-2) ... 1104s Setting up libipc-run-perl (20231003.0-2) ... 1104s Setting up libtime-duration-perl (1.21-2) ... 1104s Setting up libtimedate-perl (2.3300-2) ... 1104s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1104s Setting up python3-parse (1.20.2-1) ... 1104s Setting up libjson-perl (4.10000-1) ... 1104s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 1104s Setting up python3-dateutil (2.9.0-2) ... 1104s Setting up etcd-server (3.5.15-7) ... 1104s info: Selecting UID from range 100 to 999 ... 1104s 1104s info: Selecting GID from range 100 to 999 ... 1104s info: Adding system user `etcd' (UID 107) ... 1104s info: Adding new group `etcd' (GID 111) ... 1105s info: Adding new user `etcd' (UID 107) with group `etcd' ... 1105s info: Creating home directory `/var/lib/etcd/' ... 1105s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 1105s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 1106s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1106s Setting up python3-prettytable (3.10.1-1) ... 1106s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1106s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1106s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1106s Setting up moreutils (0.69-1) ... 1106s Setting up python3-etcd (0.4.5-4) ... 1106s Setting up postgresql-client-16 (16.4-3) ... 1107s 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 1107s Setting up python3-cdiff (1.3-1) ... 1107s Setting up python3-parse-type (0.6.4-1) ... 1107s Setting up postgresql-common (262) ... 1108s 1108s Creating config file /etc/postgresql-common/createcluster.conf with new version 1108s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1108s Removing obsolete dictionary files: 1108s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1109s Setting up libjs-sphinxdoc (7.4.7-4) ... 1109s Setting up python3-behave (1.2.6-6) ... 1109s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1109s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1109s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1109s """Registers a custom type that will be available to "parse" 1109s Setting up patroni (3.3.1-1) ... 1109s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1110s Setting up postgresql-16 (16.4-3) ... 1110s Creating new PostgreSQL cluster 16/main ... 1110s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1110s The files belonging to this database system will be owned by user "postgres". 1110s This user must also own the server process. 1110s 1110s The database cluster will be initialized with locale "C.UTF-8". 1110s The default database encoding has accordingly been set to "UTF8". 1110s The default text search configuration will be set to "english". 1110s 1110s Data page checksums are disabled. 1110s 1110s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1110s creating subdirectories ... ok 1110s selecting dynamic shared memory implementation ... posix 1110s selecting default max_connections ... 100 1110s selecting default shared_buffers ... 128MB 1110s selecting default time zone ... Etc/UTC 1110s creating configuration files ... ok 1110s running bootstrap script ... ok 1111s performing post-bootstrap initialization ... ok 1111s syncing data to disk ... ok 1114s Setting up patroni-doc (3.3.1-1) ... 1114s Setting up postgresql (16+262) ... 1114s Setting up autopkgtest-satdep (0) ... 1114s Processing triggers for man-db (2.12.1-3) ... 1115s Processing triggers for libc-bin (2.40-1ubuntu3) ... 1131s (Reading database ... 62777 files and directories currently installed.) 1131s Removing autopkgtest-satdep (0) ... 1147s autopkgtest [04:21:13]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 1147s autopkgtest [04:21:13]: test acceptance-etcd-basic: [----------------------- 1149s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1150s ++ ls -1r /usr/lib/postgresql/ 1150s ○ etcd.service - etcd - highly-available key value store 1150s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1150s Active: inactive (dead) since Thu 2024-11-14 04:21:15 UTC; 13ms ago 1150s Duration: 43.123s 1150s Invocation: 29d7a1f88737455485cc5e2f14195c81 1150s Docs: https://etcd.io/docs 1150s man:etcd 1150s Process: 1275 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1150s Main PID: 1275 (code=killed, signal=TERM) 1150s 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.811190Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest-lxd-icgsmt","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"warn","ts":"2024-11-14T04:21:15.811273Z","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"} 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"warn","ts":"2024-11-14T04:21:15.811473Z","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"} 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.811503Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.815545Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.815728Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.815744Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest-lxd-icgsmt","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt systemd[1]: etcd.service: Deactivated successfully. 1150s Nov 14 04:21:15 autopkgtest-lxd-icgsmt systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1150s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 1150s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1150s + '[' 16 == 10 -o 16 == 11 ']' 1150s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 1150s + 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' 1152s Nov 14 04:21:18 Feature: basic replication # features/basic_replication.feature:1 1152s Nov 14 04:21:18 We should check that the basic bootstrapping, replication and failover works. 1152s Nov 14 04:21:18 Scenario: check replication of a single table # features/basic_replication.feature:4 1152s Nov 14 04:21:18 Given I start postgres0 # features/steps/basic_replication.py:8 1156s Nov 14 04:21:22 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1156s Nov 14 04:21:22 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1156s Nov 14 04:21:22 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 1156s Nov 14 04:21:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 1156s Nov 14 04:21:22 When I start postgres1 # features/steps/basic_replication.py:8 1160s Nov 14 04:21:26 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1165s Nov 14 04:21:31 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1165s Nov 14 04:21:31 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1165s Nov 14 04:21:31 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1166s Nov 14 04:21:32 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1166s Nov 14 04:21:32 1166s Nov 14 04:21:32 Scenario: check restart of sync replica # features/basic_replication.feature:17 1166s Nov 14 04:21:32 Given I shut down postgres2 # features/steps/basic_replication.py:29 1167s Nov 14 04:21:33 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1167s Nov 14 04:21:33 When I start postgres2 # features/steps/basic_replication.py:8 1170s Nov 14 04:21:36 And I shut down postgres1 # features/steps/basic_replication.py:29 1173s Nov 14 04:21:39 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1174s Nov 14 04:21:40 When I start postgres1 # features/steps/basic_replication.py:8 1177s Nov 14 04:21:43 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1178s Nov 14 04:21:44 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1178s Nov 14 04:21:44 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1178s Nov 14 04:21:44 1178s Nov 14 04:21:44 Scenario: check stuck sync replica # features/basic_replication.feature:28 1178s Nov 14 04:21:44 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 1178s Nov 14 04:21:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 1178s Nov 14 04:21:44 And I create table on postgres0 # features/steps/basic_replication.py:73 1178s Nov 14 04:21:44 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1179s Nov 14 04:21:45 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1179s Nov 14 04:21:45 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1179s Nov 14 04:21:45 And I load data on postgres0 # features/steps/basic_replication.py:84 1180s Nov 14 04:21:46 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1183s Nov 14 04:21:49 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1183s Nov 14 04:21:49 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1183s Nov 14 04:21:49 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1183s Nov 14 04:21:49 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 1183s Nov 14 04:21:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 1183s Nov 14 04:21:49 And I drop table on postgres0 # features/steps/basic_replication.py:73 1183s Nov 14 04:21:49 1183s Nov 14 04:21:49 Scenario: check multi sync replication # features/basic_replication.feature:44 1183s Nov 14 04:21:49 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 1183s Nov 14 04:21:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 1183s Nov 14 04:21:49 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1187s Nov 14 04:21:53 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 14 04:21:53 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1187s Nov 14 04:21:53 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1187s Nov 14 04:21:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1187s Nov 14 04:21:53 And I shut down postgres1 # features/steps/basic_replication.py:29 1190s Nov 14 04:21:56 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1191s Nov 14 04:21:57 When I start postgres1 # features/steps/basic_replication.py:8 1195s Nov 14 04:22:01 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1195s Nov 14 04:22:01 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1195s Nov 14 04:22:01 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1195s Nov 14 04:22:01 1195s Nov 14 04:22:01 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1195s Nov 14 04:22:01 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1197s Nov 14 04:22:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1197s Nov 14 04:22:03 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1199s Nov 14 04:22:05 And I shut down postgres0 # features/steps/basic_replication.py:29 1200s Nov 14 04:22:06 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1202s Nov 14 04:22:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1202s Nov 14 04:22:08 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1221s Nov 14 04:22:27 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1224s Nov 14 04:22:29 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1224s Nov 14 04:22:29 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 1224s Nov 14 04:22:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1224s Nov 14 04:22:30 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1224s Nov 14 04:22:30 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1227s Nov 14 04:22:33 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1227s Nov 14 04:22:33 1227s Nov 14 04:22:33 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1227s Nov 14 04:22:33 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1227s Nov 14 04:22:33 And I start postgres0 # features/steps/basic_replication.py:8 1227s Nov 14 04:22:33 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1231s Nov 14 04:22:37 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1231s Nov 14 04:22:37 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1235s Nov 14 04:22:41 1235s Nov 14 04:22:41 @reject-duplicate-name 1235s Nov 14 04:22:41 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1235s Nov 14 04:22:41 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1238s Nov 14 04:22:44 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 1242s Nov 14 04:22:48 1243s 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'))") 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.3508.XMZRKLKx 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.3551.XhAxoAzx 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.3589.Xmwsgjnx 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.3646.XalZYXSx 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.3692.XudlaYix 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.3762.XbDEHDBx 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.3811.XaXalSwx 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.3814.XnNEPBxx 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.3910.XHUmdsIx 1243s Nov 14 04:22:49 Combined data file .coverage.autopkgtest-lxd-icgsmt.4012.XuxSIIdx 1246s Nov 14 04:22:52 Name Stmts Miss Cover 1246s Nov 14 04:22:52 ------------------------------------------------------------------------------------------------------------- 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 603 45% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/api.py 770 430 44% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 149 77% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 183 70% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/ha.py 1244 612 51% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/log.py 219 71 68% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 239 71% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 91 64% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 251 69% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 174 48% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/utils.py 350 141 60% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/validator.py 301 211 30% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/six.py 504 250 50% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 104 56% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 137 61% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 86 63% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 56 68% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 71 65% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1246s Nov 14 04:22:52 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1246s Nov 14 04:22:52 patroni/__init__.py 13 2 85% 1246s Nov 14 04:22:52 patroni/__main__.py 199 199 0% 1246s Nov 14 04:22:52 patroni/api.py 770 770 0% 1246s Nov 14 04:22:52 patroni/async_executor.py 96 69 28% 1246s Nov 14 04:22:52 patroni/collections.py 56 15 73% 1246s Nov 14 04:22:52 patroni/config.py 371 196 47% 1246s Nov 14 04:22:52 patroni/config_generator.py 212 212 0% 1246s Nov 14 04:22:52 patroni/ctl.py 936 663 29% 1246s Nov 14 04:22:52 patroni/daemon.py 76 76 0% 1246s Nov 14 04:22:52 patroni/dcs/__init__.py 646 308 52% 1246s Nov 14 04:22:52 patroni/dcs/consul.py 485 485 0% 1246s Nov 14 04:22:52 patroni/dcs/etcd3.py 679 679 0% 1246s Nov 14 04:22:52 patroni/dcs/etcd.py 603 235 61% 1246s Nov 14 04:22:52 patroni/dcs/exhibitor.py 61 61 0% 1246s Nov 14 04:22:52 patroni/dcs/kubernetes.py 938 938 0% 1246s Nov 14 04:22:52 patroni/dcs/raft.py 319 319 0% 1246s Nov 14 04:22:52 patroni/dcs/zookeeper.py 288 288 0% 1246s Nov 14 04:22:52 patroni/dynamic_loader.py 35 7 80% 1246s Nov 14 04:22:52 patroni/exceptions.py 16 1 94% 1246s Nov 14 04:22:52 patroni/file_perm.py 43 15 65% 1246s Nov 14 04:22:52 patroni/global_config.py 81 23 72% 1246s Nov 14 04:22:52 patroni/ha.py 1244 1244 0% 1246s Nov 14 04:22:52 patroni/log.py 219 173 21% 1246s Nov 14 04:22:52 patroni/postgresql/__init__.py 821 651 21% 1246s Nov 14 04:22:52 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1246s Nov 14 04:22:52 patroni/postgresql/bootstrap.py 252 222 12% 1246s Nov 14 04:22:52 patroni/postgresql/callback_executor.py 55 34 38% 1246s Nov 14 04:22:52 patroni/postgresql/cancellable.py 104 84 19% 1246s Nov 14 04:22:52 patroni/postgresql/config.py 813 698 14% 1246s Nov 14 04:22:52 patroni/postgresql/connection.py 75 50 33% 1246s Nov 14 04:22:52 patroni/postgresql/misc.py 41 29 29% 1246s Nov 14 04:22:52 patroni/postgresql/mpp/__init__.py 89 21 76% 1246s Nov 14 04:22:52 patroni/postgresql/mpp/citus.py 259 259 0% 1246s Nov 14 04:22:52 patroni/postgresql/postmaster.py 170 139 18% 1246s Nov 14 04:22:52 patroni/postgresql/rewind.py 416 416 0% 1246s Nov 14 04:22:52 patroni/postgresql/slots.py 334 285 15% 1246s Nov 14 04:22:52 patroni/postgresql/sync.py 130 96 26% 1246s Nov 14 04:22:52 patroni/postgresql/validator.py 157 52 67% 1246s Nov 14 04:22:52 patroni/psycopg.py 42 28 33% 1246s Nov 14 04:22:52 patroni/raft_controller.py 22 22 0% 1246s Nov 14 04:22:52 patroni/request.py 62 6 90% 1246s Nov 14 04:22:52 patroni/scripts/__init__.py 0 0 100% 1246s Nov 14 04:22:52 patroni/scripts/aws.py 59 59 0% 1246s Nov 14 04:22:52 patroni/scripts/barman/__init__.py 0 0 100% 1246s Nov 14 04:22:52 patroni/scripts/barman/cli.py 51 51 0% 1246s Nov 14 04:22:52 patroni/scripts/barman/config_switch.py 51 51 0% 1246s Nov 14 04:22:52 patroni/scripts/barman/recover.py 37 37 0% 1246s Nov 14 04:22:52 patroni/scripts/barman/utils.py 94 94 0% 1246s Nov 14 04:22:52 patroni/scripts/wale_restore.py 207 207 0% 1246s Nov 14 04:22:52 patroni/tags.py 38 15 61% 1246s Nov 14 04:22:52 patroni/utils.py 350 247 29% 1246s Nov 14 04:22:52 patroni/validator.py 301 215 29% 1246s Nov 14 04:22:52 patroni/version.py 1 0 100% 1246s Nov 14 04:22:52 patroni/watchdog/__init__.py 2 2 0% 1246s Nov 14 04:22:52 patroni/watchdog/base.py 203 203 0% 1246s Nov 14 04:22:52 patroni/watchdog/linux.py 135 135 0% 1246s Nov 14 04:22:52 ------------------------------------------------------------------------------------------------------------- 1246s Nov 14 04:22:52 TOTAL 53060 33830 36% 1246s Nov 14 04:22:52 1 feature passed, 0 failed, 0 skipped 1246s Nov 14 04:22:52 7 scenarios passed, 0 failed, 0 skipped 1246s Nov 14 04:22:52 68 steps passed, 0 failed, 0 skipped, 0 undefined 1246s Nov 14 04:22:52 Took 1m26.136s 1246s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 1246s + rm -f '/tmp/pgpass?' 1246s ### End 16 acceptance-etcd features/basic_replication.feature ### 1246s ++ id -u 1246s + '[' 0 -eq 0 ']' 1246s + '[' -x /etc/init.d/zookeeper ']' 1246s autopkgtest [04:22:52]: test acceptance-etcd-basic: -----------------------] 1250s autopkgtest [04:22:56]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 1250s acceptance-etcd-basic PASS 1254s autopkgtest [04:23:00]: test acceptance-etcd: preparing testbed 1264s Reading package lists... 1265s Building dependency tree... 1265s Reading state information... 1265s Starting pkgProblemResolver with broken count: 0 1265s Starting 2 pkgProblemResolver with broken count: 0 1265s Done 1266s The following NEW packages will be installed: 1266s autopkgtest-satdep 1266s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1266s Need to get 0 B/768 B of archives. 1266s After this operation, 0 B of additional disk space will be used. 1266s Get:1 /tmp/autopkgtest.hz6KX2/3-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [768 B] 1266s Selecting previously unselected package autopkgtest-satdep. 1266s (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 ... 62777 files and directories currently installed.) 1266s Preparing to unpack .../3-autopkgtest-satdep.deb ... 1266s Unpacking autopkgtest-satdep (0) ... 1266s Setting up autopkgtest-satdep (0) ... 1278s (Reading database ... 62777 files and directories currently installed.) 1278s Removing autopkgtest-satdep (0) ... 1284s autopkgtest [04:23:30]: test acceptance-etcd: debian/tests/acceptance etcd 1284s autopkgtest [04:23:30]: test acceptance-etcd: [----------------------- 1286s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1287s ++ ls -1r /usr/lib/postgresql/ 1287s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1287s + '[' 16 == 10 -o 16 == 11 ']' 1287s + echo '### PostgreSQL 16 acceptance-etcd ###' 1287s + 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' 1287s ○ etcd.service - etcd - highly-available key value store 1287s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1287s Active: inactive (dead) since Thu 2024-11-14 04:21:15 UTC; 2min 17s ago 1287s Duration: 43.123s 1287s Invocation: 29d7a1f88737455485cc5e2f14195c81 1287s Docs: https://etcd.io/docs 1287s man:etcd 1287s Process: 1275 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1287s Main PID: 1275 (code=killed, signal=TERM) 1287s 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.811190Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest-lxd-icgsmt","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"warn","ts":"2024-11-14T04:21:15.811273Z","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"} 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"warn","ts":"2024-11-14T04:21:15.811473Z","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"} 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.811503Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.815545Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.815728Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt etcd[1275]: {"level":"info","ts":"2024-11-14T04:21:15.815744Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest-lxd-icgsmt","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt systemd[1]: etcd.service: Deactivated successfully. 1287s Nov 14 04:21:15 autopkgtest-lxd-icgsmt systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1287s ### PostgreSQL 16 acceptance-etcd ### 1289s Nov 14 04:23:35 Feature: basic replication # features/basic_replication.feature:1 1289s Nov 14 04:23:35 We should check that the basic bootstrapping, replication and failover works. 1289s Nov 14 04:23:35 Scenario: check replication of a single table # features/basic_replication.feature:4 1289s Nov 14 04:23:35 Given I start postgres0 # features/steps/basic_replication.py:8 1294s Nov 14 04:23:40 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1294s Nov 14 04:23:40 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1294s Nov 14 04:23:40 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 1294s Nov 14 04:23:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1294s Nov 14 04:23:40 When I start postgres1 # features/steps/basic_replication.py:8 1299s Nov 14 04:23:45 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1303s Nov 14 04:23:49 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1303s Nov 14 04:23:49 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1303s Nov 14 04:23:49 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1304s Nov 14 04:23:50 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1304s Nov 14 04:23:50 1304s Nov 14 04:23:50 Scenario: check restart of sync replica # features/basic_replication.feature:17 1304s Nov 14 04:23:50 Given I shut down postgres2 # features/steps/basic_replication.py:29 1305s Nov 14 04:23:51 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1305s Nov 14 04:23:51 When I start postgres2 # features/steps/basic_replication.py:8 1308s Nov 14 04:23:54 And I shut down postgres1 # features/steps/basic_replication.py:29 1311s Nov 14 04:23:57 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1312s Nov 14 04:23:58 When I start postgres1 # features/steps/basic_replication.py:8 1315s Nov 14 04:24:01 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1316s Nov 14 04:24:02 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1316s Nov 14 04:24:02 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1316s Nov 14 04:24:02 1316s Nov 14 04:24:02 Scenario: check stuck sync replica # features/basic_replication.feature:28 1316s Nov 14 04:24:02 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1316s Nov 14 04:24:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1316s Nov 14 04:24:02 And I create table on postgres0 # features/steps/basic_replication.py:73 1316s Nov 14 04:24:02 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1317s Nov 14 04:24:03 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1317s Nov 14 04:24:03 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1317s Nov 14 04:24:03 And I load data on postgres0 # features/steps/basic_replication.py:84 1318s Nov 14 04:24:04 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1321s Nov 14 04:24:07 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1321s Nov 14 04:24:07 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1321s Nov 14 04:24:07 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1321s Nov 14 04:24:07 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1321s Nov 14 04:24:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1321s Nov 14 04:24:07 And I drop table on postgres0 # features/steps/basic_replication.py:73 1321s Nov 14 04:24:07 1321s Nov 14 04:24:07 Scenario: check multi sync replication # features/basic_replication.feature:44 1321s Nov 14 04:24:07 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1321s Nov 14 04:24:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1321s Nov 14 04:24:07 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1325s Nov 14 04:24:11 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1325s Nov 14 04:24:11 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1325s Nov 14 04:24:11 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 1325s Nov 14 04:24:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1325s Nov 14 04:24:11 And I shut down postgres1 # features/steps/basic_replication.py:29 1328s Nov 14 04:24:14 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1329s Nov 14 04:24:15 When I start postgres1 # features/steps/basic_replication.py:8 1333s Nov 14 04:24:19 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1333s Nov 14 04:24:19 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1333s Nov 14 04:24:19 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1334s Nov 14 04:24:19 1334s Nov 14 04:24:19 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1334s Nov 14 04:24:19 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1336s Nov 14 04:24:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1336s Nov 14 04:24:21 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1338s Nov 14 04:24:23 And I shut down postgres0 # features/steps/basic_replication.py:29 1339s Nov 14 04:24:24 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1341s Nov 14 04:24:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1341s Nov 14 04:24:26 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1360s Nov 14 04:24:46 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1362s Nov 14 04:24:48 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1362s Nov 14 04:24:48 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 1362s Nov 14 04:24:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1362s Nov 14 04:24:48 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1362s Nov 14 04:24:48 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1365s Nov 14 04:24:51 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1365s Nov 14 04:24:51 1365s Nov 14 04:24:51 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1365s Nov 14 04:24:51 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1365s Nov 14 04:24:51 And I start postgres0 # features/steps/basic_replication.py:8 1365s Nov 14 04:24:51 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1373s Nov 14 04:24:59 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1373s Nov 14 04:24:59 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1373s Nov 14 04:24:59 1373s Nov 14 04:24:59 @reject-duplicate-name 1373s Nov 14 04:24:59 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1373s Nov 14 04:24:59 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1376s Nov 14 04:25:02 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 1380s Nov 14 04:25:06 1380s Nov 14 04:25:06 Feature: cascading replication # features/cascading_replication.feature:1 1380s Nov 14 04:25:06 We should check that patroni can do base backup and streaming from the replica 1380s Nov 14 04:25:06 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1380s Nov 14 04:25:06 Given I start postgres0 # features/steps/basic_replication.py:8 1385s Nov 14 04:25:11 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1385s Nov 14 04:25:11 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1389s Nov 14 04:25:15 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1390s Nov 14 04:25:16 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1390s Nov 14 04:25:16 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1390s Nov 14 04:25:16 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1390s Nov 14 04:25:16 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1395s Nov 14 04:25:21 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1396s Nov 14 04:25:22 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1402s Nov 14 04:25:28 1402s SKIP FEATURE citus: Citus extenstion isn't available 1402s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1402s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1402s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1402s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1402s 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 1402s Nov 14 04:25:28 Feature: citus # features/citus.feature:1 1402s Nov 14 04:25:28 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1402s Nov 14 04:25:28 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1402s Nov 14 04:25:28 Given I start postgres0 in citus group 0 # None 1402s Nov 14 04:25:28 And I start postgres2 in citus group 1 # None 1402s Nov 14 04:25:28 Then postgres0 is a leader in a group 0 after 10 seconds # None 1402s Nov 14 04:25:28 And postgres2 is a leader in a group 1 after 10 seconds # None 1402s Nov 14 04:25:28 When I start postgres1 in citus group 0 # None 1402s Nov 14 04:25:28 And I start postgres3 in citus group 1 # None 1402s Nov 14 04:25:28 Then replication works from postgres0 to postgres1 after 15 seconds # None 1402s Nov 14 04:25:28 Then replication works from postgres2 to postgres3 after 15 seconds # None 1402s Nov 14 04:25:28 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1402s Nov 14 04:25:28 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1402s Nov 14 04:25:28 1402s Nov 14 04:25:28 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1402s Nov 14 04:25:28 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1402s Nov 14 04:25:28 Then postgres1 role is the primary after 10 seconds # None 1402s Nov 14 04:25:28 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1402s Nov 14 04:25:28 And replication works from postgres1 to postgres0 after 15 seconds # None 1402s Nov 14 04:25:28 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1402s Nov 14 04:25:28 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1402s Nov 14 04:25:28 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1402s Nov 14 04:25:28 Then postgres0 role is the primary after 10 seconds # None 1402s Nov 14 04:25:28 And replication works from postgres0 to postgres1 after 15 seconds # None 1402s Nov 14 04:25:28 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1402s Nov 14 04:25:28 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1402s Nov 14 04:25:28 1402s Nov 14 04:25:28 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1402s Nov 14 04:25:28 Given I create a distributed table on postgres0 # None 1402s Nov 14 04:25:28 And I start a thread inserting data on postgres0 # None 1402s Nov 14 04:25:28 When I run patronictl.py switchover batman --group 1 --force # None 1402s Nov 14 04:25:28 Then I receive a response returncode 0 # None 1402s Nov 14 04:25:28 And postgres3 role is the primary after 10 seconds # None 1402s Nov 14 04:25:28 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1402s Nov 14 04:25:28 And replication works from postgres3 to postgres2 after 15 seconds # None 1402s Nov 14 04:25:28 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1402s Nov 14 04:25:28 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1402s Nov 14 04:25:28 And a thread is still alive # None 1402s Nov 14 04:25:28 When I run patronictl.py switchover batman --group 1 --force # None 1402s Nov 14 04:25:28 Then I receive a response returncode 0 # None 1402s Nov 14 04:25:28 And postgres2 role is the primary after 10 seconds # None 1402s Nov 14 04:25:28 And replication works from postgres2 to postgres3 after 15 seconds # None 1402s Nov 14 04:25:28 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1402s Nov 14 04:25:28 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1402s Nov 14 04:25:28 And a thread is still alive # None 1402s Nov 14 04:25:28 When I stop a thread # None 1402s Nov 14 04:25:28 Then a distributed table on postgres0 has expected rows # None 1402s Nov 14 04:25:28 1402s Nov 14 04:25:28 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1402s Nov 14 04:25:28 Given I cleanup a distributed table on postgres0 # None 1402s Nov 14 04:25:28 And I start a thread inserting data on postgres0 # None 1402s Nov 14 04:25:28 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1402s Nov 14 04:25:28 Then I receive a response returncode 0 # None 1402s Nov 14 04:25:28 And postgres2 role is the primary after 10 seconds # None 1402s Nov 14 04:25:28 And replication works from postgres2 to postgres3 after 15 seconds # None 1402s Nov 14 04:25:28 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1402s Nov 14 04:25:28 And a thread is still alive # None 1402s Nov 14 04:25:28 When I stop a thread # None 1402s Nov 14 04:25:28 Then a distributed table on postgres0 has expected rows # None 1402s Nov 14 04:25:28 1402s Nov 14 04:25:28 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1402s Nov 14 04:25:28 Given I start postgres4 in citus group 2 # None 1402s Nov 14 04:25:28 Then postgres4 is a leader in a group 2 after 10 seconds # None 1402s Nov 14 04:25:28 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1402s Nov 14 04:25:28 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1402s Nov 14 04:25:28 Then I receive a response returncode 0 # None 1402s Nov 14 04:25:28 And I receive a response output "+ttl: 20" # None 1402s Nov 14 04:25:28 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1402s Nov 14 04:25:28 When I shut down postgres4 # None 1402s Nov 14 04:25:28 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1402s Nov 14 04:25:28 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1402s Nov 14 04:25:28 Then a transaction finishes in 20 seconds # None 1402s Nov 14 04:25:28 1402s Nov 14 04:25:28 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1402s Nov 14 04:25:28 We should check that patroni can bootstrap a new cluster from a backup 1402s Nov 14 04:25:28 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1402s Nov 14 04:25:28 Given I start postgres0 # features/steps/basic_replication.py:8 1407s Nov 14 04:25:33 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1407s Nov 14 04:25:33 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1407s Nov 14 04:25:33 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1412s Nov 14 04:25:38 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1413s Nov 14 04:25:39 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1413s Nov 14 04:25:39 1413s Nov 14 04:25:39 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1413s Nov 14 04:25:39 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1413s Nov 14 04:25:39 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1414s Nov 14 04:25:40 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1421s Nov 14 04:25:47 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1421s Nov 14 04:25:47 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1427s Nov 14 04:25:53 1427s Nov 14 04:25:53 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1427s Nov 14 04:25:53 We should check the basic dcs failsafe mode functioning 1427s Nov 14 04:25:53 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1427s Nov 14 04:25:53 Given I start postgres0 # features/steps/basic_replication.py:8 1432s Nov 14 04:25:58 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1432s Nov 14 04:25:58 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1432s Nov 14 04:25:58 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 14 04:25:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1432s Nov 14 04:25:58 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1432s Nov 14 04:25:58 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1432s Nov 14 04:25:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1432s Nov 14 04:25:58 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1432s Nov 14 04:25:58 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 1432s Nov 14 04:25:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1432s Nov 14 04:25:58 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 1432s Nov 14 04:25:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1432s Nov 14 04:25:58 1432s Nov 14 04:25:58 @dcs-failsafe 1432s Nov 14 04:25:58 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1432s Nov 14 04:25:58 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1432s Nov 14 04:25:58 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 1439s Nov 14 04:26:05 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1439s Nov 14 04:26:05 1439s Nov 14 04:26:05 @dcs-failsafe 1439s Nov 14 04:26:05 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1439s Nov 14 04:26:05 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1439s Nov 14 04:26:05 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1441s Nov 14 04:26:07 And I shut down postgres0 # features/steps/basic_replication.py:29 1443s Nov 14 04:26:09 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1447s Nov 14 04:26:13 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1447s Nov 14 04:26:13 1447s Nov 14 04:26:13 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1447s Nov 14 04:26:13 Given I start postgres0 # features/steps/basic_replication.py:8 1450s Nov 14 04:26:16 And I start postgres1 # features/steps/basic_replication.py:8 1450s Nov 14 04:26:16 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1451s Nov 14 04:26:17 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1451s Nov 14 04:26:17 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1452s Nov 14 04:26:18 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1453s Nov 14 04:26:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 1453s Nov 14 04:26:18 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1453s Nov 14 04:26:18 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1453s Nov 14 04:26:18 1453s Nov 14 04:26:18 @dcs-failsafe @slot-advance 1453s Nov 14 04:26:18 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1453s Nov 14 04:26:18 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1453s Nov 14 04:26:18 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1455s Nov 14 04:26:20 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1458s Nov 14 04:26:24 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1458s Nov 14 04:26:24 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 1464s Nov 14 04:26:30 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1464s Nov 14 04:26:30 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1464s Nov 14 04:26:30 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1464s Nov 14 04:26:30 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1464s Nov 14 04:26:30 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1464s Nov 14 04:26:30 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1470s Nov 14 04:26:36 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1470s Nov 14 04:26:36 1470s Nov 14 04:26:36 @dcs-failsafe 1470s Nov 14 04:26:36 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1470s Nov 14 04:26:36 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1470s Nov 14 04:26:36 And I kill postgres1 # features/steps/basic_replication.py:34 1471s Nov 14 04:26:37 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1471s Nov 14 04:26:37 waiting for server to shut down.... done 1471s Nov 14 04:26:37 server stopped 1471s Nov 14 04:26:37 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1474s Nov 14 04:26:40 1474s Nov 14 04:26:40 @dcs-failsafe 1474s Nov 14 04:26:40 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1474s Nov 14 04:26:40 Given I kill postgres0 # features/steps/basic_replication.py:34 1475s Nov 14 04:26:41 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1475s Nov 14 04:26:41 waiting for server to shut down.... done 1475s Nov 14 04:26:41 server stopped 1475s Nov 14 04:26:41 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1475s Nov 14 04:26:41 When I start postgres1 # features/steps/basic_replication.py:8 1479s Nov 14 04:26:45 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1479s Nov 14 04:26:45 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1479s Nov 14 04:26:45 1479s Nov 14 04:26:45 @dcs-failsafe 1479s Nov 14 04:26:45 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1479s Nov 14 04:26:45 Given I start postgres0 # features/steps/basic_replication.py:8 1485s Nov 14 04:26:51 And I start postgres2 # features/steps/basic_replication.py:8 1491s Nov 14 04:26:57 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1491s Nov 14 04:26:57 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1491s Nov 14 04:26:57 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1491s Nov 14 04:26:57 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1493s Nov 14 04:26:58 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1494s Nov 14 04:27:00 1494s Nov 14 04:27:00 @dcs-failsafe @slot-advance 1494s Nov 14 04:27:00 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1494s Nov 14 04:27:00 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 1494s Nov 14 04:27:00 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1500s Nov 14 04:27:06 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1501s Nov 14 04:27:07 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1501s Nov 14 04:27:07 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1502s Nov 14 04:27:08 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1502s Nov 14 04:27:08 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1502s Nov 14 04:27:08 1502s Nov 14 04:27:08 @dcs-failsafe 1502s Nov 14 04:27:08 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1502s Nov 14 04:27:08 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1502s Nov 14 04:27:08 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 1510s Nov 14 04:27:16 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1510s Nov 14 04:27:16 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1510s Nov 14 04:27:16 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1510s Nov 14 04:27:16 1510s Nov 14 04:27:16 @dcs-failsafe @slot-advance 1510s Nov 14 04:27:16 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1510s Nov 14 04:27:16 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1510s Nov 14 04:27:16 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1510s Nov 14 04:27:16 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1510s Nov 14 04:27:16 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1510s Nov 14 04:27:16 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1513s Nov 14 04:27:19 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1513s Nov 14 04:27:19 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1513s Nov 14 04:27:19 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1513s Nov 14 04:27:19 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1518s Nov 14 04:27:24 1518s Nov 14 04:27:24 Feature: ignored slots # features/ignored_slots.feature:1 1518s Nov 14 04:27:24 1518s Nov 14 04:27:24 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1518s Nov 14 04:27:24 Given I start postgres1 # features/steps/basic_replication.py:8 1523s Nov 14 04:27:29 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1523s Nov 14 04:27:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1523s Nov 14 04:27:29 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 1523s Nov 14 04:27:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1523s Nov 14 04:27:29 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1523s Nov 14 04:27:29 When I shut down postgres1 # features/steps/basic_replication.py:29 1525s Nov 14 04:27:31 And I start postgres1 # features/steps/basic_replication.py:8 1528s Nov 14 04:27:34 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1529s Nov 14 04:27:35 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1530s Nov 14 04:27:36 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1530s Nov 14 04:27:36 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1530s Nov 14 04:27:36 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1530s Nov 14 04:27:36 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1530s Nov 14 04:27:36 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1530s Nov 14 04:27:36 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1530s Nov 14 04:27:36 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1530s Nov 14 04:27:36 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1530s Nov 14 04:27:36 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1530s Nov 14 04:27:36 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1530s Nov 14 04:27:36 When I start postgres0 # features/steps/basic_replication.py:8 1535s Nov 14 04:27:41 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1535s Nov 14 04:27:41 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1535s Nov 14 04:27:41 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1536s Nov 14 04:27:42 When I shut down postgres1 # features/steps/basic_replication.py:29 1538s Nov 14 04:27:44 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1539s Nov 14 04:27:45 When I start postgres1 # features/steps/basic_replication.py:8 1542s Nov 14 04:27:48 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1542s Nov 14 04:27:48 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1543s Nov 14 04:27:49 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1545s Nov 14 04:27: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 1545s Nov 14 04:27: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 1545s Nov 14 04:27: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 1545s Nov 14 04:27: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 1545s Nov 14 04:27:51 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1545s Nov 14 04:27:51 When I shut down postgres0 # features/steps/basic_replication.py:29 1547s Nov 14 04:27:53 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1548s Nov 14 04:27:54 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1548s Nov 14 04:27:54 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1548s Nov 14 04:27:54 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1548s Nov 14 04:27:54 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1550s Nov 14 04:27:56 1550s Nov 14 04:27:56 Feature: nostream node # features/nostream_node.feature:1 1550s Nov 14 04:27:56 1550s Nov 14 04:27:56 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1550s Nov 14 04:27:56 When I start postgres0 # features/steps/basic_replication.py:8 1556s Nov 14 04:28:01 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1561s Nov 14 04:28:07 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1561s Nov 14 04:28:07 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1566s Nov 14 04:28:12 1566s Nov 14 04:28:12 @slot-advance 1566s Nov 14 04:28:12 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1566s Nov 14 04:28:12 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 1566s Nov 14 04:28:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1566s Nov 14 04:28:12 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1568s Nov 14 04:28:14 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1569s Nov 14 04:28:15 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1574s Nov 14 04:28:20 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1580s Nov 14 04:28:26 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1580s Nov 14 04:28:26 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1585s Nov 14 04:28:31 1585s Nov 14 04:28:31 Feature: patroni api # features/patroni_api.feature:1 1585s Nov 14 04:28:31 We should check that patroni correctly responds to valid and not-valid API requests. 1585s Nov 14 04:28:31 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1585s Nov 14 04:28:31 Given I start postgres0 # features/steps/basic_replication.py:8 1590s Nov 14 04:28:36 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1590s Nov 14 04:28:36 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1591s Nov 14 04:28:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1591s Nov 14 04:28:36 And I receive a response state running # features/steps/patroni_api.py:98 1591s Nov 14 04:28:36 And I receive a response role master # features/steps/patroni_api.py:98 1591s Nov 14 04:28:36 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1591s Nov 14 04:28:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 1591s Nov 14 04:28:37 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1591s Nov 14 04:28:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1591s Nov 14 04:28:37 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1591s Nov 14 04:28:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 1591s Nov 14 04:28:37 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1591s Nov 14 04:28:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 1591s Nov 14 04:28:37 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1591s Nov 14 04:28:37 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1593s Nov 14 04:28:39 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1593s Nov 14 04:28:39 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1593s Nov 14 04:28:39 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1593s Nov 14 04:28:39 Then I receive a response code 412 # features/steps/patroni_api.py:98 1593s Nov 14 04:28:39 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1593s Nov 14 04:28:39 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1593s Nov 14 04:28:39 Then I receive a response code 400 # features/steps/patroni_api.py:98 1593s Nov 14 04:28:39 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1593s Nov 14 04:28:39 Then I receive a response code 400 # features/steps/patroni_api.py:98 1593s Nov 14 04:28:39 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1593s Nov 14 04:28:39 1593s Nov 14 04:28:39 Scenario: check local configuration reload # features/patroni_api.feature:32 1593s Nov 14 04:28:39 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1593s Nov 14 04:28:39 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1593s Nov 14 04:28:39 Then I receive a response code 202 # features/steps/patroni_api.py:98 1593s Nov 14 04:28:39 1593s Nov 14 04:28:39 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1593s Nov 14 04:28:39 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 1593s Nov 14 04:28:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 1593s Nov 14 04:28:39 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1595s Nov 14 04:28:41 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1595s Nov 14 04:28:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1595s Nov 14 04:28:41 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1595s Nov 14 04:28:41 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1595s Nov 14 04:28:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1595s Nov 14 04:28:41 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1595s Nov 14 04:28:41 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1599s Nov 14 04:28:45 1599s Nov 14 04:28:45 Scenario: check the scheduled restart # features/patroni_api.feature:49 1599s Nov 14 04:28:45 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1601s Nov 14 04:28:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1601s Nov 14 04:28:47 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1601s Nov 14 04:28:47 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1601s Nov 14 04:28: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 1601s Nov 14 04:28:47 Then I receive a response code 202 # features/steps/patroni_api.py:98 1601s Nov 14 04:28:47 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1609s Nov 14 04:28:55 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1609s Nov 14 04:28:55 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 1609s Nov 14 04:28:55 Then I receive a response code 202 # features/steps/patroni_api.py:98 1609s Nov 14 04:28:55 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 1616s Nov 14 04:29:02 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1617s Nov 14 04:29:03 1617s Nov 14 04:29:03 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1617s Nov 14 04:29:03 Given I start postgres1 # features/steps/basic_replication.py:8 1622s Nov 14 04:29:08 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1623s Nov 14 04:29:09 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1625s Nov 14 04:29:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1625s Nov 14 04:29:11 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1625s Nov 14 04:29:11 waiting for server to shut down.... done 1625s Nov 14 04:29:11 server stopped 1625s Nov 14 04:29:11 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1626s Nov 14 04:29:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 1626s Nov 14 04:29:12 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1627s Nov 14 04:29:13 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1630s Nov 14 04:29:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1630s Nov 14 04:29:16 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1631s Nov 14 04:29:17 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1633s Nov 14 04:29:19 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1633s Nov 14 04:29:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 1633s Nov 14 04:29:19 And I receive a response state running # features/steps/patroni_api.py:98 1633s Nov 14 04:29:19 And I receive a response role replica # features/steps/patroni_api.py:98 1633s Nov 14 04:29:19 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1638s Nov 14 04:29:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1638s Nov 14 04:29:24 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1638s Nov 14 04:29:24 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1639s Nov 14 04:29:25 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1639s Nov 14 04:29:25 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1642s Nov 14 04:29:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1642s Nov 14 04:29:28 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1642s Nov 14 04:29:28 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1643s Nov 14 04:29:29 1643s Nov 14 04:29:29 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1643s Nov 14 04:29:29 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 1645s Nov 14 04:29:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 1645s Nov 14 04:29:31 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1645s Nov 14 04:29:31 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1646s Nov 14 04:29:32 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1651s Nov 14 04:29:37 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1651s Nov 14 04:29:37 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1651s Nov 14 04:29:37 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1651s Nov 14 04:29:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 1651s Nov 14 04:29:37 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1652s Nov 14 04:29:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1652s Nov 14 04:29:38 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1652s Nov 14 04:29:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1652s Nov 14 04:29:38 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1652s Nov 14 04:29:38 Then I receive a response code 503 # features/steps/patroni_api.py:98 1652s Nov 14 04:29:38 1652s Nov 14 04:29:38 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1652s Nov 14 04:29:38 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1654s Nov 14 04:29:40 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1654s Nov 14 04:29:40 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1654s Nov 14 04:29:40 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1656s Nov 14 04:29:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1656s Nov 14 04:29:42 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1658s Nov 14 04:29:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1658s Nov 14 04:29:44 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1668s Nov 14 04:29:54 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1669s Nov 14 04:29:55 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1672s Nov 14 04:29:57 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1672s Nov 14 04:29:58 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1672s Nov 14 04:29:58 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1672s Nov 14 04:29:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1672s Nov 14 04:29:58 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1672s Nov 14 04:29:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 1672s Nov 14 04:29:58 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1672s Nov 14 04:29:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 1672s Nov 14 04:29:58 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1672s Nov 14 04:29:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1676s Nov 14 04:30:02 1676s Nov 14 04:30:02 Feature: permanent slots # features/permanent_slots.feature:1 1676s Nov 14 04:30:02 1676s Nov 14 04:30:02 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1676s Nov 14 04:30:02 Given I start postgres0 # features/steps/basic_replication.py:8 1681s Nov 14 04:30:07 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1682s Nov 14 04:30:08 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1682s Nov 14 04:30:08 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 1682s Nov 14 04:30:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 1682s Nov 14 04:30:08 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1682s Nov 14 04:30:08 When I start postgres1 # features/steps/basic_replication.py:8 1687s Nov 14 04:30:13 And I start postgres2 # features/steps/basic_replication.py:8 1692s Nov 14 04:30:18 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1697s Nov 14 04:30:23 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1697s Nov 14 04:30:23 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1697s Nov 14 04:30:23 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1697s Nov 14 04:30:23 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1697s Nov 14 04:30:23 1697s Nov 14 04:30:23 @slot-advance 1697s Nov 14 04:30:23 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1697s Nov 14 04:30:23 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1702s Nov 14 04:30: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 1702s Nov 14 04:30:28 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1703s Nov 14 04:30:29 1703s Nov 14 04:30:29 @slot-advance 1703s Nov 14 04:30:29 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1703s Nov 14 04:30:29 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1708s Nov 14 04:30:34 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1708s Nov 14 04:30:34 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1709s Nov 14 04:30:35 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1710s Nov 14 04:30:36 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1710s Nov 14 04:30:36 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1710s Nov 14 04:30:36 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1710s Nov 14 04:30:36 1710s Nov 14 04:30:36 @slot-advance 1710s Nov 14 04:30:36 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1710s Nov 14 04:30:36 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1710s Nov 14 04:30:36 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1710s Nov 14 04:30:36 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1710s Nov 14 04:30:36 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1710s Nov 14 04:30:36 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1710s Nov 14 04:30:36 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1710s Nov 14 04:30:36 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1710s Nov 14 04:30:36 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1710s Nov 14 04:30:36 1710s Nov 14 04:30:36 @slot-advance 1710s Nov 14 04:30:36 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1710s Nov 14 04:30:36 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1710s Nov 14 04:30:36 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1710s Nov 14 04:30:36 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1710s Nov 14 04:30:36 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1712s Nov 14 04:30:38 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1712s Nov 14 04:30:38 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1712s Nov 14 04:30:38 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1712s Nov 14 04:30:38 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1712s Nov 14 04:30:38 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1712s Nov 14 04:30:38 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1712s Nov 14 04:30:38 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1714s Nov 14 04:30:40 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1714s Nov 14 04:30:40 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1714s Nov 14 04:30:40 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1714s Nov 14 04:30:40 1714s Nov 14 04:30:40 @slot-advance 1714s Nov 14 04:30:40 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1714s Nov 14 04:30:40 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1714s Nov 14 04:30:40 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1714s Nov 14 04:30:40 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1714s Nov 14 04:30:40 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1714s Nov 14 04:30:40 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1714s Nov 14 04:30:40 1714s Nov 14 04:30:40 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1714s Nov 14 04:30:40 Given I shut down postgres3 # features/steps/basic_replication.py:29 1715s Nov 14 04:30:41 And I shut down postgres2 # features/steps/basic_replication.py:29 1716s Nov 14 04:30:42 And I shut down postgres0 # features/steps/basic_replication.py:29 1718s Nov 14 04:30:44 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1718s Nov 14 04:30:44 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1718s Nov 14 04:30:44 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1720s Nov 14 04:30:46 1720s Nov 14 04:30:46 Feature: priority replication # features/priority_failover.feature:1 1720s Nov 14 04:30:46 We should check that we can give nodes priority during failover 1720s Nov 14 04:30:46 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1720s Nov 14 04:30:46 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1725s Nov 14 04:30:51 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1730s Nov 14 04:30:56 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1731s Nov 14 04:30:57 When I shut down postgres0 # features/steps/basic_replication.py:29 1733s Nov 14 04:30:59 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 1735s Nov 14 04:31:01 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1735s Nov 14 04:31:01 When I start postgres0 # features/steps/basic_replication.py:8 1738s Nov 14 04:31:04 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1740s Nov 14 04:31:06 1740s Nov 14 04:31:06 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1740s Nov 14 04:31:06 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1745s Nov 14 04:31:11 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1750s Nov 14 04:31:16 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1751s Nov 14 04:31:17 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1753s Nov 14 04:31:19 When I shut down postgres0 # features/steps/basic_replication.py:29 1755s Nov 14 04:31:21 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1755s Nov 14 04:31:21 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 1755s Nov 14 04:31:21 1755s Nov 14 04:31:21 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1755s Nov 14 04:31:21 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1755s Nov 14 04:31:21 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1755s Nov 14 04:31:21 Then I receive a response code 202 # features/steps/patroni_api.py:98 1755s Nov 14 04:31:21 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 1757s Nov 14 04:31:23 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1758s Nov 14 04:31:24 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1758s Nov 14 04:31:24 Then I receive a response code 412 # features/steps/patroni_api.py:98 1758s Nov 14 04:31:24 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1758s Nov 14 04:31:24 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1758s Nov 14 04:31:24 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1758s Nov 14 04:31:24 Then I receive a response code 202 # features/steps/patroni_api.py:98 1758s Nov 14 04:31:24 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 1760s Nov 14 04:31:26 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1761s Nov 14 04:31:27 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1763s Nov 14 04:31:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1763s Nov 14 04:31:29 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1767s Nov 14 04:31:33 1767s Nov 14 04:31:33 Feature: recovery # features/recovery.feature:1 1767s Nov 14 04:31:33 We want to check that crashed postgres is started back 1767s Nov 14 04:31:33 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1767s Nov 14 04:31:33 Given I start postgres0 # features/steps/basic_replication.py:8 1772s Nov 14 04:31:38 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1772s Nov 14 04:31:38 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1772s Nov 14 04:31:38 When I start postgres1 # features/steps/basic_replication.py:8 1777s Nov 14 04:31:43 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1777s Nov 14 04:31:43 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1778s Nov 14 04:31:44 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1778s Nov 14 04:31:44 waiting for server to shut down.... done 1778s Nov 14 04:31:44 server stopped 1778s Nov 14 04:31:44 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1781s Nov 14 04:31:47 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1781s Nov 14 04:31:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1781s Nov 14 04:31:47 And I receive a response role master # features/steps/patroni_api.py:98 1781s Nov 14 04:31:47 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1781s Nov 14 04:31:47 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1781s Nov 14 04:31:47 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1785s Nov 14 04:31:51 1785s Nov 14 04:31:51 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1785s Nov 14 04:31: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 1785s Nov 14 04:31:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1785s Nov 14 04:31: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 1785s Nov 14 04:31:51 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1785s Nov 14 04:31:51 waiting for server to shut down.... done 1785s Nov 14 04:31:51 server stopped 1785s Nov 14 04:31:51 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1787s Nov 14 04:31:53 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1791s Nov 14 04:31:57 1791s Nov 14 04:31:57 Feature: standby cluster # features/standby_cluster.feature:1 1791s Nov 14 04:31:57 1791s Nov 14 04:31:57 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1791s Nov 14 04:31:57 Given I start postgres1 # features/steps/basic_replication.py:8 1796s Nov 14 04:32:02 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1796s Nov 14 04:32:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1796s Nov 14 04:32: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 1796s Nov 14 04:32:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1796s Nov 14 04:32:02 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1796s Nov 14 04:32:02 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1799s Nov 14 04:32: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 1799s Nov 14 04:32:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1799s Nov 14 04:32:05 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1801s Nov 14 04:32:07 When I start postgres0 # features/steps/basic_replication.py:8 1806s Nov 14 04:32:12 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1806s Nov 14 04:32:12 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1807s Nov 14 04:32:13 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1807s Nov 14 04:32:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1807s Nov 14 04:32:13 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1807s Nov 14 04:32:13 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1807s Nov 14 04:32:13 1807s Nov 14 04:32:13 @slot-advance 1807s Nov 14 04:32:13 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1807s Nov 14 04:32:13 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1810s Nov 14 04:32:16 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1815s Nov 14 04:32:21 1815s Nov 14 04:32:21 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1815s Nov 14 04:32:21 When I shut down postgres1 # features/steps/basic_replication.py:29 1817s Nov 14 04:32:23 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1817s Nov 14 04:32:23 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1818s Nov 14 04:32:24 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1818s Nov 14 04:32:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 1818s Nov 14 04:32:24 1818s Nov 14 04:32:24 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1818s Nov 14 04:32:24 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1822s Nov 14 04:32:28 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1822s Nov 14 04:32:28 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1822s Nov 14 04:32:28 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1822s Nov 14 04:32:28 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1822s Nov 14 04:32:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1822s Nov 14 04:32:28 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1822s Nov 14 04:32:28 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1825s Nov 14 04:32:31 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1825s Nov 14 04:32:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 1825s Nov 14 04:32:31 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1826s Nov 14 04:32:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 1826s Nov 14 04:32:31 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1826s Nov 14 04:32:31 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1826s Nov 14 04:32:31 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1830s Nov 14 04:32:36 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1830s Nov 14 04:32:36 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1831s Nov 14 04:32:37 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1831s Nov 14 04:32:37 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1831s Nov 14 04:32:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1831s Nov 14 04:32:37 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1831s Nov 14 04:32:37 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1831s Nov 14 04:32:37 1831s Nov 14 04:32:37 Scenario: check switchover # features/standby_cluster.feature:57 1831s Nov 14 04:32:37 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1836s Nov 14 04:32: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 1836s Nov 14 04:32:42 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1838s Nov 14 04:32:44 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 1838s Nov 14 04:32:44 1838s Nov 14 04:32:44 Scenario: check failover # features/standby_cluster.feature:63 1838s Nov 14 04:32:44 When I kill postgres2 # features/steps/basic_replication.py:34 1839s Nov 14 04:32:45 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1839s Nov 14 04:32:45 waiting for server to shut down.... done 1839s Nov 14 04:32:45 server stopped 1839s Nov 14 04:32:45 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1858s Nov 14 04:33: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 1858s Nov 14 04:33:04 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1858s Nov 14 04:33:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 1858s Nov 14 04:33:04 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1858s Nov 14 04:33:04 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1859s Nov 14 04:33: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 1863s Nov 14 04:33:09 1863s Nov 14 04:33:09 Feature: watchdog # features/watchdog.feature:1 1863s Nov 14 04:33:09 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1863s Nov 14 04:33:09 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1863s Nov 14 04:33:09 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1868s Nov 14 04:33:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1868s Nov 14 04:33:14 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1868s Nov 14 04:33:14 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1869s Nov 14 04:33:15 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1869s Nov 14 04:33:15 1869s Nov 14 04:33:15 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1869s Nov 14 04:33:15 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1871s Nov 14 04:33:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1871s Nov 14 04:33:17 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1871s Nov 14 04:33:17 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1875s Nov 14 04:33:21 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1875s Nov 14 04:33:21 1875s Nov 14 04:33:21 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1875s Nov 14 04:33:21 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1877s Nov 14 04:33:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1877s Nov 14 04:33:23 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1879s Nov 14 04:33:25 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1879s Nov 14 04:33:25 1879s Nov 14 04:33:25 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1879s Nov 14 04:33:25 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1879s Nov 14 04:33:25 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1881s Nov 14 04:33:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1881s Nov 14 04:33:27 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1882s Nov 14 04:33:28 1882s Nov 14 04:33:28 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1882s Nov 14 04:33:28 Given I shut down postgres0 # features/steps/basic_replication.py:29 1884s Nov 14 04:33:30 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1884s Nov 14 04:33:30 1884s Nov 14 04:33:30 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1884s Nov 14 04:33:30 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1884s Nov 14 04:33:30 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1887s Nov 14 04:33:33 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1889s Nov 14 04:33:35 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1889s Nov 14 04:33:35 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1916s Nov 14 04:34:02 1917s 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'))") 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4387.XqnezFOx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4431.XsjYolIx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4478.XQBzCqrx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4524.XWXSJWFx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4569.XDccobGx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4640.XuKMwjYx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4689.XCaisAVx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4692.XkbFfbdx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4790.XmehBGTx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4886.XZBxebMx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4896.XBoLtBsx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4938.XUjqYDhx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.4992.XQJyDSEx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.5105.XhNoiyHx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.5149.XlCLiQwx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.5204.XxHkvOzx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.5293.XuXYphbx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.5605.XuDVHLAx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.5672.XetXEDWx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.5758.XEoaTErx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.5961.XLpsAcHx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6013.XuLLxdJx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6074.XdGiHIFx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6161.XbiEHZCx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6256.XcQHlhsx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6298.XpAZKilx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6362.Xtbuyilx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6395.XlKDZUXx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6523.XZBHOXBx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6571.XkRZBQEx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6587.XLpDjDix 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6624.XIEqGGkx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6672.XCcEwmmx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6677.XSwFaJOx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6713.XQybyjNx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6754.XpsAYLRx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6917.XvRGocdx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6920.XKIlIJnx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.6925.XSpVjaax 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7061.XRYWzuwx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7108.XqnFGcSx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7146.XQRVjDsx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7186.XtldJfpx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7233.XLGKjTYx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7417.Xprfjcfx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7460.XxHsLGDx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7530.XCKxuPIx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7607.XNqvgAyx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7680.XWcFXbkx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.7994.XVMlERPx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8036.XlyboYlx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8174.XapOoRLx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8237.XfWedyBx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8289.XgEovSvx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8388.XTVAenUx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8506.XSXYngZx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8634.XfdHJSQx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8676.XLqNjRjx 1918s Nov 14 04:34:04 Skipping duplicate data .coverage.autopkgtest-lxd-icgsmt.8678.XwJhCvUx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8681.XREMYTIx 1918s Nov 14 04:34:04 Combined data file .coverage.autopkgtest-lxd-icgsmt.8692.XoxoRBjx 1921s Nov 14 04:34:07 Name Stmts Miss Cover 1921s Nov 14 04:34:07 ------------------------------------------------------------------------------------------------------------- 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1921s Nov 14 04:34:07+ echo '### End 16 acceptance-etcd ###' 1921s + rm -f '/tmp/pgpass?' 1921s ++ id -u 1921s + '[' 0 -eq 0 ']' 1921s + '[' -x /etc/init.d/zookeeper ']' 1921s autopkgtest [04:34:07]: test acceptance-etcd: -----------------------] 1921s /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/api.py 770 280 64% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/ha.py 1244 319 74% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 214 74% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 165 60% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/utils.py 350 121 65% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/six.py 504 250 50% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 121 65% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 71 65% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1921s Nov 14 04:34:07 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1921s Nov 14 04:34:07 patroni/__init__.py 13 2 85% 1921s Nov 14 04:34:07 patroni/__main__.py 199 199 0% 1921s Nov 14 04:34:07 patroni/api.py 770 770 0% 1921s Nov 14 04:34:07 patroni/async_executor.py 96 69 28% 1921s Nov 14 04:34:07 patroni/collections.py 56 15 73% 1921s Nov 14 04:34:07 patroni/config.py 371 196 47% 1921s Nov 14 04:34:07 patroni/config_generator.py 212 212 0% 1921s Nov 14 04:34:07 patroni/ctl.py 936 411 56% 1921s Nov 14 04:34:07 patroni/daemon.py 76 76 0% 1921s Nov 14 04:34:07 patroni/dcs/__init__.py 646 270 58% 1921s Nov 14 04:34:07 patroni/dcs/consul.py 485 485 0% 1921s Nov 14 04:34:07 patroni/dcs/etcd3.py 679 679 0% 1921s Nov 14 04:34:07 patroni/dcs/etcd.py 603 227 62% 1921s Nov 14 04:34:07 patroni/dcs/exhibitor.py 61 61 0% 1921s Nov 14 04:34:07 patroni/dcs/kubernetes.py 938 938 0% 1921s Nov 14 04:34:07 patroni/dcs/raft.py 319 319 0% 1921s Nov 14 04:34:07 patroni/dcs/zookeeper.py 288 288 0% 1921s Nov 14 04:34:07 patroni/dynamic_loader.py 35 7 80% 1921s Nov 14 04:34:07 patroni/exceptions.py 16 1 94% 1921s Nov 14 04:34:07 patroni/file_perm.py 43 15 65% 1921s Nov 14 04:34:07 patroni/global_config.py 81 18 78% 1921s Nov 14 04:34:07 patroni/ha.py 1244 1244 0% 1921s Nov 14 04:34:07 patroni/log.py 219 173 21% 1921s Nov 14 04:34:07 patroni/postgresql/__init__.py 821 651 21% 1921s Nov 14 04:34:07 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1921s Nov 14 04:34:07 patroni/postgresql/bootstrap.py 252 222 12% 1921s Nov 14 04:34:07 patroni/postgresql/callback_executor.py 55 34 38% 1921s Nov 14 04:34:07 patroni/postgresql/cancellable.py 104 84 19% 1921s Nov 14 04:34:07 patroni/postgresql/config.py 813 698 14% 1921s Nov 14 04:34:07 patroni/postgresql/connection.py 75 50 33% 1921s Nov 14 04:34:07 patroni/postgresql/misc.py 41 29 29% 1921s Nov 14 04:34:07 patroni/postgresql/mpp/__init__.py 89 21 76% 1921s Nov 14 04:34:07 patroni/postgresql/mpp/citus.py 259 259 0% 1921s Nov 14 04:34:07 patroni/postgresql/postmaster.py 170 139 18% 1921s Nov 14 04:34:07 patroni/postgresql/rewind.py 416 416 0% 1921s Nov 14 04:34:07 patroni/postgresql/slots.py 334 285 15% 1921s Nov 14 04:34:07 patroni/postgresql/sync.py 130 96 26% 1921s Nov 14 04:34:07 patroni/postgresql/validator.py 157 52 67% 1921s Nov 14 04:34:07 patroni/psycopg.py 42 28 33% 1921s Nov 14 04:34:07 patroni/raft_controller.py 22 22 0% 1921s Nov 14 04:34:07 patroni/request.py 62 6 90% 1921s Nov 14 04:34:07 patroni/scripts/__init__.py 0 0 100% 1921s Nov 14 04:34:07 patroni/scripts/aws.py 59 59 0% 1921s Nov 14 04:34:07 patroni/scripts/barman/__init__.py 0 0 100% 1921s Nov 14 04:34:07 patroni/scripts/barman/cli.py 51 51 0% 1921s Nov 14 04:34:07 patroni/scripts/barman/config_switch.py 51 51 0% 1921s Nov 14 04:34:07 patroni/scripts/barman/recover.py 37 37 0% 1921s Nov 14 04:34:07 patroni/scripts/barman/utils.py 94 94 0% 1921s Nov 14 04:34:07 patroni/scripts/wale_restore.py 207 207 0% 1921s Nov 14 04:34:07 patroni/tags.py 38 11 71% 1921s Nov 14 04:34:07 patroni/utils.py 350 197 44% 1921s Nov 14 04:34:07 patroni/validator.py 301 215 29% 1921s Nov 14 04:34:07 patroni/version.py 1 0 100% 1921s Nov 14 04:34:07 patroni/watchdog/__init__.py 2 2 0% 1921s Nov 14 04:34:07 patroni/watchdog/base.py 203 203 0% 1921s Nov 14 04:34:07 patroni/watchdog/linux.py 135 135 0% 1921s Nov 14 04:34:07 ------------------------------------------------------------------------------------------------------------- 1921s Nov 14 04:34:07 TOTAL 53060 32147 39% 1921s Nov 14 04:34:07 12 features passed, 0 failed, 1 skipped 1921s Nov 14 04:34:07 55 scenarios passed, 0 failed, 5 skipped 1921s Nov 14 04:34:07 524 steps passed, 0 failed, 61 skipped, 0 undefined 1921s Nov 14 04:34:07 Took 9m40.048s 1921s ### End 16 acceptance-etcd ### 1925s acceptance-etcd PASS 1925s autopkgtest [04:34:11]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1929s autopkgtest [04:34:15]: test acceptance-zookeeper: preparing testbed 1983s autopkgtest [04:35:09]: testbed dpkg architecture: armhf 1985s autopkgtest [04:35:11]: testbed apt version: 2.9.8 1985s autopkgtest [04:35:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1993s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1994s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 1994s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 1994s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 1994s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [991 kB] 1994s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [104 kB] 1994s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [688 kB] 1995s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [5040 B] 1995s Fetched 1986 kB in 2s (1100 kB/s) 1995s Reading package lists... 2011s tee: /proc/self/fd/2: Permission denied 2029s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2029s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2029s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2029s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2030s Reading package lists... 2030s Reading package lists... 2031s Building dependency tree... 2031s Reading state information... 2031s Calculating upgrade... 2032s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2032s Reading package lists... 2032s Building dependency tree... 2032s Reading state information... 2033s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2035s autopkgtest [04:36:01]: rebooting testbed after setup commands that affected boot 2139s Reading package lists... 2140s Building dependency tree... 2140s Reading state information... 2140s Starting pkgProblemResolver with broken count: 0 2140s Starting 2 pkgProblemResolver with broken count: 0 2140s Done 2141s The following additional packages will be installed: 2141s adwaita-icon-theme at-spi2-common ca-certificates-java 2141s dconf-gsettings-backend dconf-service default-jre default-jre-headless 2141s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 2141s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 2141s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 2141s libapr1t64 libasm-java libasound2-data libasound2t64 2141s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 2141s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 2141s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 2141s libcommons-io-java libcommons-logging-java libcommons-parent-java 2141s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 2141s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 2141s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 2141s libev4t64 libfindbugs-annotations-java libfontconfig1 libfreetype6 libgbm1 2141s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 2141s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 2141s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 2141s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 2141s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 2141s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 2141s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 2141s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 2141s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 2141s libjsr305-java liblcms2-2 liblerc4 libllvm19 liblog4j1.2-java libmail-java 2141s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 2141s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 2141s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 2141s libsnappy1v5 libspring-beans-java libspring-core-java 2141s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 2141s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 2141s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 2141s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 2141s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 2141s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 2141s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 2141s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 2141s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 2141s patroni-doc postgresql postgresql-16 postgresql-client-16 2141s postgresql-client-common postgresql-common python3-behave python3-cdiff 2141s python3-click python3-colorama python3-coverage python3-dateutil 2141s python3-dnspython python3-eventlet python3-gevent python3-greenlet 2141s python3-kazoo python3-kerberos python3-parse python3-parse-type 2141s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 2141s python3-six python3-wcwidth python3-ydiff python3-zope.event 2141s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 2141s x11-common zookeeper zookeeperd 2141s Suggested packages: 2141s adwaita-icon-theme-legacy alsa-utils libasound2-plugins 2141s libatinject-jsr330-api-java-doc colord libavalon-framework-java 2141s libexcalibur-logkit-java cups-common gvfs libjackson2-annotations-java-doc 2141s jetty9 libjnr-ffi-java-doc libjnr-posix-java-doc libjsr305-java-doc 2141s liblcms2-utils liblog4j1.2-java-doc libbcpkix-java libcompress-lzf-java 2141s libjzlib-java liblog4j2-java libprotobuf-java pcscd libcglib-java 2141s libyaml-snake-java libaspectj-java libcommons-collections3-java tomcat9 2141s libzookeeper-java-doc libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic 2141s fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic 2141s vip-manager haproxy postgresql-doc postgresql-doc-16 python-coverage-doc 2141s python3-trio python3-aioquic python3-h2 python3-httpx python3-httpcore 2141s python-eventlet-doc python-gevent-doc python-greenlet-dev 2141s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 2141s Recommended packages: 2141s librsvg2-common alsa-ucm-conf alsa-topology-conf at-spi2-core 2141s libgdk-pixbuf2.0-bin libgl1-amber-dri libgtk-3-bin javascript-common 2141s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 2141s fonts-dejavu-extra 2141s The following NEW packages will be installed: 2141s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 2141s dconf-gsettings-backend dconf-service default-jre default-jre-headless 2141s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 2141s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 2141s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 2141s libapr1t64 libasm-java libasound2-data libasound2t64 2141s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 2141s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 2141s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 2141s libcommons-io-java libcommons-logging-java libcommons-parent-java 2141s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 2141s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 2141s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 2141s libev4t64 libfindbugs-annotations-java libfontconfig1 libfreetype6 libgbm1 2141s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 2141s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 2141s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 2141s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 2141s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 2141s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 2141s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 2141s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 2141s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 2141s libjsr305-java liblcms2-2 liblerc4 libllvm19 liblog4j1.2-java libmail-java 2141s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 2141s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 2141s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 2141s libsnappy1v5 libspring-beans-java libspring-core-java 2141s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 2141s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 2141s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 2141s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 2141s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 2141s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 2141s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 2141s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 2141s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 2141s patroni-doc postgresql postgresql-16 postgresql-client-16 2141s postgresql-client-common postgresql-common python3-behave python3-cdiff 2141s python3-click python3-colorama python3-coverage python3-dateutil 2141s python3-dnspython python3-eventlet python3-gevent python3-greenlet 2141s python3-kazoo python3-kerberos python3-parse python3-parse-type 2141s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 2141s python3-six python3-wcwidth python3-ydiff python3-zope.event 2141s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 2141s x11-common zookeeper zookeeperd 2141s 0 upgraded, 198 newly installed, 0 to remove and 0 not upgraded. 2141s Need to get 149 MB/149 MB of archives. 2141s After this operation, 509 MB of additional disk space will be used. 2141s Get:1 /tmp/autopkgtest.hz6KX2/4-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [760 B] 2141s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 2142s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 2142s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 262 [36.7 kB] 2142s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.2ubuntu2 [18.0 kB] 2142s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 262 [162 kB] 2142s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf ca-certificates-java all 20240118 [11.6 kB] 2142s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf java-common all 0.76 [6852 B] 2142s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf liblcms2-2 armhf 2.16-2 [137 kB] 2142s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8 armhf 2.1.5-2ubuntu2 [125 kB] 2142s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 2142s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libpcsclite1 armhf 2.3.0-1 [24.8 kB] 2142s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre-headless armhf 21.0.5+11-1 [39.7 MB] 2145s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre-headless armhf 2:1.21-76 [3182 B] 2145s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 2145s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libdeflate0 armhf 1.22-1 [38.9 kB] 2145s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libjbig0 armhf 2.1-6.1ubuntu2 [24.9 kB] 2145s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf liblerc4 armhf 4.0.0+ds-4ubuntu2 [151 kB] 2145s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf libsharpyuv0 armhf 1.4.0-0.1 [16.3 kB] 2145s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf libwebp7 armhf 1.4.0-0.1 [184 kB] 2145s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libtiff6 armhf 4.5.1+git230720-4ubuntu4 [179 kB] 2145s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libgdk-pixbuf-2.0-0 armhf 2.42.12+dfsg-1 [135 kB] 2145s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf gtk-update-icon-cache armhf 4.16.5+ds-1 [50.6 kB] 2145s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf hicolor-icon-theme all 0.18-1 [13.5 kB] 2145s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf humanity-icon-theme all 0.6.16 [1282 kB] 2145s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf ubuntu-mono all 24.04-0ubuntu1 [151 kB] 2145s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf adwaita-icon-theme all 47.0-2 [525 kB] 2145s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf at-spi2-common all 2.54.0-1 [8774 B] 2145s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf libatk1.0-0t64 armhf 2.54.0-1 [48.0 kB] 2145s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf libxi6 armhf 2:1.8.2-1 [26.5 kB] 2145s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf libatspi2.0-0t64 armhf 2.54.0-1 [70.8 kB] 2145s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf libatk-bridge2.0-0t64 armhf 2.54.0-1 [59.6 kB] 2145s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB] 2145s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-mono all 2.37-8 [502 kB] 2145s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-core all 2.37-8 [835 kB] 2145s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig-config armhf 2.15.0-1.1ubuntu2 [37.4 kB] 2145s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf libfontconfig1 armhf 2.15.0-1.1ubuntu2 [113 kB] 2145s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB] 2145s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB] 2145s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B] 2145s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB] 2145s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo2 armhf 1.18.2-2 [484 kB] 2146s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo-gobject2 armhf 1.18.2-2 [126 kB] 2146s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf libcolord2 armhf 1.4.7-1build2 [133 kB] 2146s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common-data armhf 0.8-13ubuntu6 [29.7 kB] 2146s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common3 armhf 0.8-13ubuntu6 [20.2 kB] 2146s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-client3 armhf 0.8-13ubuntu6 [24.2 kB] 2146s Get:48 http://ftpmaster.internal/ubuntu plucky/main armhf libcups2t64 armhf 2.4.10-1ubuntu2 [239 kB] 2146s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libepoxy0 armhf 1.5.10-2 [192 kB] 2146s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf libgraphite2-3 armhf 1.3.14-2ubuntu1 [64.8 kB] 2146s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf libharfbuzz0b armhf 10.0.1-1 [463 kB] 2146s Get:52 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig armhf 2.15.0-1.1ubuntu2 [189 kB] 2146s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf libthai-data all 0.1.29-2build1 [158 kB] 2146s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf libdatrie1 armhf 0.2.13-3build1 [15.7 kB] 2146s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libthai0 armhf 0.1.29-2build1 [15.2 kB] 2146s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf libpango-1.0-0 armhf 1.54.0+ds-3 [212 kB] 2146s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf libpangoft2-1.0-0 armhf 1.54.0+ds-3 [42.9 kB] 2146s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf libpangocairo-1.0-0 armhf 1.54.0+ds-3 [24.8 kB] 2146s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-client0 armhf 1.23.0-1 [22.7 kB] 2146s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-cursor0 armhf 1.23.0-1 [9672 B] 2146s Get:61 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-egl1 armhf 1.23.0-1 [5352 B] 2146s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf libxcomposite1 armhf 1:0.4.6-1 [6060 B] 2146s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf libxfixes3 armhf 1:6.0.0-2build1 [9038 B] 2146s Get:64 http://ftpmaster.internal/ubuntu plucky/main armhf libxcursor1 armhf 1:1.2.2-1 [17.6 kB] 2146s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf libxdamage1 armhf 1:1.1.6-1build1 [5462 B] 2146s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf libxinerama1 armhf 2:1.1.4-3build1 [5866 B] 2146s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf libxrandr2 armhf 2:1.5.4-1 [15.8 kB] 2146s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf libdconf1 armhf 0.40.0-4build2 [38.4 kB] 2146s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-service armhf 0.40.0-4build2 [27.4 kB] 2146s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf dconf-gsettings-backend armhf 0.40.0-4build2 [23.6 kB] 2146s Get:71 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-common all 3.24.43-3ubuntu2 [1202 kB] 2146s Get:72 http://ftpmaster.internal/ubuntu plucky/main armhf libgtk-3-0t64 armhf 3.24.43-3ubuntu2 [2608 kB] 2146s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf libglvnd0 armhf 1.7.0-1build1 [83.7 kB] 2146s Get:74 http://ftpmaster.internal/ubuntu plucky/main armhf libglapi-mesa armhf 24.2.3-1ubuntu1 [49.4 kB] 2146s Get:75 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-xcb1 armhf 2:1.8.10-2 [7902 B] 2146s Get:76 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-dri2-0 armhf 1.17.0-2 [6868 B] 2146s Get:77 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-dri3-0 armhf 1.17.0-2 [7120 B] 2146s Get:78 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-glx0 armhf 1.17.0-2 [22.6 kB] 2146s Get:79 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-present0 armhf 1.17.0-2 [5940 B] 2146s Get:80 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-randr0 armhf 1.17.0-2 [17.0 kB] 2146s Get:81 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-sync1 armhf 1.17.0-2 [8732 B] 2146s Get:82 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-xfixes0 armhf 1.17.0-2 [10.0 kB] 2146s Get:83 http://ftpmaster.internal/ubuntu plucky/main armhf libxshmfence1 armhf 1.3-1build5 [4464 B] 2146s Get:84 http://ftpmaster.internal/ubuntu plucky/main armhf libxxf86vm1 armhf 1:1.1.4-1build4 [8068 B] 2146s Get:85 http://ftpmaster.internal/ubuntu plucky/main armhf libdrm-amdgpu1 armhf 2.4.123-1 [18.9 kB] 2146s Get:86 http://ftpmaster.internal/ubuntu plucky/main armhf libdrm-radeon1 armhf 2.4.123-1 [18.1 kB] 2146s Get:87 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.2-1ubuntu1 [27.8 MB] 2147s Get:88 http://ftpmaster.internal/ubuntu plucky/main armhf mesa-libgallium armhf 24.2.3-1ubuntu1 [7895 kB] 2147s Get:89 http://ftpmaster.internal/ubuntu plucky/main armhf libvulkan1 armhf 1.3.296.0-1 [114 kB] 2147s Get:90 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-server0 armhf 1.23.0-1 [29.4 kB] 2147s Get:91 http://ftpmaster.internal/ubuntu plucky/main armhf libgbm1 armhf 24.2.3-1ubuntu1 [28.2 kB] 2147s Get:92 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1-mesa-dri armhf 24.2.3-1ubuntu1 [30.8 kB] 2147s Get:93 http://ftpmaster.internal/ubuntu plucky/main armhf libglx-mesa0 armhf 24.2.3-1ubuntu1 [131 kB] 2147s Get:94 http://ftpmaster.internal/ubuntu plucky/main armhf libglx0 armhf 1.7.0-1build1 [39.3 kB] 2147s Get:95 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1 armhf 1.7.0-1build1 [105 kB] 2147s Get:96 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2-data all 1.2.12-1 [21.0 kB] 2147s Get:97 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2t64 armhf 1.2.12-1 [344 kB] 2147s Get:98 http://ftpmaster.internal/ubuntu plucky/main armhf libgif7 armhf 5.2.2-1ubuntu1 [32.6 kB] 2147s Get:99 http://ftpmaster.internal/ubuntu plucky/main armhf x11-common all 1:7.7+23ubuntu3 [21.7 kB] 2147s Get:100 http://ftpmaster.internal/ubuntu plucky/main armhf libxtst6 armhf 2:1.2.3-1.1build1 [10.7 kB] 2147s Get:101 http://ftpmaster.internal/ubuntu plucky/main armhf openjdk-21-jre armhf 21.0.5+11-1 [197 kB] 2147s Get:102 http://ftpmaster.internal/ubuntu plucky/main armhf default-jre armhf 2:1.21-76 [918 B] 2147s Get:103 http://ftpmaster.internal/ubuntu plucky/universe armhf libhamcrest-java all 2.2-2 [117 kB] 2147s Get:104 http://ftpmaster.internal/ubuntu plucky/universe armhf junit4 all 4.13.2-5 [348 kB] 2148s Get:105 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-cli-java all 1.6.0-1 [59.9 kB] 2148s Get:106 http://ftpmaster.internal/ubuntu plucky/universe armhf libapache-pom-java all 33-2 [5874 B] 2148s Get:107 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-parent-java all 56-1 [10.7 kB] 2148s Get:108 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-io-java all 2.17.0-1 [457 kB] 2148s Get:109 http://ftpmaster.internal/ubuntu plucky/universe armhf libdropwizard-metrics-java all 3.2.6-1 [240 kB] 2148s Get:110 http://ftpmaster.internal/ubuntu plucky/universe armhf libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 2148s Get:111 http://ftpmaster.internal/ubuntu plucky/universe armhf libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 2148s Get:112 http://ftpmaster.internal/ubuntu plucky/universe armhf liberror-prone-java all 2.18.0-1 [22.5 kB] 2148s Get:113 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsr305-java all 0.1~+svn49-11 [27.0 kB] 2148s Get:114 http://ftpmaster.internal/ubuntu plucky/universe armhf libguava-java all 32.0.1-1 [2692 kB] 2148s Get:115 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 2148s Get:116 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-core-java all 2.14.1-1 [432 kB] 2148s Get:117 http://ftpmaster.internal/ubuntu plucky/universe armhf libjackson2-databind-java all 2.14.0-1 [1531 kB] 2148s Get:118 http://ftpmaster.internal/ubuntu plucky/universe armhf libasm-java all 9.7.1-1 [388 kB] 2148s Get:119 http://ftpmaster.internal/ubuntu plucky/universe armhf libel-api-java all 3.0.0-3 [64.9 kB] 2148s Get:120 http://ftpmaster.internal/ubuntu plucky/universe armhf libjsp-api-java all 2.3.4-3 [53.7 kB] 2148s Get:121 http://ftpmaster.internal/ubuntu plucky/universe armhf libservlet-api-java all 4.0.1-2 [81.0 kB] 2148s Get:122 http://ftpmaster.internal/ubuntu plucky/universe armhf libwebsocket-api-java all 1.1-2 [40.1 kB] 2148s Get:123 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-java all 9.4.56-1 [2790 kB] 2148s Get:124 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-constants-java all 0.10.4-2 [1397 kB] 2148s Get:125 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-jni armhf 1.3.13+ds-1 [24.9 kB] 2148s Get:126 http://ftpmaster.internal/ubuntu plucky/universe armhf libjffi-java all 1.3.13+ds-1 [112 kB] 2148s Get:127 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 2148s Get:128 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-ffi-java all 2.2.15-2 [627 kB] 2148s Get:129 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-enxio-java all 0.32.16-1 [33.7 kB] 2148s Get:130 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-posix-java all 3.1.18-1 [267 kB] 2148s Get:131 http://ftpmaster.internal/ubuntu plucky/universe armhf libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 2148s Get:132 http://ftpmaster.internal/ubuntu plucky/universe armhf libactivation-java all 1.2.0-2 [84.7 kB] 2148s Get:133 http://ftpmaster.internal/ubuntu plucky/universe armhf libmail-java all 1.6.5-3 [681 kB] 2148s Get:134 http://ftpmaster.internal/ubuntu plucky/universe armhf libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 2148s Get:135 http://ftpmaster.internal/ubuntu plucky/universe armhf libjaxb-api-java all 2.3.1-1 [119 kB] 2148s Get:136 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-core-java all 4.3.30-2 [1015 kB] 2148s Get:137 http://ftpmaster.internal/ubuntu plucky/universe armhf libspring-beans-java all 4.3.30-2 [675 kB] 2148s Get:138 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 2148s Get:139 http://ftpmaster.internal/ubuntu plucky/universe armhf libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 2148s Get:140 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 2148s Get:141 http://ftpmaster.internal/ubuntu plucky/universe armhf libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 2149s Get:142 http://ftpmaster.internal/ubuntu plucky/universe armhf libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 2149s Get:143 http://ftpmaster.internal/ubuntu plucky/universe armhf libjetty9-extra-java all 9.4.56-1 [1199 kB] 2149s Get:144 http://ftpmaster.internal/ubuntu plucky/universe armhf libjctools-java all 2.0.2-1 [188 kB] 2149s Get:145 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-java all 1:4.1.48-10 [3628 kB] 2149s Get:146 http://ftpmaster.internal/ubuntu plucky/universe armhf libslf4j-java all 1.7.32-1 [141 kB] 2149s Get:147 http://ftpmaster.internal/ubuntu plucky/main armhf libsnappy1v5 armhf 1.2.1-1 [28.4 kB] 2149s Get:148 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-jni armhf 1.1.10.5-2 [6088 B] 2149s Get:149 http://ftpmaster.internal/ubuntu plucky/universe armhf libsnappy-java all 1.1.10.5-2 [83.7 kB] 2149s Get:150 http://ftpmaster.internal/ubuntu plucky/main armhf libapr1t64 armhf 1.7.2-3.2ubuntu1 [87.9 kB] 2149s Get:151 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-jni armhf 2.0.28-1build4 [28.9 kB] 2149s Get:152 http://ftpmaster.internal/ubuntu plucky/universe armhf libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 2149s Get:153 http://ftpmaster.internal/ubuntu plucky/universe armhf liblog4j1.2-java all 1.2.17-11 [439 kB] 2149s Get:154 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf libzookeeper-java all 3.9.3-1 [1890 kB] 2149s Get:155 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf zookeeper all 3.9.3-1 [57.8 kB] 2149s Get:156 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf zookeeperd all 3.9.3-1 [6022 B] 2149s Get:157 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2149s Get:158 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.2-1 [79.8 kB] 2149s Get:159 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 2149s Get:160 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 2149s Get:161 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 2149s Get:162 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2149s Get:163 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2149s Get:164 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 2149s Get:165 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 2149s Get:166 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 2149s Get:167 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 2149s Get:168 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu1 [150 kB] 2149s Get:169 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 2149s Get:170 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 2149s Get:171 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 2149s Get:172 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 2149s Get:173 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 2149s Get:174 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 2149s Get:175 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 2149s Get:176 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2149s Get:177 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 2149s Get:178 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 2149s Get:179 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 2149s Get:180 http://ftpmaster.internal/ubuntu plucky/main armhf python3-greenlet armhf 3.0.3-0ubuntu6 [153 kB] 2149s Get:181 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 2149s Get:182 http://ftpmaster.internal/ubuntu plucky/main armhf python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 2149s Get:183 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-zope.event all 5.0-0.1 [7512 B] 2149s Get:184 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zope.interface armhf 7.1.1-1 [138 kB] 2149s Get:185 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gevent armhf 24.2.1-1 [773 kB] 2149s Get:186 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build9 [19.8 kB] 2149s Get:187 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 2149s Get:188 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 2149s Get:189 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 2149s Get:190 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 2149s Get:191 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 2149s Get:192 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-16 armhf 16.4-3 [1236 kB] 2150s Get:193 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-16 armhf 16.4-3 [14.2 MB] 2150s Get:194 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 16+262 [11.8 kB] 2150s Get:195 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 2150s Get:196 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-1 [23.4 kB] 2150s Get:197 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 2150s Get:198 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 2151s Preconfiguring packages ... 2151s Fetched 149 MB in 9s (16.4 MB/s) 2151s Selecting previously unselected package fonts-lato. 2151s (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 ... 59560 files and directories currently installed.) 2151s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 2151s Unpacking fonts-lato (2.015-1) ... 2152s Selecting previously unselected package libjson-perl. 2152s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 2152s Unpacking libjson-perl (4.10000-1) ... 2152s Selecting previously unselected package postgresql-client-common. 2152s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 2152s Unpacking postgresql-client-common (262) ... 2152s Selecting previously unselected package ssl-cert. 2152s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu2_all.deb ... 2152s Unpacking ssl-cert (1.1.2ubuntu2) ... 2152s Selecting previously unselected package postgresql-common. 2152s Preparing to unpack .../004-postgresql-common_262_all.deb ... 2152s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2152s Unpacking postgresql-common (262) ... 2152s Selecting previously unselected package ca-certificates-java. 2152s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 2152s Unpacking ca-certificates-java (20240118) ... 2152s Selecting previously unselected package java-common. 2152s Preparing to unpack .../006-java-common_0.76_all.deb ... 2152s Unpacking java-common (0.76) ... 2152s Selecting previously unselected package liblcms2-2:armhf. 2152s Preparing to unpack .../007-liblcms2-2_2.16-2_armhf.deb ... 2152s Unpacking liblcms2-2:armhf (2.16-2) ... 2152s Selecting previously unselected package libjpeg-turbo8:armhf. 2152s Preparing to unpack .../008-libjpeg-turbo8_2.1.5-2ubuntu2_armhf.deb ... 2152s Unpacking libjpeg-turbo8:armhf (2.1.5-2ubuntu2) ... 2152s Selecting previously unselected package libjpeg8:armhf. 2152s Preparing to unpack .../009-libjpeg8_8c-2ubuntu11_armhf.deb ... 2152s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 2152s Selecting previously unselected package libpcsclite1:armhf. 2152s Preparing to unpack .../010-libpcsclite1_2.3.0-1_armhf.deb ... 2152s Unpacking libpcsclite1:armhf (2.3.0-1) ... 2152s Selecting previously unselected package openjdk-21-jre-headless:armhf. 2152s Preparing to unpack .../011-openjdk-21-jre-headless_21.0.5+11-1_armhf.deb ... 2152s Unpacking openjdk-21-jre-headless:armhf (21.0.5+11-1) ... 2153s Selecting previously unselected package default-jre-headless. 2153s Preparing to unpack .../012-default-jre-headless_2%3a1.21-76_armhf.deb ... 2153s Unpacking default-jre-headless (2:1.21-76) ... 2153s Selecting previously unselected package libgdk-pixbuf2.0-common. 2153s Preparing to unpack .../013-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 2153s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 2153s Selecting previously unselected package libdeflate0:armhf. 2153s Preparing to unpack .../014-libdeflate0_1.22-1_armhf.deb ... 2153s Unpacking libdeflate0:armhf (1.22-1) ... 2153s Selecting previously unselected package libjbig0:armhf. 2153s Preparing to unpack .../015-libjbig0_2.1-6.1ubuntu2_armhf.deb ... 2153s Unpacking libjbig0:armhf (2.1-6.1ubuntu2) ... 2153s Selecting previously unselected package liblerc4:armhf. 2153s Preparing to unpack .../016-liblerc4_4.0.0+ds-4ubuntu2_armhf.deb ... 2153s Unpacking liblerc4:armhf (4.0.0+ds-4ubuntu2) ... 2153s Selecting previously unselected package libsharpyuv0:armhf. 2153s Preparing to unpack .../017-libsharpyuv0_1.4.0-0.1_armhf.deb ... 2153s Unpacking libsharpyuv0:armhf (1.4.0-0.1) ... 2153s Selecting previously unselected package libwebp7:armhf. 2153s Preparing to unpack .../018-libwebp7_1.4.0-0.1_armhf.deb ... 2153s Unpacking libwebp7:armhf (1.4.0-0.1) ... 2153s Selecting previously unselected package libtiff6:armhf. 2153s Preparing to unpack .../019-libtiff6_4.5.1+git230720-4ubuntu4_armhf.deb ... 2153s Unpacking libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 2153s Selecting previously unselected package libgdk-pixbuf-2.0-0:armhf. 2153s Preparing to unpack .../020-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_armhf.deb ... 2153s Unpacking libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-1) ... 2153s Selecting previously unselected package gtk-update-icon-cache. 2153s Preparing to unpack .../021-gtk-update-icon-cache_4.16.5+ds-1_armhf.deb ... 2153s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 2153s 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. 2153s Unpacking gtk-update-icon-cache (4.16.5+ds-1) ... 2154s Selecting previously unselected package hicolor-icon-theme. 2154s Preparing to unpack .../022-hicolor-icon-theme_0.18-1_all.deb ... 2154s Unpacking hicolor-icon-theme (0.18-1) ... 2154s Selecting previously unselected package humanity-icon-theme. 2154s Preparing to unpack .../023-humanity-icon-theme_0.6.16_all.deb ... 2154s Unpacking humanity-icon-theme (0.6.16) ... 2154s Selecting previously unselected package ubuntu-mono. 2154s Preparing to unpack .../024-ubuntu-mono_24.04-0ubuntu1_all.deb ... 2154s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 2155s Selecting previously unselected package adwaita-icon-theme. 2155s Preparing to unpack .../025-adwaita-icon-theme_47.0-2_all.deb ... 2155s Unpacking adwaita-icon-theme (47.0-2) ... 2155s Selecting previously unselected package at-spi2-common. 2155s Preparing to unpack .../026-at-spi2-common_2.54.0-1_all.deb ... 2155s Unpacking at-spi2-common (2.54.0-1) ... 2155s Selecting previously unselected package libatk1.0-0t64:armhf. 2155s Preparing to unpack .../027-libatk1.0-0t64_2.54.0-1_armhf.deb ... 2155s Unpacking libatk1.0-0t64:armhf (2.54.0-1) ... 2155s Selecting previously unselected package libxi6:armhf. 2155s Preparing to unpack .../028-libxi6_2%3a1.8.2-1_armhf.deb ... 2155s Unpacking libxi6:armhf (2:1.8.2-1) ... 2155s Selecting previously unselected package libatspi2.0-0t64:armhf. 2155s Preparing to unpack .../029-libatspi2.0-0t64_2.54.0-1_armhf.deb ... 2155s Unpacking libatspi2.0-0t64:armhf (2.54.0-1) ... 2155s Selecting previously unselected package libatk-bridge2.0-0t64:armhf. 2155s Preparing to unpack .../030-libatk-bridge2.0-0t64_2.54.0-1_armhf.deb ... 2155s Unpacking libatk-bridge2.0-0t64:armhf (2.54.0-1) ... 2155s Selecting previously unselected package libfreetype6:armhf. 2155s Preparing to unpack .../031-libfreetype6_2.13.3+dfsg-1_armhf.deb ... 2155s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ... 2155s Selecting previously unselected package fonts-dejavu-mono. 2155s Preparing to unpack .../032-fonts-dejavu-mono_2.37-8_all.deb ... 2155s Unpacking fonts-dejavu-mono (2.37-8) ... 2155s Selecting previously unselected package fonts-dejavu-core. 2155s Preparing to unpack .../033-fonts-dejavu-core_2.37-8_all.deb ... 2155s Unpacking fonts-dejavu-core (2.37-8) ... 2156s Selecting previously unselected package fontconfig-config. 2156s Preparing to unpack .../034-fontconfig-config_2.15.0-1.1ubuntu2_armhf.deb ... 2156s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 2156s Selecting previously unselected package libfontconfig1:armhf. 2156s Preparing to unpack .../035-libfontconfig1_2.15.0-1.1ubuntu2_armhf.deb ... 2156s Unpacking libfontconfig1:armhf (2.15.0-1.1ubuntu2) ... 2156s Selecting previously unselected package libpixman-1-0:armhf. 2156s Preparing to unpack .../036-libpixman-1-0_0.44.0-3_armhf.deb ... 2156s Unpacking libpixman-1-0:armhf (0.44.0-3) ... 2156s Selecting previously unselected package libxcb-render0:armhf. 2156s Preparing to unpack .../037-libxcb-render0_1.17.0-2_armhf.deb ... 2156s Unpacking libxcb-render0:armhf (1.17.0-2) ... 2156s Selecting previously unselected package libxcb-shm0:armhf. 2156s Preparing to unpack .../038-libxcb-shm0_1.17.0-2_armhf.deb ... 2156s Unpacking libxcb-shm0:armhf (1.17.0-2) ... 2156s Selecting previously unselected package libxrender1:armhf. 2156s Preparing to unpack .../039-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ... 2156s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ... 2156s Selecting previously unselected package libcairo2:armhf. 2156s Preparing to unpack .../040-libcairo2_1.18.2-2_armhf.deb ... 2156s Unpacking libcairo2:armhf (1.18.2-2) ... 2156s Selecting previously unselected package libcairo-gobject2:armhf. 2156s Preparing to unpack .../041-libcairo-gobject2_1.18.2-2_armhf.deb ... 2156s Unpacking libcairo-gobject2:armhf (1.18.2-2) ... 2156s Selecting previously unselected package libcolord2:armhf. 2156s Preparing to unpack .../042-libcolord2_1.4.7-1build2_armhf.deb ... 2156s Unpacking libcolord2:armhf (1.4.7-1build2) ... 2156s Selecting previously unselected package libavahi-common-data:armhf. 2156s Preparing to unpack .../043-libavahi-common-data_0.8-13ubuntu6_armhf.deb ... 2156s Unpacking libavahi-common-data:armhf (0.8-13ubuntu6) ... 2156s Selecting previously unselected package libavahi-common3:armhf. 2156s Preparing to unpack .../044-libavahi-common3_0.8-13ubuntu6_armhf.deb ... 2156s Unpacking libavahi-common3:armhf (0.8-13ubuntu6) ... 2156s Selecting previously unselected package libavahi-client3:armhf. 2156s Preparing to unpack .../045-libavahi-client3_0.8-13ubuntu6_armhf.deb ... 2156s Unpacking libavahi-client3:armhf (0.8-13ubuntu6) ... 2156s Selecting previously unselected package libcups2t64:armhf. 2156s Preparing to unpack .../046-libcups2t64_2.4.10-1ubuntu2_armhf.deb ... 2156s Unpacking libcups2t64:armhf (2.4.10-1ubuntu2) ... 2156s Selecting previously unselected package libepoxy0:armhf. 2156s Preparing to unpack .../047-libepoxy0_1.5.10-2_armhf.deb ... 2156s Unpacking libepoxy0:armhf (1.5.10-2) ... 2157s Selecting previously unselected package libgraphite2-3:armhf. 2157s Preparing to unpack .../048-libgraphite2-3_1.3.14-2ubuntu1_armhf.deb ... 2157s Unpacking libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 2157s Selecting previously unselected package libharfbuzz0b:armhf. 2157s Preparing to unpack .../049-libharfbuzz0b_10.0.1-1_armhf.deb ... 2157s Unpacking libharfbuzz0b:armhf (10.0.1-1) ... 2157s Selecting previously unselected package fontconfig. 2157s Preparing to unpack .../050-fontconfig_2.15.0-1.1ubuntu2_armhf.deb ... 2157s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 2157s Selecting previously unselected package libthai-data. 2157s Preparing to unpack .../051-libthai-data_0.1.29-2build1_all.deb ... 2157s Unpacking libthai-data (0.1.29-2build1) ... 2157s Selecting previously unselected package libdatrie1:armhf. 2157s Preparing to unpack .../052-libdatrie1_0.2.13-3build1_armhf.deb ... 2157s Unpacking libdatrie1:armhf (0.2.13-3build1) ... 2157s Selecting previously unselected package libthai0:armhf. 2157s Preparing to unpack .../053-libthai0_0.1.29-2build1_armhf.deb ... 2157s Unpacking libthai0:armhf (0.1.29-2build1) ... 2157s Selecting previously unselected package libpango-1.0-0:armhf. 2157s Preparing to unpack .../054-libpango-1.0-0_1.54.0+ds-3_armhf.deb ... 2157s Unpacking libpango-1.0-0:armhf (1.54.0+ds-3) ... 2157s Selecting previously unselected package libpangoft2-1.0-0:armhf. 2157s Preparing to unpack .../055-libpangoft2-1.0-0_1.54.0+ds-3_armhf.deb ... 2157s Unpacking libpangoft2-1.0-0:armhf (1.54.0+ds-3) ... 2157s Selecting previously unselected package libpangocairo-1.0-0:armhf. 2157s Preparing to unpack .../056-libpangocairo-1.0-0_1.54.0+ds-3_armhf.deb ... 2157s Unpacking libpangocairo-1.0-0:armhf (1.54.0+ds-3) ... 2157s Selecting previously unselected package libwayland-client0:armhf. 2157s Preparing to unpack .../057-libwayland-client0_1.23.0-1_armhf.deb ... 2157s Unpacking libwayland-client0:armhf (1.23.0-1) ... 2157s Selecting previously unselected package libwayland-cursor0:armhf. 2157s Preparing to unpack .../058-libwayland-cursor0_1.23.0-1_armhf.deb ... 2157s Unpacking libwayland-cursor0:armhf (1.23.0-1) ... 2157s Selecting previously unselected package libwayland-egl1:armhf. 2157s Preparing to unpack .../059-libwayland-egl1_1.23.0-1_armhf.deb ... 2157s Unpacking libwayland-egl1:armhf (1.23.0-1) ... 2157s Selecting previously unselected package libxcomposite1:armhf. 2157s Preparing to unpack .../060-libxcomposite1_1%3a0.4.6-1_armhf.deb ... 2157s Unpacking libxcomposite1:armhf (1:0.4.6-1) ... 2157s Selecting previously unselected package libxfixes3:armhf. 2157s Preparing to unpack .../061-libxfixes3_1%3a6.0.0-2build1_armhf.deb ... 2157s Unpacking libxfixes3:armhf (1:6.0.0-2build1) ... 2157s Selecting previously unselected package libxcursor1:armhf. 2157s Preparing to unpack .../062-libxcursor1_1%3a1.2.2-1_armhf.deb ... 2157s Unpacking libxcursor1:armhf (1:1.2.2-1) ... 2157s Selecting previously unselected package libxdamage1:armhf. 2157s Preparing to unpack .../063-libxdamage1_1%3a1.1.6-1build1_armhf.deb ... 2157s Unpacking libxdamage1:armhf (1:1.1.6-1build1) ... 2157s Selecting previously unselected package libxinerama1:armhf. 2157s Preparing to unpack .../064-libxinerama1_2%3a1.1.4-3build1_armhf.deb ... 2157s Unpacking libxinerama1:armhf (2:1.1.4-3build1) ... 2157s Selecting previously unselected package libxrandr2:armhf. 2157s Preparing to unpack .../065-libxrandr2_2%3a1.5.4-1_armhf.deb ... 2157s Unpacking libxrandr2:armhf (2:1.5.4-1) ... 2157s Selecting previously unselected package libdconf1:armhf. 2157s Preparing to unpack .../066-libdconf1_0.40.0-4build2_armhf.deb ... 2157s Unpacking libdconf1:armhf (0.40.0-4build2) ... 2157s Selecting previously unselected package dconf-service. 2158s Preparing to unpack .../067-dconf-service_0.40.0-4build2_armhf.deb ... 2158s Unpacking dconf-service (0.40.0-4build2) ... 2158s Selecting previously unselected package dconf-gsettings-backend:armhf. 2158s Preparing to unpack .../068-dconf-gsettings-backend_0.40.0-4build2_armhf.deb ... 2158s Unpacking dconf-gsettings-backend:armhf (0.40.0-4build2) ... 2158s Selecting previously unselected package libgtk-3-common. 2158s Preparing to unpack .../069-libgtk-3-common_3.24.43-3ubuntu2_all.deb ... 2158s Unpacking libgtk-3-common (3.24.43-3ubuntu2) ... 2158s Selecting previously unselected package libgtk-3-0t64:armhf. 2158s Preparing to unpack .../070-libgtk-3-0t64_3.24.43-3ubuntu2_armhf.deb ... 2158s Unpacking libgtk-3-0t64:armhf (3.24.43-3ubuntu2) ... 2158s Selecting previously unselected package libglvnd0:armhf. 2158s Preparing to unpack .../071-libglvnd0_1.7.0-1build1_armhf.deb ... 2158s Unpacking libglvnd0:armhf (1.7.0-1build1) ... 2158s Selecting previously unselected package libglapi-mesa:armhf. 2158s Preparing to unpack .../072-libglapi-mesa_24.2.3-1ubuntu1_armhf.deb ... 2158s Unpacking libglapi-mesa:armhf (24.2.3-1ubuntu1) ... 2158s Selecting previously unselected package libx11-xcb1:armhf. 2158s Preparing to unpack .../073-libx11-xcb1_2%3a1.8.10-2_armhf.deb ... 2158s Unpacking libx11-xcb1:armhf (2:1.8.10-2) ... 2158s Selecting previously unselected package libxcb-dri2-0:armhf. 2158s Preparing to unpack .../074-libxcb-dri2-0_1.17.0-2_armhf.deb ... 2158s Unpacking libxcb-dri2-0:armhf (1.17.0-2) ... 2158s Selecting previously unselected package libxcb-dri3-0:armhf. 2158s Preparing to unpack .../075-libxcb-dri3-0_1.17.0-2_armhf.deb ... 2158s Unpacking libxcb-dri3-0:armhf (1.17.0-2) ... 2158s Selecting previously unselected package libxcb-glx0:armhf. 2158s Preparing to unpack .../076-libxcb-glx0_1.17.0-2_armhf.deb ... 2158s Unpacking libxcb-glx0:armhf (1.17.0-2) ... 2158s Selecting previously unselected package libxcb-present0:armhf. 2158s Preparing to unpack .../077-libxcb-present0_1.17.0-2_armhf.deb ... 2158s Unpacking libxcb-present0:armhf (1.17.0-2) ... 2158s Selecting previously unselected package libxcb-randr0:armhf. 2158s Preparing to unpack .../078-libxcb-randr0_1.17.0-2_armhf.deb ... 2158s Unpacking libxcb-randr0:armhf (1.17.0-2) ... 2158s Selecting previously unselected package libxcb-sync1:armhf. 2158s Preparing to unpack .../079-libxcb-sync1_1.17.0-2_armhf.deb ... 2158s Unpacking libxcb-sync1:armhf (1.17.0-2) ... 2158s Selecting previously unselected package libxcb-xfixes0:armhf. 2158s Preparing to unpack .../080-libxcb-xfixes0_1.17.0-2_armhf.deb ... 2158s Unpacking libxcb-xfixes0:armhf (1.17.0-2) ... 2158s Selecting previously unselected package libxshmfence1:armhf. 2158s Preparing to unpack .../081-libxshmfence1_1.3-1build5_armhf.deb ... 2158s Unpacking libxshmfence1:armhf (1.3-1build5) ... 2158s Selecting previously unselected package libxxf86vm1:armhf. 2158s Preparing to unpack .../082-libxxf86vm1_1%3a1.1.4-1build4_armhf.deb ... 2158s Unpacking libxxf86vm1:armhf (1:1.1.4-1build4) ... 2158s Selecting previously unselected package libdrm-amdgpu1:armhf. 2158s Preparing to unpack .../083-libdrm-amdgpu1_2.4.123-1_armhf.deb ... 2158s Unpacking libdrm-amdgpu1:armhf (2.4.123-1) ... 2158s Selecting previously unselected package libdrm-radeon1:armhf. 2158s Preparing to unpack .../084-libdrm-radeon1_2.4.123-1_armhf.deb ... 2158s Unpacking libdrm-radeon1:armhf (2.4.123-1) ... 2158s Selecting previously unselected package libllvm19:armhf. 2158s Preparing to unpack .../085-libllvm19_1%3a19.1.2-1ubuntu1_armhf.deb ... 2158s Unpacking libllvm19:armhf (1:19.1.2-1ubuntu1) ... 2159s Selecting previously unselected package mesa-libgallium:armhf. 2159s Preparing to unpack .../086-mesa-libgallium_24.2.3-1ubuntu1_armhf.deb ... 2159s Unpacking mesa-libgallium:armhf (24.2.3-1ubuntu1) ... 2160s Selecting previously unselected package libvulkan1:armhf. 2160s Preparing to unpack .../087-libvulkan1_1.3.296.0-1_armhf.deb ... 2160s Unpacking libvulkan1:armhf (1.3.296.0-1) ... 2160s Selecting previously unselected package libwayland-server0:armhf. 2160s Preparing to unpack .../088-libwayland-server0_1.23.0-1_armhf.deb ... 2160s Unpacking libwayland-server0:armhf (1.23.0-1) ... 2160s Selecting previously unselected package libgbm1:armhf. 2160s Preparing to unpack .../089-libgbm1_24.2.3-1ubuntu1_armhf.deb ... 2160s Unpacking libgbm1:armhf (24.2.3-1ubuntu1) ... 2160s Selecting previously unselected package libgl1-mesa-dri:armhf. 2160s Preparing to unpack .../090-libgl1-mesa-dri_24.2.3-1ubuntu1_armhf.deb ... 2160s Unpacking libgl1-mesa-dri:armhf (24.2.3-1ubuntu1) ... 2160s Selecting previously unselected package libglx-mesa0:armhf. 2160s Preparing to unpack .../091-libglx-mesa0_24.2.3-1ubuntu1_armhf.deb ... 2160s Unpacking libglx-mesa0:armhf (24.2.3-1ubuntu1) ... 2160s Selecting previously unselected package libglx0:armhf. 2160s Preparing to unpack .../092-libglx0_1.7.0-1build1_armhf.deb ... 2160s Unpacking libglx0:armhf (1.7.0-1build1) ... 2160s Selecting previously unselected package libgl1:armhf. 2160s Preparing to unpack .../093-libgl1_1.7.0-1build1_armhf.deb ... 2160s Unpacking libgl1:armhf (1.7.0-1build1) ... 2160s Selecting previously unselected package libasound2-data. 2160s Preparing to unpack .../094-libasound2-data_1.2.12-1_all.deb ... 2160s Unpacking libasound2-data (1.2.12-1) ... 2160s Selecting previously unselected package libasound2t64:armhf. 2160s Preparing to unpack .../095-libasound2t64_1.2.12-1_armhf.deb ... 2160s Unpacking libasound2t64:armhf (1.2.12-1) ... 2160s Selecting previously unselected package libgif7:armhf. 2160s Preparing to unpack .../096-libgif7_5.2.2-1ubuntu1_armhf.deb ... 2160s Unpacking libgif7:armhf (5.2.2-1ubuntu1) ... 2160s Selecting previously unselected package x11-common. 2160s Preparing to unpack .../097-x11-common_1%3a7.7+23ubuntu3_all.deb ... 2160s Unpacking x11-common (1:7.7+23ubuntu3) ... 2160s Selecting previously unselected package libxtst6:armhf. 2160s Preparing to unpack .../098-libxtst6_2%3a1.2.3-1.1build1_armhf.deb ... 2160s Unpacking libxtst6:armhf (2:1.2.3-1.1build1) ... 2160s Selecting previously unselected package openjdk-21-jre:armhf. 2160s Preparing to unpack .../099-openjdk-21-jre_21.0.5+11-1_armhf.deb ... 2160s Unpacking openjdk-21-jre:armhf (21.0.5+11-1) ... 2160s Selecting previously unselected package default-jre. 2160s Preparing to unpack .../100-default-jre_2%3a1.21-76_armhf.deb ... 2160s Unpacking default-jre (2:1.21-76) ... 2160s Selecting previously unselected package libhamcrest-java. 2160s Preparing to unpack .../101-libhamcrest-java_2.2-2_all.deb ... 2160s Unpacking libhamcrest-java (2.2-2) ... 2161s Selecting previously unselected package junit4. 2161s Preparing to unpack .../102-junit4_4.13.2-5_all.deb ... 2161s Unpacking junit4 (4.13.2-5) ... 2161s Selecting previously unselected package libcommons-cli-java. 2161s Preparing to unpack .../103-libcommons-cli-java_1.6.0-1_all.deb ... 2161s Unpacking libcommons-cli-java (1.6.0-1) ... 2161s Selecting previously unselected package libapache-pom-java. 2161s Preparing to unpack .../104-libapache-pom-java_33-2_all.deb ... 2161s Unpacking libapache-pom-java (33-2) ... 2161s Selecting previously unselected package libcommons-parent-java. 2161s Preparing to unpack .../105-libcommons-parent-java_56-1_all.deb ... 2161s Unpacking libcommons-parent-java (56-1) ... 2161s Selecting previously unselected package libcommons-io-java. 2161s Preparing to unpack .../106-libcommons-io-java_2.17.0-1_all.deb ... 2161s Unpacking libcommons-io-java (2.17.0-1) ... 2161s Selecting previously unselected package libdropwizard-metrics-java. 2161s Preparing to unpack .../107-libdropwizard-metrics-java_3.2.6-1_all.deb ... 2161s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 2161s Selecting previously unselected package libfindbugs-annotations-java. 2161s Preparing to unpack .../108-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 2161s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 2161s Selecting previously unselected package libatinject-jsr330-api-java. 2161s Preparing to unpack .../109-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 2161s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 2161s Selecting previously unselected package liberror-prone-java. 2161s Preparing to unpack .../110-liberror-prone-java_2.18.0-1_all.deb ... 2161s Unpacking liberror-prone-java (2.18.0-1) ... 2161s Selecting previously unselected package libjsr305-java. 2161s Preparing to unpack .../111-libjsr305-java_0.1~+svn49-11_all.deb ... 2161s Unpacking libjsr305-java (0.1~+svn49-11) ... 2161s Selecting previously unselected package libguava-java. 2161s Preparing to unpack .../112-libguava-java_32.0.1-1_all.deb ... 2161s Unpacking libguava-java (32.0.1-1) ... 2161s Selecting previously unselected package libjackson2-annotations-java. 2161s Preparing to unpack .../113-libjackson2-annotations-java_2.14.0-1_all.deb ... 2161s Unpacking libjackson2-annotations-java (2.14.0-1) ... 2161s Selecting previously unselected package libjackson2-core-java. 2161s Preparing to unpack .../114-libjackson2-core-java_2.14.1-1_all.deb ... 2161s Unpacking libjackson2-core-java (2.14.1-1) ... 2161s Selecting previously unselected package libjackson2-databind-java. 2161s Preparing to unpack .../115-libjackson2-databind-java_2.14.0-1_all.deb ... 2161s Unpacking libjackson2-databind-java (2.14.0-1) ... 2161s Selecting previously unselected package libasm-java. 2161s Preparing to unpack .../116-libasm-java_9.7.1-1_all.deb ... 2161s Unpacking libasm-java (9.7.1-1) ... 2161s Selecting previously unselected package libel-api-java. 2161s Preparing to unpack .../117-libel-api-java_3.0.0-3_all.deb ... 2161s Unpacking libel-api-java (3.0.0-3) ... 2161s Selecting previously unselected package libjsp-api-java. 2161s Preparing to unpack .../118-libjsp-api-java_2.3.4-3_all.deb ... 2161s Unpacking libjsp-api-java (2.3.4-3) ... 2161s Selecting previously unselected package libservlet-api-java. 2162s Preparing to unpack .../119-libservlet-api-java_4.0.1-2_all.deb ... 2162s Unpacking libservlet-api-java (4.0.1-2) ... 2162s Selecting previously unselected package libwebsocket-api-java. 2162s Preparing to unpack .../120-libwebsocket-api-java_1.1-2_all.deb ... 2162s Unpacking libwebsocket-api-java (1.1-2) ... 2162s Selecting previously unselected package libjetty9-java. 2162s Preparing to unpack .../121-libjetty9-java_9.4.56-1_all.deb ... 2162s Unpacking libjetty9-java (9.4.56-1) ... 2162s Selecting previously unselected package libjnr-constants-java. 2162s Preparing to unpack .../122-libjnr-constants-java_0.10.4-2_all.deb ... 2162s Unpacking libjnr-constants-java (0.10.4-2) ... 2162s Selecting previously unselected package libjffi-jni:armhf. 2162s Preparing to unpack .../123-libjffi-jni_1.3.13+ds-1_armhf.deb ... 2162s Unpacking libjffi-jni:armhf (1.3.13+ds-1) ... 2162s Selecting previously unselected package libjffi-java. 2162s Preparing to unpack .../124-libjffi-java_1.3.13+ds-1_all.deb ... 2162s Unpacking libjffi-java (1.3.13+ds-1) ... 2162s Selecting previously unselected package libjnr-x86asm-java. 2162s Preparing to unpack .../125-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 2162s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 2162s Selecting previously unselected package libjnr-ffi-java. 2162s Preparing to unpack .../126-libjnr-ffi-java_2.2.15-2_all.deb ... 2162s Unpacking libjnr-ffi-java (2.2.15-2) ... 2162s Selecting previously unselected package libjnr-enxio-java. 2162s Preparing to unpack .../127-libjnr-enxio-java_0.32.16-1_all.deb ... 2162s Unpacking libjnr-enxio-java (0.32.16-1) ... 2162s Selecting previously unselected package libjnr-posix-java. 2162s Preparing to unpack .../128-libjnr-posix-java_3.1.18-1_all.deb ... 2162s Unpacking libjnr-posix-java (3.1.18-1) ... 2162s Selecting previously unselected package libjnr-unixsocket-java. 2162s Preparing to unpack .../129-libjnr-unixsocket-java_0.38.21-2_all.deb ... 2162s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 2162s Selecting previously unselected package libactivation-java. 2162s Preparing to unpack .../130-libactivation-java_1.2.0-2_all.deb ... 2162s Unpacking libactivation-java (1.2.0-2) ... 2162s Selecting previously unselected package libmail-java. 2162s Preparing to unpack .../131-libmail-java_1.6.5-3_all.deb ... 2162s Unpacking libmail-java (1.6.5-3) ... 2162s Selecting previously unselected package libcommons-logging-java. 2162s Preparing to unpack .../132-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 2162s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 2162s Selecting previously unselected package libjaxb-api-java. 2162s Preparing to unpack .../133-libjaxb-api-java_2.3.1-1_all.deb ... 2162s Unpacking libjaxb-api-java (2.3.1-1) ... 2162s Selecting previously unselected package libspring-core-java. 2162s Preparing to unpack .../134-libspring-core-java_4.3.30-2_all.deb ... 2162s Unpacking libspring-core-java (4.3.30-2) ... 2163s Selecting previously unselected package libspring-beans-java. 2163s Preparing to unpack .../135-libspring-beans-java_4.3.30-2_all.deb ... 2163s Unpacking libspring-beans-java (4.3.30-2) ... 2163s Selecting previously unselected package libtaglibs-standard-spec-java. 2163s Preparing to unpack .../136-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 2163s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 2163s Selecting previously unselected package libtaglibs-standard-impl-java. 2163s Preparing to unpack .../137-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 2163s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 2163s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 2163s Preparing to unpack .../138-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 2163s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 2163s Selecting previously unselected package libeclipse-jdt-core-java. 2163s Preparing to unpack .../139-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 2163s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 2163s Selecting previously unselected package libtomcat9-java. 2163s Preparing to unpack .../140-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 2163s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 2163s Selecting previously unselected package libjetty9-extra-java. 2163s Preparing to unpack .../141-libjetty9-extra-java_9.4.56-1_all.deb ... 2163s Unpacking libjetty9-extra-java (9.4.56-1) ... 2163s Selecting previously unselected package libjctools-java. 2163s Preparing to unpack .../142-libjctools-java_2.0.2-1_all.deb ... 2163s Unpacking libjctools-java (2.0.2-1) ... 2163s Selecting previously unselected package libnetty-java. 2163s Preparing to unpack .../143-libnetty-java_1%3a4.1.48-10_all.deb ... 2163s Unpacking libnetty-java (1:4.1.48-10) ... 2163s Selecting previously unselected package libslf4j-java. 2163s Preparing to unpack .../144-libslf4j-java_1.7.32-1_all.deb ... 2163s Unpacking libslf4j-java (1.7.32-1) ... 2163s Selecting previously unselected package libsnappy1v5:armhf. 2163s Preparing to unpack .../145-libsnappy1v5_1.2.1-1_armhf.deb ... 2163s Unpacking libsnappy1v5:armhf (1.2.1-1) ... 2163s Selecting previously unselected package libsnappy-jni. 2163s Preparing to unpack .../146-libsnappy-jni_1.1.10.5-2_armhf.deb ... 2163s Unpacking libsnappy-jni (1.1.10.5-2) ... 2163s Selecting previously unselected package libsnappy-java. 2163s Preparing to unpack .../147-libsnappy-java_1.1.10.5-2_all.deb ... 2163s Unpacking libsnappy-java (1.1.10.5-2) ... 2163s Selecting previously unselected package libapr1t64:armhf. 2163s Preparing to unpack .../148-libapr1t64_1.7.2-3.2ubuntu1_armhf.deb ... 2163s Unpacking libapr1t64:armhf (1.7.2-3.2ubuntu1) ... 2163s Selecting previously unselected package libnetty-tcnative-jni. 2163s Preparing to unpack .../149-libnetty-tcnative-jni_2.0.28-1build4_armhf.deb ... 2163s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 2163s Selecting previously unselected package libnetty-tcnative-java. 2164s Preparing to unpack .../150-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 2164s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 2164s Selecting previously unselected package liblog4j1.2-java. 2164s Preparing to unpack .../151-liblog4j1.2-java_1.2.17-11_all.deb ... 2164s Unpacking liblog4j1.2-java (1.2.17-11) ... 2164s Selecting previously unselected package libzookeeper-java. 2164s Preparing to unpack .../152-libzookeeper-java_3.9.3-1_all.deb ... 2164s Unpacking libzookeeper-java (3.9.3-1) ... 2164s Selecting previously unselected package zookeeper. 2164s Preparing to unpack .../153-zookeeper_3.9.3-1_all.deb ... 2164s Unpacking zookeeper (3.9.3-1) ... 2164s Selecting previously unselected package zookeeperd. 2164s Preparing to unpack .../154-zookeeperd_3.9.3-1_all.deb ... 2164s Unpacking zookeeperd (3.9.3-1) ... 2164s Selecting previously unselected package fonts-font-awesome. 2164s Preparing to unpack .../155-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2164s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2164s Selecting previously unselected package libcares2:armhf. 2164s Preparing to unpack .../156-libcares2_1.34.2-1_armhf.deb ... 2164s Unpacking libcares2:armhf (1.34.2-1) ... 2164s Selecting previously unselected package libev4t64:armhf. 2164s Preparing to unpack .../157-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 2164s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 2164s Selecting previously unselected package libio-pty-perl. 2164s Preparing to unpack .../158-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 2164s Unpacking libio-pty-perl (1:1.20-1build3) ... 2164s Selecting previously unselected package libipc-run-perl. 2164s Preparing to unpack .../159-libipc-run-perl_20231003.0-2_all.deb ... 2164s Unpacking libipc-run-perl (20231003.0-2) ... 2164s Selecting previously unselected package libjs-jquery. 2164s Preparing to unpack .../160-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2164s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2164s Selecting previously unselected package libjs-underscore. 2164s Preparing to unpack .../161-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2164s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2164s Selecting previously unselected package libjs-sphinxdoc. 2164s Preparing to unpack .../162-libjs-sphinxdoc_7.4.7-4_all.deb ... 2164s Unpacking libjs-sphinxdoc (7.4.7-4) ... 2164s Selecting previously unselected package libpq5:armhf. 2164s Preparing to unpack .../163-libpq5_17.0-1_armhf.deb ... 2164s Unpacking libpq5:armhf (17.0-1) ... 2164s Selecting previously unselected package libtime-duration-perl. 2164s Preparing to unpack .../164-libtime-duration-perl_1.21-2_all.deb ... 2164s Unpacking libtime-duration-perl (1.21-2) ... 2165s Selecting previously unselected package libtimedate-perl. 2165s Preparing to unpack .../165-libtimedate-perl_2.3300-2_all.deb ... 2165s Unpacking libtimedate-perl (2.3300-2) ... 2165s Selecting previously unselected package libxslt1.1:armhf. 2165s Preparing to unpack .../166-libxslt1.1_1.1.39-0exp1ubuntu1_armhf.deb ... 2165s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 2165s Selecting previously unselected package moreutils. 2165s Preparing to unpack .../167-moreutils_0.69-1_armhf.deb ... 2165s Unpacking moreutils (0.69-1) ... 2165s Selecting previously unselected package python3-ydiff. 2165s Preparing to unpack .../168-python3-ydiff_1.3-1_all.deb ... 2165s Unpacking python3-ydiff (1.3-1) ... 2165s Selecting previously unselected package python3-cdiff. 2165s Preparing to unpack .../169-python3-cdiff_1.3-1_all.deb ... 2165s Unpacking python3-cdiff (1.3-1) ... 2165s Selecting previously unselected package python3-colorama. 2165s Preparing to unpack .../170-python3-colorama_0.4.6-4_all.deb ... 2165s Unpacking python3-colorama (0.4.6-4) ... 2165s Selecting previously unselected package python3-click. 2165s Preparing to unpack .../171-python3-click_8.1.7-2_all.deb ... 2165s Unpacking python3-click (8.1.7-2) ... 2165s Selecting previously unselected package python3-six. 2165s Preparing to unpack .../172-python3-six_1.16.0-7_all.deb ... 2165s Unpacking python3-six (1.16.0-7) ... 2165s Selecting previously unselected package python3-dateutil. 2165s Preparing to unpack .../173-python3-dateutil_2.9.0-2_all.deb ... 2165s Unpacking python3-dateutil (2.9.0-2) ... 2165s Selecting previously unselected package python3-wcwidth. 2165s Preparing to unpack .../174-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2165s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2165s Selecting previously unselected package python3-prettytable. 2165s Preparing to unpack .../175-python3-prettytable_3.10.1-1_all.deb ... 2165s Unpacking python3-prettytable (3.10.1-1) ... 2165s Selecting previously unselected package python3-psutil. 2165s Preparing to unpack .../176-python3-psutil_5.9.8-2build2_armhf.deb ... 2165s Unpacking python3-psutil (5.9.8-2build2) ... 2165s Selecting previously unselected package python3-psycopg2. 2165s Preparing to unpack .../177-python3-psycopg2_2.9.9-2_armhf.deb ... 2165s Unpacking python3-psycopg2 (2.9.9-2) ... 2165s Selecting previously unselected package python3-greenlet. 2165s Preparing to unpack .../178-python3-greenlet_3.0.3-0ubuntu6_armhf.deb ... 2165s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 2165s Selecting previously unselected package python3-dnspython. 2165s Preparing to unpack .../179-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 2165s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 2165s Selecting previously unselected package python3-eventlet. 2165s Preparing to unpack .../180-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 2165s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 2165s Selecting previously unselected package python3-zope.event. 2165s Preparing to unpack .../181-python3-zope.event_5.0-0.1_all.deb ... 2165s Unpacking python3-zope.event (5.0-0.1) ... 2165s Selecting previously unselected package python3-zope.interface. 2165s Preparing to unpack .../182-python3-zope.interface_7.1.1-1_armhf.deb ... 2165s Unpacking python3-zope.interface (7.1.1-1) ... 2166s Selecting previously unselected package python3-gevent. 2166s Preparing to unpack .../183-python3-gevent_24.2.1-1_armhf.deb ... 2166s Unpacking python3-gevent (24.2.1-1) ... 2166s Selecting previously unselected package python3-kerberos. 2166s Preparing to unpack .../184-python3-kerberos_1.1.14-3.1build9_armhf.deb ... 2166s Unpacking python3-kerberos (1.1.14-3.1build9) ... 2166s Selecting previously unselected package python3-pure-sasl. 2166s Preparing to unpack .../185-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 2166s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 2166s Selecting previously unselected package python3-kazoo. 2166s Preparing to unpack .../186-python3-kazoo_2.9.0-2_all.deb ... 2166s Unpacking python3-kazoo (2.9.0-2) ... 2166s Selecting previously unselected package patroni. 2166s Preparing to unpack .../187-patroni_3.3.1-1_all.deb ... 2166s Unpacking patroni (3.3.1-1) ... 2166s Selecting previously unselected package sphinx-rtd-theme-common. 2166s Preparing to unpack .../188-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 2166s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2166s Selecting previously unselected package patroni-doc. 2166s Preparing to unpack .../189-patroni-doc_3.3.1-1_all.deb ... 2166s Unpacking patroni-doc (3.3.1-1) ... 2166s Selecting previously unselected package postgresql-client-16. 2166s Preparing to unpack .../190-postgresql-client-16_16.4-3_armhf.deb ... 2166s Unpacking postgresql-client-16 (16.4-3) ... 2166s Selecting previously unselected package postgresql-16. 2166s Preparing to unpack .../191-postgresql-16_16.4-3_armhf.deb ... 2166s Unpacking postgresql-16 (16.4-3) ... 2167s Selecting previously unselected package postgresql. 2167s Preparing to unpack .../192-postgresql_16+262_all.deb ... 2167s Unpacking postgresql (16+262) ... 2167s Selecting previously unselected package python3-parse. 2167s Preparing to unpack .../193-python3-parse_1.20.2-1_all.deb ... 2167s Unpacking python3-parse (1.20.2-1) ... 2167s Selecting previously unselected package python3-parse-type. 2167s Preparing to unpack .../194-python3-parse-type_0.6.4-1_all.deb ... 2167s Unpacking python3-parse-type (0.6.4-1) ... 2167s Selecting previously unselected package python3-behave. 2167s Preparing to unpack .../195-python3-behave_1.2.6-6_all.deb ... 2167s Unpacking python3-behave (1.2.6-6) ... 2167s Selecting previously unselected package python3-coverage. 2167s Preparing to unpack .../196-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 2167s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2167s Selecting previously unselected package autopkgtest-satdep. 2167s Preparing to unpack .../197-4-autopkgtest-satdep.deb ... 2167s Unpacking autopkgtest-satdep (0) ... 2167s Setting up postgresql-client-common (262) ... 2167s Setting up libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 2167s Setting up libxcb-dri3-0:armhf (1.17.0-2) ... 2167s Setting up liblcms2-2:armhf (2.16-2) ... 2167s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 2167s Setting up libpixman-1-0:armhf (0.44.0-3) ... 2167s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 2167s Setting up libjackson2-annotations-java (2.14.0-1) ... 2167s Setting up libllvm19:armhf (1:19.1.2-1ubuntu1) ... 2167s Setting up libsharpyuv0:armhf (1.4.0-0.1) ... 2167s Setting up libwayland-server0:armhf (1.23.0-1) ... 2167s Setting up libx11-xcb1:armhf (2:1.8.10-2) ... 2167s Setting up libslf4j-java (1.7.32-1) ... 2167s Setting up fonts-lato (2.015-1) ... 2167s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 2167s Setting up libxdamage1:armhf (1:1.1.6-1build1) ... 2167s Setting up libxcb-xfixes0:armhf (1.17.0-2) ... 2167s Setting up liblerc4:armhf (4.0.0+ds-4ubuntu2) ... 2167s Setting up libjsr305-java (0.1~+svn49-11) ... 2167s Setting up hicolor-icon-theme (0.18-1) ... 2167s Setting up libxi6:armhf (2:1.8.2-1) ... 2167s Setting up java-common (0.76) ... 2167s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ... 2167s Setting up libdatrie1:armhf (0.2.13-3build1) ... 2167s Setting up libcommons-cli-java (1.6.0-1) ... 2167s Setting up libio-pty-perl (1:1.20-1build3) ... 2167s Setting up python3-colorama (0.4.6-4) ... 2167s Setting up libxcb-render0:armhf (1.17.0-2) ... 2167s Setting up python3-zope.event (5.0-0.1) ... 2168s Setting up python3-zope.interface (7.1.1-1) ... 2168s Setting up libdrm-radeon1:armhf (2.4.123-1) ... 2168s Setting up libglvnd0:armhf (1.7.0-1build1) ... 2168s Setting up libxcb-glx0:armhf (1.17.0-2) ... 2168s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 2168s Setting up python3-ydiff (1.3-1) ... 2168s Setting up libasm-java (9.7.1-1) ... 2168s Setting up x11-common (1:7.7+23ubuntu3) ... 2168s Setting up libpq5:armhf (17.0-1) ... 2168s Setting up libdeflate0:armhf (1.22-1) ... 2168s Setting up python3-kerberos (1.1.14-3.1build9) ... 2168s Setting up liblog4j1.2-java (1.2.17-11) ... 2168s Setting up libel-api-java (3.0.0-3) ... 2168s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2169s Setting up libxcb-shm0:armhf (1.17.0-2) ... 2169s Setting up python3-click (8.1.7-2) ... 2169s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 2169s Setting up libjbig0:armhf (2.1-6.1ubuntu2) ... 2169s Setting up libcolord2:armhf (1.4.7-1build2) ... 2169s Setting up python3-psutil (5.9.8-2build2) ... 2169s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 2169s Setting up libxxf86vm1:armhf (1:1.1.4-1build4) ... 2169s Setting up libsnappy1v5:armhf (1.2.1-1) ... 2169s Setting up libxcb-present0:armhf (1.17.0-2) ... 2169s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 2169s Setting up libdconf1:armhf (0.40.0-4build2) ... 2169s Setting up libjctools-java (2.0.2-1) ... 2169s Setting up libdropwizard-metrics-java (3.2.6-1) ... 2169s Setting up python3-six (1.16.0-7) ... 2170s Setting up libasound2-data (1.2.12-1) ... 2170s Setting up libasound2t64:armhf (1.2.12-1) ... 2170s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2170s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ... 2170s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 2170s Setting up libepoxy0:armhf (1.5.10-2) ... 2170s Setting up ssl-cert (1.1.2ubuntu2) ... 2171s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2171s Setting up libxfixes3:armhf (1:6.0.0-2build1) ... 2171s Setting up libxcb-sync1:armhf (1.17.0-2) ... 2171s Setting up libapache-pom-java (33-2) ... 2171s Setting up libavahi-common-data:armhf (0.8-13ubuntu6) ... 2171s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 2171s Setting up libatspi2.0-0t64:armhf (2.54.0-1) ... 2171s Setting up libwebsocket-api-java (1.1-2) ... 2171s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 2171s Setting up libxinerama1:armhf (2:1.1.4-3build1) ... 2171s Setting up fonts-dejavu-mono (2.37-8) ... 2171s Setting up libcares2:armhf (1.34.2-1) ... 2171s Setting up libxrandr2:armhf (2:1.5.4-1) ... 2171s Setting up python3-psycopg2 (2.9.9-2) ... 2171s Setting up fonts-dejavu-core (2.37-8) ... 2171s Setting up libipc-run-perl (20231003.0-2) ... 2171s Setting up libpcsclite1:armhf (2.3.0-1) ... 2171s Setting up libjpeg-turbo8:armhf (2.1.5-2ubuntu2) ... 2171s Setting up libactivation-java (1.2.0-2) ... 2171s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 2171s Setting up libhamcrest-java (2.2-2) ... 2171s Setting up libglapi-mesa:armhf (24.2.3-1ubuntu1) ... 2171s Setting up libjsp-api-java (2.3.4-3) ... 2171s Setting up libvulkan1:armhf (1.3.296.0-1) ... 2171s Setting up libtime-duration-perl (1.21-2) ... 2171s Setting up libwebp7:armhf (1.4.0-0.1) ... 2171s Setting up libtimedate-perl (2.3300-2) ... 2171s Setting up libxcb-dri2-0:armhf (1.17.0-2) ... 2171s Setting up libgif7:armhf (5.2.2-1ubuntu1) ... 2171s Setting up libxshmfence1:armhf (1.3-1build5) ... 2171s Setting up libmail-java (1.6.5-3) ... 2171s Setting up at-spi2-common (2.54.0-1) ... 2171s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 2172s Setting up libnetty-java (1:4.1.48-10) ... 2172s Setting up libxcb-randr0:armhf (1.17.0-2) ... 2172s Setting up python3-parse (1.20.2-1) ... 2172s Setting up libapr1t64:armhf (1.7.2-3.2ubuntu1) ... 2172s Setting up libjson-perl (4.10000-1) ... 2172s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 2172s Setting up libservlet-api-java (4.0.1-2) ... 2172s Setting up libjackson2-core-java (2.14.1-1) ... 2172s Setting up libharfbuzz0b:armhf (10.0.1-1) ... 2172s Setting up libthai-data (0.1.29-2build1) ... 2172s Setting up python3-dateutil (2.9.0-2) ... 2172s Setting up libjffi-jni:armhf (1.3.13+ds-1) ... 2172s Setting up libwayland-egl1:armhf (1.23.0-1) ... 2172s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2172s Setting up ca-certificates-java (20240118) ... 2172s No JRE found. Skipping Java certificates setup. 2172s Setting up python3-prettytable (3.10.1-1) ... 2172s Setting up libsnappy-jni (1.1.10.5-2) ... 2172s Setting up libxcomposite1:armhf (1:0.4.6-1) ... 2172s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2173s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2173s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2173s Setting up libdrm-amdgpu1:armhf (2.4.123-1) ... 2173s Setting up libjnr-constants-java (0.10.4-2) ... 2173s Setting up libwayland-client0:armhf (1.23.0-1) ... 2173s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 2173s Setting up libjaxb-api-java (2.3.1-1) ... 2173s Setting up libjffi-java (1.3.13+ds-1) ... 2173s Setting up mesa-libgallium:armhf (24.2.3-1ubuntu1) ... 2173s Setting up libjetty9-java (9.4.56-1) ... 2173s Setting up moreutils (0.69-1) ... 2173s Setting up libatk1.0-0t64:armhf (2.54.0-1) ... 2173s Setting up openjdk-21-jre-headless:armhf (21.0.5+11-1) ... 2173s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/java to provide /usr/bin/java (java) in auto mode 2173s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 2173s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 2173s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 2173s update-alternatives: using /usr/lib/jvm/java-21-openjdk-armhf/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 2173s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 2173s Setting up libgbm1:armhf (24.2.3-1ubuntu1) ... 2173s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 2173s Setting up libxtst6:armhf (2:1.2.3-1.1build1) ... 2173s Setting up libxcursor1:armhf (1:1.2.2-1) ... 2173s Setting up postgresql-client-16 (16.4-3) ... 2174s 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 2174s Setting up python3-cdiff (1.3-1) ... 2174s Setting up libgl1-mesa-dri:armhf (24.2.3-1ubuntu1) ... 2174s Setting up libcommons-parent-java (56-1) ... 2174s Setting up libavahi-common3:armhf (0.8-13ubuntu6) ... 2174s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 2174s Setting up dconf-service (0.40.0-4build2) ... 2174s Setting up python3-gevent (24.2.1-1) ... 2174s Setting up libjackson2-databind-java (2.14.0-1) ... 2174s Setting up libthai0:armhf (0.1.29-2build1) ... 2174s Setting up python3-parse-type (0.6.4-1) ... 2174s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 2175s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 2175s Setting up python3-kazoo (2.9.0-2) ... 2175s Setting up postgresql-common (262) ... 2176s 2176s Creating config file /etc/postgresql-common/createcluster.conf with new version 2176s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2176s Removing obsolete dictionary files: 2177s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2177s Setting up libjs-sphinxdoc (7.4.7-4) ... 2177s Setting up libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 2177s Setting up libwayland-cursor0:armhf (1.23.0-1) ... 2177s Setting up libgdk-pixbuf-2.0-0:armhf (2.42.12+dfsg-1) ... 2177s Setting up python3-behave (1.2.6-6) ... 2177s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2177s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2177s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2177s """Registers a custom type that will be available to "parse" 2177s Setting up libsnappy-java (1.1.10.5-2) ... 2177s Setting up libfontconfig1:armhf (2.15.0-1.1ubuntu2) ... 2177s Setting up patroni (3.3.1-1) ... 2177s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2178s Setting up libavahi-client3:armhf (0.8-13ubuntu6) ... 2178s Setting up libjnr-ffi-java (2.2.15-2) ... 2178s Setting up libatk-bridge2.0-0t64:armhf (2.54.0-1) ... 2178s Setting up gtk-update-icon-cache (4.16.5+ds-1) ... 2178s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 2180s Regenerating fonts cache... done. 2180s Setting up libglx-mesa0:armhf (24.2.3-1ubuntu1) ... 2180s Setting up postgresql-16 (16.4-3) ... 2181s Creating new PostgreSQL cluster 16/main ... 2181s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2181s The files belonging to this database system will be owned by user "postgres". 2181s This user must also own the server process. 2181s 2181s The database cluster will be initialized with locale "C.UTF-8". 2181s The default database encoding has accordingly been set to "UTF8". 2181s The default text search configuration will be set to "english". 2181s 2181s Data page checksums are disabled. 2181s 2181s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2181s creating subdirectories ... ok 2181s selecting dynamic shared memory implementation ... posix 2181s selecting default max_connections ... 100 2181s selecting default shared_buffers ... 128MB 2181s selecting default time zone ... Etc/UTC 2181s creating configuration files ... ok 2181s running bootstrap script ... ok 2182s performing post-bootstrap initialization ... ok 2182s syncing data to disk ... ok 2186s Setting up libglx0:armhf (1.7.0-1build1) ... 2186s Setting up libspring-core-java (4.3.30-2) ... 2186s Setting up dconf-gsettings-backend:armhf (0.40.0-4build2) ... 2186s Setting up libcommons-io-java (2.17.0-1) ... 2186s Setting up patroni-doc (3.3.1-1) ... 2186s Setting up libpango-1.0-0:armhf (1.54.0+ds-3) ... 2186s Setting up libcairo2:armhf (1.18.2-2) ... 2186s Setting up libjnr-enxio-java (0.32.16-1) ... 2186s Setting up libgl1:armhf (1.7.0-1build1) ... 2186s Setting up libcairo-gobject2:armhf (1.18.2-2) ... 2186s Setting up postgresql (16+262) ... 2186s Setting up libpangoft2-1.0-0:armhf (1.54.0+ds-3) ... 2186s Setting up libcups2t64:armhf (2.4.10-1ubuntu2) ... 2186s Setting up libgtk-3-common (3.24.43-3ubuntu2) ... 2186s Setting up libjnr-posix-java (3.1.18-1) ... 2186s Setting up libpangocairo-1.0-0:armhf (1.54.0+ds-3) ... 2186s Setting up libspring-beans-java (4.3.30-2) ... 2186s Setting up libjnr-unixsocket-java (0.38.21-2) ... 2186s Setting up libjetty9-extra-java (9.4.56-1) ... 2186s Setting up libguava-java (32.0.1-1) ... 2186s Setting up adwaita-icon-theme (47.0-2) ... 2186s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 2186s Setting up liberror-prone-java (2.18.0-1) ... 2186s Setting up humanity-icon-theme (0.6.16) ... 2186s Setting up ubuntu-mono (24.04-0ubuntu1) ... 2186s Processing triggers for man-db (2.12.1-3) ... 2188s Processing triggers for libglib2.0-0t64:armhf (2.82.1-0ubuntu1) ... 2188s Setting up libgtk-3-0t64:armhf (3.24.43-3ubuntu2) ... 2188s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2188s Processing triggers for ca-certificates-java (20240118) ... 2189s Adding debian:ACCVRAIZ1.pem 2189s Adding debian:AC_RAIZ_FNMT-RCM.pem 2189s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 2189s Adding debian:ANF_Secure_Server_Root_CA.pem 2189s Adding debian:Actalis_Authentication_Root_CA.pem 2189s Adding debian:AffirmTrust_Commercial.pem 2189s Adding debian:AffirmTrust_Networking.pem 2189s Adding debian:AffirmTrust_Premium.pem 2189s Adding debian:AffirmTrust_Premium_ECC.pem 2189s Adding debian:Amazon_Root_CA_1.pem 2189s Adding debian:Amazon_Root_CA_2.pem 2189s Adding debian:Amazon_Root_CA_3.pem 2189s Adding debian:Amazon_Root_CA_4.pem 2189s Adding debian:Atos_TrustedRoot_2011.pem 2189s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 2189s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 2189s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 2189s Adding debian:BJCA_Global_Root_CA1.pem 2189s Adding debian:BJCA_Global_Root_CA2.pem 2189s Adding debian:Baltimore_CyberTrust_Root.pem 2189s Adding debian:Buypass_Class_2_Root_CA.pem 2189s Adding debian:Buypass_Class_3_Root_CA.pem 2189s Adding debian:CA_Disig_Root_R2.pem 2189s Adding debian:CFCA_EV_ROOT.pem 2189s Adding debian:COMODO_Certification_Authority.pem 2189s Adding debian:COMODO_ECC_Certification_Authority.pem 2189s Adding debian:COMODO_RSA_Certification_Authority.pem 2189s Adding debian:Certainly_Root_E1.pem 2189s Adding debian:Certainly_Root_R1.pem 2189s Adding debian:Certigna.pem 2189s Adding debian:Certigna_Root_CA.pem 2189s Adding debian:Certum_EC-384_CA.pem 2189s Adding debian:Certum_Trusted_Network_CA.pem 2189s Adding debian:Certum_Trusted_Network_CA_2.pem 2189s Adding debian:Certum_Trusted_Root_CA.pem 2189s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 2189s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 2189s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 2189s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 2189s Adding debian:Comodo_AAA_Services_root.pem 2189s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 2189s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 2189s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 2189s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 2189s Adding debian:DigiCert_Assured_ID_Root_CA.pem 2189s Adding debian:DigiCert_Assured_ID_Root_G2.pem 2189s Adding debian:DigiCert_Assured_ID_Root_G3.pem 2189s Adding debian:DigiCert_Global_Root_CA.pem 2189s Adding debian:DigiCert_Global_Root_G2.pem 2189s Adding debian:DigiCert_Global_Root_G3.pem 2189s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 2189s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 2189s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 2189s Adding debian:DigiCert_Trusted_Root_G4.pem 2189s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 2189s Adding debian:Entrust_Root_Certification_Authority.pem 2189s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 2189s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 2189s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 2189s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 2189s Adding debian:GLOBALTRUST_2020.pem 2189s Adding debian:GTS_Root_R1.pem 2189s Adding debian:GTS_Root_R2.pem 2189s Adding debian:GTS_Root_R3.pem 2189s Adding debian:GTS_Root_R4.pem 2189s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 2189s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 2189s Adding debian:GlobalSign_Root_CA.pem 2189s Adding debian:GlobalSign_Root_CA_-_R3.pem 2189s Adding debian:GlobalSign_Root_CA_-_R6.pem 2189s Adding debian:GlobalSign_Root_E46.pem 2189s Adding debian:GlobalSign_Root_R46.pem 2189s Adding debian:Go_Daddy_Class_2_CA.pem 2189s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 2189s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 2189s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 2189s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 2189s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 2189s Adding debian:HiPKI_Root_CA_-_G1.pem 2189s Adding debian:Hongkong_Post_Root_CA_3.pem 2189s Adding debian:ISRG_Root_X1.pem 2189s Adding debian:ISRG_Root_X2.pem 2189s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 2189s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 2189s Adding debian:Izenpe.com.pem 2189s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 2189s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 2189s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 2189s Adding debian:NAVER_Global_Root_Certification_Authority.pem 2189s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 2189s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 2189s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 2189s Adding debian:QuoVadis_Root_CA_1_G3.pem 2189s Adding debian:QuoVadis_Root_CA_2.pem 2189s Adding debian:QuoVadis_Root_CA_2_G3.pem 2189s Adding debian:QuoVadis_Root_CA_3.pem 2189s Adding debian:QuoVadis_Root_CA_3_G3.pem 2189s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 2189s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 2189s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 2189s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 2189s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 2189s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 2189s Adding debian:SZAFIR_ROOT_CA2.pem 2189s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 2189s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 2189s Adding debian:SecureSign_RootCA11.pem 2189s Adding debian:SecureTrust_CA.pem 2189s Adding debian:Secure_Global_CA.pem 2189s Adding debian:Security_Communication_ECC_RootCA1.pem 2189s Adding debian:Security_Communication_RootCA2.pem 2189s Adding debian:Security_Communication_RootCA3.pem 2189s Adding debian:Security_Communication_Root_CA.pem 2189s Adding debian:Starfield_Class_2_CA.pem 2189s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 2189s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 2189s Adding debian:SwissSign_Gold_CA_-_G2.pem 2189s Adding debian:SwissSign_Silver_CA_-_G2.pem 2189s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 2189s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 2189s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 2189s Adding debian:TWCA_Global_Root_CA.pem 2189s Adding debian:TWCA_Root_Certification_Authority.pem 2189s Adding debian:TeliaSonera_Root_CA_v1.pem 2189s Adding debian:Telia_Root_CA_v2.pem 2189s Adding debian:TrustAsia_Global_Root_CA_G3.pem 2189s Adding debian:TrustAsia_Global_Root_CA_G4.pem 2189s Adding debian:Trustwave_Global_Certification_Authority.pem 2189s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 2189s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 2189s Adding debian:TunTrust_Root_CA.pem 2189s Adding debian:UCA_Extended_Validation_Root.pem 2189s Adding debian:UCA_Global_G2_Root.pem 2189s Adding debian:USERTrust_ECC_Certification_Authority.pem 2189s Adding debian:USERTrust_RSA_Certification_Authority.pem 2189s Adding debian:XRamp_Global_CA_Root.pem 2189s Adding debian:certSIGN_ROOT_CA.pem 2189s Adding debian:certSIGN_Root_CA_G2.pem 2189s Adding debian:e-Szigno_Root_CA_2017.pem 2189s Adding debian:ePKI_Root_Certification_Authority.pem 2189s Adding debian:emSign_ECC_Root_CA_-_C3.pem 2189s Adding debian:emSign_ECC_Root_CA_-_G3.pem 2189s Adding debian:emSign_Root_CA_-_C1.pem 2189s Adding debian:emSign_Root_CA_-_G1.pem 2189s Adding debian:vTrus_ECC_Root_CA.pem 2189s Adding debian:vTrus_Root_CA.pem 2189s done. 2189s Setting up openjdk-21-jre:armhf (21.0.5+11-1) ... 2189s Setting up junit4 (4.13.2-5) ... 2189s Setting up default-jre-headless (2:1.21-76) ... 2189s Setting up default-jre (2:1.21-76) ... 2189s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 2189s Setting up libzookeeper-java (3.9.3-1) ... 2189s Setting up zookeeper (3.9.3-1) ... 2189s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 2189s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 2189s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 2189s Setting up zookeeperd (3.9.3-1) ... 2190s Setting up autopkgtest-satdep (0) ... 2227s (Reading database ... 79753 files and directories currently installed.) 2227s Removing autopkgtest-satdep (0) ... 2239s autopkgtest [04:39:25]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 2239s autopkgtest [04:39:25]: test acceptance-zookeeper: [----------------------- 2246s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2246s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2246s ++ ls -1r /usr/lib/postgresql/ 2246s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2246s + '[' 16 == 10 -o 16 == 11 ']' 2246s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2246s + 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' 2248s Nov 14 04:39:33 Feature: basic replication # features/basic_replication.feature:1 2248s Nov 14 04:39:33 We should check that the basic bootstrapping, replication and failover works. 2248s Nov 14 04:39:33 Scenario: check replication of a single table # features/basic_replication.feature:4 2248s Nov 14 04:39:33 Given I start postgres0 # features/steps/basic_replication.py:8 2253s Nov 14 04:39:39 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2253s Nov 14 04:39:39 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2253s Nov 14 04:39:39 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 2253s Nov 14 04:39:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 2253s Nov 14 04:39:39 When I start postgres1 # features/steps/basic_replication.py:8 2258s Nov 14 04:39:44 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2262s Nov 14 04:39:48 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2262s Nov 14 04:39:48 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2262s Nov 14 04:39:48 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2263s Nov 14 04:39:49 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2263s Nov 14 04:39:49 2263s Nov 14 04:39:49 Scenario: check restart of sync replica # features/basic_replication.feature:17 2263s Nov 14 04:39:49 Given I shut down postgres2 # features/steps/basic_replication.py:29 2264s Nov 14 04:39:50 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2264s Nov 14 04:39:50 When I start postgres2 # features/steps/basic_replication.py:8 2267s Nov 14 04:39:53 And I shut down postgres1 # features/steps/basic_replication.py:29 2270s Nov 14 04:39:56 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2271s Nov 14 04:39:57 When I start postgres1 # features/steps/basic_replication.py:8 2274s Nov 14 04:40:00 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2275s Nov 14 04:40:01 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2275s Nov 14 04:40:01 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2275s Nov 14 04:40:01 2275s Nov 14 04:40:01 Scenario: check stuck sync replica # features/basic_replication.feature:28 2275s Nov 14 04:40:01 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 2275s Nov 14 04:40:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2275s Nov 14 04:40:01 And I create table on postgres0 # features/steps/basic_replication.py:73 2275s Nov 14 04:40:01 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2276s Nov 14 04:40:02 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2276s Nov 14 04:40:02 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2276s Nov 14 04:40:02 And I load data on postgres0 # features/steps/basic_replication.py:84 2277s Nov 14 04:40:03 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2280s Nov 14 04:40:06 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2280s Nov 14 04:40:06 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2281s Nov 14 04:40:07 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2281s Nov 14 04:40:07 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 2281s Nov 14 04:40:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 2281s Nov 14 04:40:07 And I drop table on postgres0 # features/steps/basic_replication.py:73 2281s Nov 14 04:40:07 2281s Nov 14 04:40:07 Scenario: check multi sync replication # features/basic_replication.feature:44 2281s Nov 14 04:40:07 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 2281s Nov 14 04:40:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 2281s Nov 14 04:40:07 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2285s Nov 14 04:40:11 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2286s Nov 14 04:40:12 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2286s Nov 14 04:40:12 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 2286s Nov 14 04:40:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 2286s Nov 14 04:40:12 And I shut down postgres1 # features/steps/basic_replication.py:29 2289s Nov 14 04:40:15 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2290s Nov 14 04:40:16 When I start postgres1 # features/steps/basic_replication.py:8 2294s Nov 14 04:40:20 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2294s Nov 14 04:40:20 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2294s Nov 14 04:40:20 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2295s Nov 14 04:40:20 2295s Nov 14 04:40:20 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2295s Nov 14 04:40:20 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2297s Nov 14 04:40:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2297s Nov 14 04:40:23 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2299s Nov 14 04:40:25 And I shut down postgres0 # features/steps/basic_replication.py:29 2300s Nov 14 04:40:26 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2301s Nov 14 04:40:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2301s Nov 14 04:40:27 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2321s Nov 14 04:40:47 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2323s Nov 14 04:40:48 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2323s Nov 14 04:40:48 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 2323s Nov 14 04:40:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 2323s Nov 14 04:40:49 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2323s Nov 14 04:40:49 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2326s Nov 14 04:40:52 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2326s Nov 14 04:40:52 2326s Nov 14 04:40:52 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2326s Nov 14 04:40:52 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2326s Nov 14 04:40:52 And I start postgres0 # features/steps/basic_replication.py:8 2326s Nov 14 04:40:52 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2330s Nov 14 04:40:56 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2330s Nov 14 04:40:56 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2334s Nov 14 04:41:00 2334s Nov 14 04:41:00 @reject-duplicate-name 2334s Nov 14 04:41:00 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2334s Nov 14 04:41:00 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 2336s Nov 14 04:41:02 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 2340s Nov 14 04:41:06 2340s Nov 14 04:41:06 Feature: cascading replication # features/cascading_replication.feature:1 2340s Nov 14 04:41:06 We should check that patroni can do base backup and streaming from the replica 2340s Nov 14 04:41:06 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2340s Nov 14 04:41:06 Given I start postgres0 # features/steps/basic_replication.py:8 2345s Nov 14 04:41:11 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2345s Nov 14 04:41:11 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2350s Nov 14 04:41:16 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2350s Nov 14 04:41:16 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2350s Nov 14 04:41:16 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2350s Nov 14 04:41:16 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2350s Nov 14 04:41:16 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2356s Nov 14 04:41:22 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2357s Nov 14 04:41:23 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2363s Nov 14 04:41:29 2363s SKIP FEATURE citus: Citus extenstion isn't available 2363s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2363s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2363s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2363s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2363s 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 2363s Nov 14 04:41:29 Feature: citus # features/citus.feature:1 2363s Nov 14 04:41:29 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2363s Nov 14 04:41:29 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2363s Nov 14 04:41:29 Given I start postgres0 in citus group 0 # None 2363s Nov 14 04:41:29 And I start postgres2 in citus group 1 # None 2363s Nov 14 04:41:29 Then postgres0 is a leader in a group 0 after 10 seconds # None 2363s Nov 14 04:41:29 And postgres2 is a leader in a group 1 after 10 seconds # None 2363s Nov 14 04:41:29 When I start postgres1 in citus group 0 # None 2363s Nov 14 04:41:29 And I start postgres3 in citus group 1 # None 2363s Nov 14 04:41:29 Then replication works from postgres0 to postgres1 after 15 seconds # None 2363s Nov 14 04:41:29 Then replication works from postgres2 to postgres3 after 15 seconds # None 2363s Nov 14 04:41:29 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2363s Nov 14 04:41:29 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2363s Nov 14 04:41:29 2363s Nov 14 04:41:29 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2363s Nov 14 04:41:29 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2363s Nov 14 04:41:29 Then postgres1 role is the primary after 10 seconds # None 2363s Nov 14 04:41:29 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2363s Nov 14 04:41:29 And replication works from postgres1 to postgres0 after 15 seconds # None 2363s Nov 14 04:41:29 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2363s Nov 14 04:41:29 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2363s Nov 14 04:41:29 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2363s Nov 14 04:41:29 Then postgres0 role is the primary after 10 seconds # None 2363s Nov 14 04:41:29 And replication works from postgres0 to postgres1 after 15 seconds # None 2363s Nov 14 04:41:29 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2363s Nov 14 04:41:29 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2363s Nov 14 04:41:29 2363s Nov 14 04:41:29 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2363s Nov 14 04:41:29 Given I create a distributed table on postgres0 # None 2363s Nov 14 04:41:29 And I start a thread inserting data on postgres0 # None 2363s Nov 14 04:41:29 When I run patronictl.py switchover batman --group 1 --force # None 2363s Nov 14 04:41:29 Then I receive a response returncode 0 # None 2363s Nov 14 04:41:29 And postgres3 role is the primary after 10 seconds # None 2363s Nov 14 04:41:29 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2363s Nov 14 04:41:29 And replication works from postgres3 to postgres2 after 15 seconds # None 2363s Nov 14 04:41:29 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2363s Nov 14 04:41:29 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2363s Nov 14 04:41:29 And a thread is still alive # None 2363s Nov 14 04:41:29 When I run patronictl.py switchover batman --group 1 --force # None 2363s Nov 14 04:41:29 Then I receive a response returncode 0 # None 2363s Nov 14 04:41:29 And postgres2 role is the primary after 10 seconds # None 2363s Nov 14 04:41:29 And replication works from postgres2 to postgres3 after 15 seconds # None 2363s Nov 14 04:41:29 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2363s Nov 14 04:41:29 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2363s Nov 14 04:41:29 And a thread is still alive # None 2363s Nov 14 04:41:29 When I stop a thread # None 2363s Nov 14 04:41:29 Then a distributed table on postgres0 has expected rows # None 2363s Nov 14 04:41:29 2363s Nov 14 04:41:29 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2363s Nov 14 04:41:29 Given I cleanup a distributed table on postgres0 # None 2363s Nov 14 04:41:29 And I start a thread inserting data on postgres0 # None 2363s Nov 14 04:41:29 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2363s Nov 14 04:41:29 Then I receive a response returncode 0 # None 2363s Nov 14 04:41:29 And postgres2 role is the primary after 10 seconds # None 2363s Nov 14 04:41:29 And replication works from postgres2 to postgres3 after 15 seconds # None 2363s Nov 14 04:41:29 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2363s Nov 14 04:41:29 And a thread is still alive # None 2363s Nov 14 04:41:29 When I stop a thread # None 2363s Nov 14 04:41:29 Then a distributed table on postgres0 has expected rows # None 2363s Nov 14 04:41:29 2363s Nov 14 04:41:29 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2363s Nov 14 04:41:29 Given I start postgres4 in citus group 2 # None 2363s Nov 14 04:41:29 Then postgres4 is a leader in a group 2 after 10 seconds # None 2363s Nov 14 04:41:29 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2363s Nov 14 04:41:29 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2363s Nov 14 04:41:29 Then I receive a response returncode 0 # None 2363s Nov 14 04:41:29 And I receive a response output "+ttl: 20" # None 2363s Nov 14 04:41:29 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2363s Nov 14 04:41:29 When I shut down postgres4 # None 2363s Nov 14 04:41:29 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2363s Nov 14 04:41:29 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2363s Nov 14 04:41:29 Then a transaction finishes in 20 seconds # None 2363s Nov 14 04:41:29 2363s Nov 14 04:41:29 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2363s Nov 14 04:41:29 We should check that patroni can bootstrap a new cluster from a backup 2363s Nov 14 04:41:29 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2363s Nov 14 04:41:29 Given I start postgres0 # features/steps/basic_replication.py:8 2368s Nov 14 04:41:34 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2368s Nov 14 04:41:34 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2368s Nov 14 04:41:34 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2374s Nov 14 04:41:40 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2375s Nov 14 04:41:41 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2375s Nov 14 04:41:41 2375s Nov 14 04:41:41 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2375s Nov 14 04:41:41 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2375s Nov 14 04:41:41 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2377s Nov 14 04:41:43 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2384s Nov 14 04:41:50 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2384s Nov 14 04:41:50 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2391s Nov 14 04:41:56 2391s Nov 14 04:41:56 Feature: ignored slots # features/ignored_slots.feature:1 2391s Nov 14 04:41:56 2391s Nov 14 04:41:56 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2391s Nov 14 04:41:56 Given I start postgres1 # features/steps/basic_replication.py:8 2395s Nov 14 04:42:01 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2395s Nov 14 04:42:01 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2395s Nov 14 04:42:01 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 2395s Nov 14 04:42:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2395s Nov 14 04:42:01 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2395s Nov 14 04:42:01 When I shut down postgres1 # features/steps/basic_replication.py:29 2397s Nov 14 04:42:03 And I start postgres1 # features/steps/basic_replication.py:8 2400s Nov 14 04:42:06 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2400s Nov 14 04:42:06 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2401s Nov 14 04:42:07 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2401s Nov 14 04:42:07 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2401s Nov 14 04:42:07 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2401s Nov 14 04:42:07 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2401s Nov 14 04:42:07 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2401s Nov 14 04:42:07 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2401s Nov 14 04:42:07 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2401s Nov 14 04:42:07 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2401s Nov 14 04:42:07 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2401s Nov 14 04:42:07 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2401s Nov 14 04:42:07 When I start postgres0 # features/steps/basic_replication.py:8 2406s Nov 14 04:42:12 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2406s Nov 14 04:42:12 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2406s Nov 14 04:42:12 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2407s Nov 14 04:42:13 When I shut down postgres1 # features/steps/basic_replication.py:29 2409s Nov 14 04:42:15 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2410s Nov 14 04:42:16 When I start postgres1 # features/steps/basic_replication.py:8 2414s Nov 14 04:42:20 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2414s Nov 14 04:42:20 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2414s Nov 14 04:42:20 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2416s Nov 14 04:42:22 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2416s Nov 14 04:42:22 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2416s Nov 14 04:42:22 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2416s Nov 14 04:42:22 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2416s Nov 14 04:42:22 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2416s Nov 14 04:42:22 When I shut down postgres0 # features/steps/basic_replication.py:29 2418s Nov 14 04:42:24 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2419s Nov 14 04:42:25 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2419s Nov 14 04:42:25 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2419s Nov 14 04:42:25 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2419s Nov 14 04:42:25 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2421s Nov 14 04:42:27 2421s Nov 14 04:42:27 Feature: nostream node # features/nostream_node.feature:1 2421s Nov 14 04:42:27 2421s Nov 14 04:42:27 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2421s Nov 14 04:42:27 When I start postgres0 # features/steps/basic_replication.py:8 2426s Nov 14 04:42:32 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2431s Nov 14 04:42:37 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2431s Nov 14 04:42:37 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2436s Nov 14 04:42:42 2436s Nov 14 04:42:42 @slot-advance 2436s Nov 14 04:42:42 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2436s Nov 14 04:42:42 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 2436s Nov 14 04:42:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 2436s Nov 14 04:42:42 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2440s Nov 14 04:42:46 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2441s Nov 14 04:42:47 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2446s Nov 14 04:42:52 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2452s Nov 14 04:42:58 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2452s Nov 14 04:42:58 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2458s Nov 14 04:43:04 2458s Nov 14 04:43:04 Feature: patroni api # features/patroni_api.feature:1 2458s Nov 14 04:43:04 We should check that patroni correctly responds to valid and not-valid API requests. 2458s Nov 14 04:43:04 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2458s Nov 14 04:43:04 Given I start postgres0 # features/steps/basic_replication.py:8 2463s Nov 14 04:43:09 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2463s Nov 14 04:43:09 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2463s Nov 14 04:43:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2463s Nov 14 04:43:09 And I receive a response state running # features/steps/patroni_api.py:98 2463s Nov 14 04:43:09 And I receive a response role master # features/steps/patroni_api.py:98 2463s Nov 14 04:43:09 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2463s Nov 14 04:43:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 2463s Nov 14 04:43:09 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2463s Nov 14 04:43:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2463s Nov 14 04:43:09 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2463s Nov 14 04:43:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 2463s Nov 14 04:43:09 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2463s Nov 14 04:43:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 2463s Nov 14 04:43:09 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2463s Nov 14 04:43:09 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2465s Nov 14 04:43:11 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2465s Nov 14 04:43:11 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2465s Nov 14 04:43:11 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2465s Nov 14 04:43:11 Then I receive a response code 412 # features/steps/patroni_api.py:98 2465s Nov 14 04:43:11 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2465s Nov 14 04:43:11 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2465s Nov 14 04:43:11 Then I receive a response code 400 # features/steps/patroni_api.py:98 2465s Nov 14 04:43:11 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2465s Nov 14 04:43:11 Then I receive a response code 400 # features/steps/patroni_api.py:98 2465s Nov 14 04:43:11 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2465s Nov 14 04:43:11 2465s Nov 14 04:43:11 Scenario: check local configuration reload # features/patroni_api.feature:32 2465s Nov 14 04:43:11 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2465s Nov 14 04:43:11 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2465s Nov 14 04:43:11 Then I receive a response code 202 # features/steps/patroni_api.py:98 2465s Nov 14 04:43:11 2465s Nov 14 04:43:11 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2465s Nov 14 04:43:11 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 2465s Nov 14 04:43:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 2465s Nov 14 04:43:11 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2467s Nov 14 04:43:13 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2467s Nov 14 04:43:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 2467s Nov 14 04:43:13 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2467s Nov 14 04:43:13 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2467s Nov 14 04:43:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 2467s Nov 14 04:43:13 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2467s Nov 14 04:43:13 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2471s Nov 14 04:43:17 2471s Nov 14 04:43:17 Scenario: check the scheduled restart # features/patroni_api.feature:49 2471s Nov 14 04:43:17 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2473s Nov 14 04:43:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2473s Nov 14 04:43:19 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2473s Nov 14 04:43:19 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2473s Nov 14 04:43:19 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 2473s Nov 14 04:43:19 Then I receive a response code 202 # features/steps/patroni_api.py:98 2473s Nov 14 04:43:19 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2481s Nov 14 04:43:27 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2481s Nov 14 04:43:27 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 2481s Nov 14 04:43:27 Then I receive a response code 202 # features/steps/patroni_api.py:98 2481s Nov 14 04:43:27 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 2488s Nov 14 04:43:34 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2489s Nov 14 04:43:35 2489s Nov 14 04:43:35 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2489s Nov 14 04:43:35 Given I start postgres1 # features/steps/basic_replication.py:8 2494s Nov 14 04:43:40 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2495s Nov 14 04:43:41 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2497s Nov 14 04:43:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2497s Nov 14 04:43:43 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2497s Nov 14 04:43:43 waiting for server to shut down.... done 2497s Nov 14 04:43:43 server stopped 2497s Nov 14 04:43:43 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2497s Nov 14 04:43:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 2497s Nov 14 04:43:43 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2498s Nov 14 04:43:44 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2501s Nov 14 04:43:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2501s Nov 14 04:43:47 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2502s Nov 14 04:43:48 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2504s Nov 14 04:43:50 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2504s Nov 14 04:43:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 2504s Nov 14 04:43:50 And I receive a response state running # features/steps/patroni_api.py:98 2504s Nov 14 04:43:50 And I receive a response role replica # features/steps/patroni_api.py:98 2504s Nov 14 04:43:50 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2509s Nov 14 04:43:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2509s Nov 14 04:43:55 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2509s Nov 14 04:43:55 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2510s Nov 14 04:43:56 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2510s Nov 14 04:43:56 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2512s Nov 14 04:43:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2512s Nov 14 04:43:58 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2512s Nov 14 04:43:58 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2513s Nov 14 04:43:59 2513s Nov 14 04:43:59 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2513s Nov 14 04:43:59 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 2515s Nov 14 04:44:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2515s Nov 14 04:44:01 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2515s Nov 14 04:44:01 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2515s Nov 14 04:44:01 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2521s Nov 14 04:44:07 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2521s Nov 14 04:44:07 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2522s Nov 14 04:44:08 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2523s Nov 14 04:44:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 2523s Nov 14 04:44:08 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2523s Nov 14 04:44:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2523s Nov 14 04:44:09 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2523s Nov 14 04:44:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2523s Nov 14 04:44:09 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2523s Nov 14 04:44:09 Then I receive a response code 503 # features/steps/patroni_api.py:98 2523s Nov 14 04:44:09 2523s Nov 14 04:44:09 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2523s Nov 14 04:44:09 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2524s Nov 14 04:44:10 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2524s Nov 14 04:44:10 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2524s Nov 14 04:44:10 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2526s Nov 14 04:44:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2526s Nov 14 04:44:12 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2527s Nov 14 04:44:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2527s Nov 14 04:44:13 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2537s Nov 14 04:44:23 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2538s Nov 14 04:44:24 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2540s Nov 14 04:44:26 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2540s Nov 14 04:44:26 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2541s Nov 14 04:44:27 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2541s Nov 14 04:44:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2541s Nov 14 04:44:27 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2542s Nov 14 04:44:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 2542s Nov 14 04:44:27 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2542s Nov 14 04:44:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 2542s Nov 14 04:44:28 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2542s Nov 14 04:44:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2546s Nov 14 04:44:32 2546s Nov 14 04:44:32 Feature: permanent slots # features/permanent_slots.feature:1 2546s Nov 14 04:44:32 2546s Nov 14 04:44:32 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2546s Nov 14 04:44:32 Given I start postgres0 # features/steps/basic_replication.py:8 2551s Nov 14 04:44:37 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2551s Nov 14 04:44:37 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2551s Nov 14 04:44:37 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 2551s Nov 14 04:44:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2551s Nov 14 04:44:37 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2551s Nov 14 04:44:37 When I start postgres1 # features/steps/basic_replication.py:8 2556s Nov 14 04:44:42 And I start postgres2 # features/steps/basic_replication.py:8 2561s Nov 14 04:44:47 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2566s Nov 14 04:44:52 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2566s Nov 14 04:44:52 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2566s Nov 14 04:44:52 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2566s Nov 14 04:44:52 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2566s Nov 14 04:44:52 2566s Nov 14 04:44:52 @slot-advance 2566s Nov 14 04:44:52 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2566s Nov 14 04:44:52 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2568s Nov 14 04:44:54 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 2568s Nov 14 04:44:54 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2569s Nov 14 04:44:55 2569s Nov 14 04:44:55 @slot-advance 2569s Nov 14 04:44:55 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2569s Nov 14 04:44:55 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2574s Nov 14 04:45:00 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2574s Nov 14 04:45:00 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2575s Nov 14 04:45:01 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2576s Nov 14 04:45:02 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2576s Nov 14 04:45:02 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2576s Nov 14 04:45:02 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2576s Nov 14 04:45:02 2576s Nov 14 04:45:02 @slot-advance 2576s Nov 14 04:45:02 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2576s Nov 14 04:45:02 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2576s Nov 14 04:45:02 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2576s Nov 14 04:45:02 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2576s Nov 14 04:45:02 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2576s Nov 14 04:45:02 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2576s Nov 14 04:45:02 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2576s Nov 14 04:45:02 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2577s Nov 14 04:45:02 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2577s Nov 14 04:45:02 2577s Nov 14 04:45:02 @slot-advance 2577s Nov 14 04:45:02 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2577s Nov 14 04:45:02 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2577s Nov 14 04:45:02 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2577s Nov 14 04:45:02 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2577s Nov 14 04:45:02 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2581s Nov 14 04:45:07 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2581s Nov 14 04:45:07 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2581s Nov 14 04:45:07 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2581s Nov 14 04:45:07 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2581s Nov 14 04:45:07 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2581s Nov 14 04:45:07 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2581s Nov 14 04:45:07 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2581s Nov 14 04:45:07 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2581s Nov 14 04:45:07 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2581s Nov 14 04:45:07 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2581s Nov 14 04:45:07 2581s Nov 14 04:45:07 @slot-advance 2581s Nov 14 04:45:07 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2581s Nov 14 04:45:07 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2581s Nov 14 04:45:07 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2581s Nov 14 04:45:07 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2581s Nov 14 04:45:07 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2581s Nov 14 04:45:07 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2581s Nov 14 04:45:07 2581s Nov 14 04:45:07 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2581s Nov 14 04:45:07 Given I shut down postgres3 # features/steps/basic_replication.py:29 2582s Nov 14 04:45:08 And I shut down postgres2 # features/steps/basic_replication.py:29 2583s Nov 14 04:45:09 And I shut down postgres0 # features/steps/basic_replication.py:29 2585s Nov 14 04:45:11 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2585s Nov 14 04:45:11 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2585s Nov 14 04:45:11 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2587s Nov 14 04:45:13 2587s Nov 14 04:45:13 Feature: priority replication # features/priority_failover.feature:1 2587s Nov 14 04:45:13 We should check that we can give nodes priority during failover 2587s Nov 14 04:45:13 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2587s Nov 14 04:45:13 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2591s Nov 14 04:45:17 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2595s Nov 14 04:45:21 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2596s Nov 14 04:45:22 When I shut down postgres0 # features/steps/basic_replication.py:29 2598s Nov 14 04:45:24 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 2600s Nov 14 04:45:26 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2600s Nov 14 04:45:26 When I start postgres0 # features/steps/basic_replication.py:8 2603s Nov 14 04:45:29 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2604s Nov 14 04:45:30 2604s Nov 14 04:45:30 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2604s Nov 14 04:45:30 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2609s Nov 14 04:45:35 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2613s Nov 14 04:45:39 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2614s Nov 14 04:45:40 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2615s Nov 14 04:45:41 When I shut down postgres0 # features/steps/basic_replication.py:29 2617s Nov 14 04:45:43 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2618s Nov 14 04:45: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 2618s Nov 14 04:45:44 2618s Nov 14 04:45:44 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2618s Nov 14 04:45:44 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2618s Nov 14 04:45:44 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2618s Nov 14 04:45:44 Then I receive a response code 202 # features/steps/patroni_api.py:98 2618s Nov 14 04:45: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 2619s Nov 14 04:45:45 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2620s Nov 14 04:45:46 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2620s Nov 14 04:45:46 Then I receive a response code 412 # features/steps/patroni_api.py:98 2620s Nov 14 04:45:46 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2620s Nov 14 04:45:46 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2620s Nov 14 04:45:46 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2621s Nov 14 04:45:46 Then I receive a response code 202 # features/steps/patroni_api.py:98 2621s Nov 14 04:45:46 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 2622s Nov 14 04:45:47 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2623s Nov 14 04:45:48 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2626s Nov 14 04:45:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2626s Nov 14 04:45:52 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2631s Nov 14 04:45:57 2631s Nov 14 04:45:57 Feature: recovery # features/recovery.feature:1 2631s Nov 14 04:45:57 We want to check that crashed postgres is started back 2631s Nov 14 04:45:57 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2631s Nov 14 04:45:57 Given I start postgres0 # features/steps/basic_replication.py:8 2636s Nov 14 04:46:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2636s Nov 14 04:46:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2636s Nov 14 04:46:02 When I start postgres1 # features/steps/basic_replication.py:8 2642s Nov 14 04:46:08 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2642s Nov 14 04:46:08 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2643s Nov 14 04:46:09 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2643s Nov 14 04:46:09 waiting for server to shut down.... done 2643s Nov 14 04:46:09 server stopped 2643s Nov 14 04:46:09 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2645s Nov 14 04:46:11 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2645s Nov 14 04:46:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 2645s Nov 14 04:46:11 And I receive a response role master # features/steps/patroni_api.py:98 2645s Nov 14 04:46:11 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2645s Nov 14 04:46:11 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2645s Nov 14 04:46:11 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2649s Nov 14 04:46:15 2649s Nov 14 04:46:15 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2649s Nov 14 04:46:15 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 2649s Nov 14 04:46:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2649s Nov 14 04:46:15 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2649s Nov 14 04:46:15 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2649s Nov 14 04:46:15 waiting for server to shut down.... done 2649s Nov 14 04:46:15 server stopped 2649s Nov 14 04:46:15 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2651s Nov 14 04:46:17 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2655s Nov 14 04:46:21 2655s Nov 14 04:46:21 Feature: standby cluster # features/standby_cluster.feature:1 2655s Nov 14 04:46:21 2655s Nov 14 04:46:21 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2655s Nov 14 04:46:21 Given I start postgres1 # features/steps/basic_replication.py:8 2659s Nov 14 04:46:25 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2660s Nov 14 04:46:26 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2660s Nov 14 04:46:26 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 2660s Nov 14 04:46:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 2660s Nov 14 04:46:26 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2660s Nov 14 04:46:26 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2663s Nov 14 04:46:29 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 2664s Nov 14 04:46:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 2664s Nov 14 04:46:30 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2665s Nov 14 04:46:31 When I start postgres0 # features/steps/basic_replication.py:8 2669s Nov 14 04:46:35 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2670s Nov 14 04:46:36 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2670s Nov 14 04:46:36 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2670s Nov 14 04:46:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 2670s Nov 14 04:46:36 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2670s Nov 14 04:46:36 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2670s Nov 14 04:46:36 2670s Nov 14 04:46:36 @slot-advance 2670s Nov 14 04:46:36 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2670s Nov 14 04:46:36 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2672s Nov 14 04:46:38 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2679s Nov 14 04:46:45 2679s Nov 14 04:46:45 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2679s Nov 14 04:46:45 When I shut down postgres1 # features/steps/basic_replication.py:29 2681s Nov 14 04:46:47 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2681s Nov 14 04:46:47 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2682s Nov 14 04:46:48 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2683s Nov 14 04:46:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 2683s Nov 14 04:46:48 2683s Nov 14 04:46:48 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2683s Nov 14 04:46:48 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2686s Nov 14 04:46:52 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2686s Nov 14 04:46:52 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2686s Nov 14 04:46:52 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2686s Nov 14 04:46:52 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2686s Nov 14 04:46:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2686s Nov 14 04:46:52 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2686s Nov 14 04:46:52 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2689s Nov 14 04:46:55 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2689s Nov 14 04:46:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 2689s Nov 14 04:46:55 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2689s Nov 14 04:46:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 2689s Nov 14 04:46:55 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2689s Nov 14 04:46:55 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2689s Nov 14 04:46:55 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2693s Nov 14 04:46:59 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2693s Nov 14 04:46:59 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2694s Nov 14 04:47:00 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2694s Nov 14 04:47:00 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2694s Nov 14 04:47:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2694s Nov 14 04:47:00 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2694s Nov 14 04:47:00 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2694s Nov 14 04:47:00 2694s Nov 14 04:47:00 Scenario: check switchover # features/standby_cluster.feature:57 2694s Nov 14 04:47:00 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2698s Nov 14 04:47:03 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2698s Nov 14 04:47:04 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2700s Nov 14 04:47:06 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 2700s Nov 14 04:47:06 2700s Nov 14 04:47:06 Scenario: check failover # features/standby_cluster.feature:63 2700s Nov 14 04:47:06 When I kill postgres2 # features/steps/basic_replication.py:34 2701s Nov 14 04:47:07 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2701s Nov 14 04:47:07 waiting for server to shut down.... done 2701s Nov 14 04:47:07 server stopped 2701s Nov 14 04:47:07 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2720s Nov 14 04:47:26 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2720s Nov 14 04:47:26 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2720s Nov 14 04:47:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 2720s Nov 14 04:47:26 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2720s Nov 14 04:47:26 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2721s Nov 14 04:47:27 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2725s Nov 14 04:47:31 2725s Nov 14 04:47:31 Feature: watchdog # features/watchdog.feature:1 2725s Nov 14 04:47:31 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2725s Nov 14 04:47:31 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2725s Nov 14 04:47:31 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2729s Nov 14 04:47:35 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2729s Nov 14 04:47:35 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2729s Nov 14 04:47:35 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2730s Nov 14 04:47:36 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2730s Nov 14 04:47:36 2730s Nov 14 04:47:36 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2730s Nov 14 04:47:36 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2732s Nov 14 04:47:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2732s Nov 14 04:47:38 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2732s Nov 14 04:47:38 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2736s Nov 14 04:47:42 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2736s Nov 14 04:47:42 2736s Nov 14 04:47:42 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2736s Nov 14 04:47:42 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2737s Nov 14 04:47:43 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2737s Nov 14 04:47:43 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2739s Nov 14 04:47:45 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2739s Nov 14 04:47:45 2739s Nov 14 04:47:45 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2739s Nov 14 04:47:45 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2739s Nov 14 04:47:45 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2741s Nov 14 04:47:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2741s Nov 14 04:47:47 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2741s Nov 14 04:47:47 2741s Nov 14 04:47:47 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2741s Nov 14 04:47:47 Given I shut down postgres0 # features/steps/basic_replication.py:29 2743s Nov 14 04:47:49 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2743s Nov 14 04:47:49 2743s Nov 14 04:47:49 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2743s Nov 14 04:47:49 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2743s Nov 14 04:47:49 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2746s Nov 14 04:47:52 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2747s Nov 14 04:47:53 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2747s Nov 14 04:47:53 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2774s Nov 14 04:48:20 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.5710.XIGaxcYx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.5774.XlirOxrx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.5831.XigRbeAx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.5883.XGvBDDHx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.5931.XLkQenNx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6009.XManHDKx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6059.XaffyFvx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6064.XbHAyUqx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6154.XMINLHQx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6252.XDfkAaUx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6270.XDiZnOsx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6314.XfcYGwlx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6364.XyHinaQx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6485.XpfnDyvx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6532.XhrsDVqx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6589.XPMvZFsx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6690.XNpuZrrx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6746.XzvmyEix 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6810.XKqSriNx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.6904.XxxlpeUx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7008.XzILfvrx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7053.XGdVIaMx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7117.XelEVdhx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7154.XQNTYSRx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7338.XxCpFXdx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7388.XaubNYCx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7408.XAefHBpx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7448.XRtUhdjx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7501.XeEpkaVx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7508.XsxshUvx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7545.XOCkZVJx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7589.XPihOGpx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7755.Xzlbmgix 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7759.XgXllnox 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7767.XJgWakBx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7910.XrtiGmGx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.7957.XYPzxzCx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8006.XMVdPFqx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8052.XCBvBuZx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8091.XCphtDLx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8292.XsCPQFJx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8337.XDtjElgx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8412.XdYfGTZx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8490.XfJLcPMx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8562.XIivRhjx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8905.XJClKQux 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.8949.XiyHODux 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.9093.XIcQkBvx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.9159.XtlNMdKx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.9211.XJfDupTx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.9315.XMjKuiQx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.9442.XwjJxJyx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.9578.XCkRtkcx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.9626.XjfbudIx 2775s Nov 14 04:48:21 Skipping duplicate data .coverage.autopkgtest-lxd-nuxcar.9633.XcrsCPbx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.9638.XsmYtcKx 2775s Nov 14 04:48:21 Combined data file .coverage.autopkgtest-lxd-nuxcar.9654.XzomQOxx 2777s Nov 14 04:48:23 Name Stmts Miss Cover 2777s Nov 14 04:48:23 -------------------------------------------------------------------------------------------------------- 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 175 64% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/retry.py 60 4 93% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/api.py 770 289 62% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 91 86% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 288 67 77% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/ha.py 1244 372 70% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 37 89% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/six.py 504 249 51% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2777s Nov 14 04:48:23 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2777s Nov 14 04:48:23 patroni/__init__.py 13 2 85% 2777s Nov 14 04:48:23 patroni/__main__.py 199 199 0% 2777s Nov 14 04:48:23 patroni/api.py 770 770 0% 2777s Nov 14 04:48:23 patroni/async_executor.py 96 69 28% 2777s Nov 14 04:48:23 patroni/collections.py 56 15 73% 2777s Nov 14 04:48:23 patroni/config.py 371 194 48% 2777s Nov 14 04:48:23 patroni/config_generator.py 212 212 0% 2777s Nov 14 04:48:23 patroni/ctl.py 936 411 56% 2777s Nov 14 04:48:23 patroni/daemon.py 76 76 0% 2777s Nov 14 04:48:23 patroni/dcs/__init__.py 646 269 58% 2777s Nov 14 04:48:23 patroni/dcs/consul.py 485 485 0% 2777s Nov 14 04:48:23 patroni/dcs/etcd3.py 679 679 0% 2777s Nov 14 04:48:23 patroni/dcs/etcd.py 603 603 0% 2777s Nov 14 04:48:23 patroni/dcs/exhibitor.py 61 61 0% 2777s Nov 14 04:48:23 patroni/dcs/kubernetes.py 938 938 0% 2777s Nov 14 04:48:23 patroni/dcs/raft.py 319 319 0% 2777s Nov 14 04:48:23 patroni/dcs/zookeeper.py 288 149 48% 2777s Nov 14 04:48:23 patroni/dynamic_loader.py 35 7 80% 2777s Nov 14 04:48:23 patroni/exceptions.py 16 1 94% 2777s Nov 14 04:48:23 patroni/file_perm.py 43 15 65% 2777s Nov 14 04:48:23 patroni/global_config.py 81 18 78% 2777s Nov 14 04:48:23 patroni/ha.py 1244 1244 0% 2777s Nov 14 04:48:23 patroni/log.py 219 173 21% 2777s Nov 14 04:48:23 patroni/postgresql/__init__.py 821 651 21% 2777s Nov 14 04:48:23 patroni/postgresql/available_parameters/__init__.py 21 3 86% 2777s Nov 14 04:48:23 patroni/postgresql/bootstrap.py 252 222 12% 2777s Nov 14 04:48:23 patroni/postgresql/callback_executor.py 55 34 38% 2777s Nov 14 04:48:23 patroni/postgresql/cancellable.py 104 84 19% 2777s Nov 14 04:48:23 patroni/postgresql/config.py 813 698 14% 2777s Nov 14 04:48:23 patroni/postgresql/connection.py 75 50 33% 2777s Nov 14 04:48:23 patroni/postgresql/misc.py 41 29 29% 2777s Nov 14 04:48:23 patroni/postgresql/mpp/__init__.py 89 21 76% 2777s Nov 14 04:48:23 patroni/postgresql/mpp/citus.py 259 259 0% 2777s Nov 14 04:48:23 patroni/postgresql/postmaster.py 170 139 18% 2777s Nov 14 04:48:23 patroni/postgresql/rewind.py 416 416 0% 2777s Nov 14 04:48:23 patroni/postgresql/slots.py 334 285 15% 2777s Nov 14 04:48:23 patroni/postgresql/sync.py 130 96 26% 2777s Nov 14 04:48:23 patroni/postgresql/validator.py 157 52 67% 2777s Nov 14 04:48:23 patroni/psycopg.py 42 28 33% 2777s Nov 14 04:48:23 patroni/raft_controller.py 22 22 0% 2777s Nov 14 04:48:23 patroni/request.py 62 6 90% 2777s Nov 14 04:48:23 patroni/scripts/__init__.py 0 0 100% 2777s Nov 14 04:48:23 patroni/scripts/aws.py 59 59 0% 2777s Nov 14 04:48:23 patroni/scripts/barman/__init__.py 0 0 100% 2777s Nov 14 04:48:23 patroni/scripts/barman/cli.py 51 51 0% 2777s Nov 14 04:48:23 patroni/scripts/barman/config_switch.py 51 51 0% 2777s Nov 14 04:48:23 patroni/scripts/barman/recover.py 37 37 0% 2777s Nov 14 04:48:23 patroni/scripts/barman/utils.py 94 94 0% 2777s Nov 14 04:48:23 patroni/scripts/wale_restore.py 207 207 0% 2777s Nov 14 04:48:23 patroni/tags.py 38 11 71% 2777s Nov 14 04:48:23 patroni/utils.py 350 227 35% 2777s Nov 14 04:48:23 patroni/validator.py 301 215 29% 2777s Nov 14 04:48:23 patroni/version.py 1 0 100% 2777s Nov 14 04:48:23 patroni/watchdog/__init__.py 2 2 0% 2777s Nov 14 04:48:23 patroni/watchdog/base.py 203 203 0% 2777s Nov 14 04:48:23 patroni/watchdog/linux.py 135 135 0% 2777s Nov 14 04:48:23 -------------------------------------------------------------------------------------------------------- 2777s Nov 14 04:48:23 TOTAL 39824 23860 40% 2777s Nov 14 04:48:23 11 features passed, 0 failed, 1 skipped 2777s Nov 14 04:48:23 44 scenarios passed, 0 failed, 5 skipped 2777s Nov 14 04:48:23 444 steps passed, 0 failed, 61 skipped, 0 undefined 2777s Nov 14 04:48:23 Took 8m1.739s 2777s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2777s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2777s + rm -f '/tmp/pgpass?' 2777s ++ id -u 2777s + '[' 0 -eq 0 ']' 2777s + '[' -x /etc/init.d/zookeeper ']' 2777s + /etc/init.d/zookeeper stop 2777s Stopping zookeeper (via systemctl): zookeeper.service. 2777s autopkgtest [04:48:23]: test acceptance-zookeeper: -----------------------] 2782s acceptance-zookeeper PASS 2782s autopkgtest [04:48:28]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2785s autopkgtest [04:48:31]: test acceptance-raft: preparing testbed 2839s autopkgtest [04:49:25]: testbed dpkg architecture: armhf 2841s autopkgtest [04:49:27]: testbed apt version: 2.9.8 2841s autopkgtest [04:49:27]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2849s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2850s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [98.6 kB] 2850s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [987 kB] 2850s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2850s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 2850s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [103 kB] 2850s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [684 kB] 2850s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [5040 B] 2850s Fetched 1973 kB in 1s (2168 kB/s) 2850s Reading package lists... 2866s tee: /proc/self/fd/2: Permission denied 2887s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2887s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2887s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2887s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2888s Reading package lists... 2888s Reading package lists... 2889s Building dependency tree... 2889s Reading state information... 2889s Calculating upgrade... 2890s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2890s Reading package lists... 2890s Building dependency tree... 2890s Reading state information... 2891s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2893s autopkgtest [04:50:19]: rebooting testbed after setup commands that affected boot 2998s Reading package lists... 2998s Building dependency tree... 2998s Reading state information... 2998s Starting pkgProblemResolver with broken count: 0 2998s Starting 2 pkgProblemResolver with broken count: 0 2998s Done 2999s The following additional packages will be installed: 2999s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2999s libjs-sphinxdoc libjs-underscore libjson-perl libllvm19 libpq5 2999s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2999s patroni-doc postgresql postgresql-16 postgresql-client-16 2999s postgresql-client-common postgresql-common python3-behave python3-cdiff 2999s python3-click python3-colorama python3-coverage python3-dateutil 2999s python3-parse python3-parse-type python3-prettytable python3-psutil 2999s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2999s sphinx-rtd-theme-common ssl-cert 2999s Suggested packages: 2999s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 2999s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 2999s Recommended packages: 2999s javascript-common libjson-xs-perl 2999s The following NEW packages will be installed: 2999s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 2999s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 2999s libllvm19 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 2999s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 2999s postgresql-client-common postgresql-common python3-behave python3-cdiff 2999s python3-click python3-colorama python3-coverage python3-dateutil 2999s python3-parse python3-parse-type python3-prettytable python3-psutil 2999s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2999s sphinx-rtd-theme-common ssl-cert 2999s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 2999s Need to get 50.7 MB/50.7 MB of archives. 2999s After this operation, 192 MB of additional disk space will be used. 2999s Get:1 /tmp/autopkgtest.hz6KX2/5-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [752 B] 2999s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 3000s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 3000s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-common all 262 [36.7 kB] 3000s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf ssl-cert all 1.1.2ubuntu2 [18.0 kB] 3000s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-common all 262 [162 kB] 3000s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3000s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf libio-pty-perl armhf 1:1.20-1build3 [31.0 kB] 3000s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run-perl all 20231003.0-2 [91.5 kB] 3000s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3000s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3000s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 3000s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.2-1ubuntu1 [27.8 MB] 3001s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 3001s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 3001s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 3001s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libxslt1.1 armhf 1.1.39-0exp1ubuntu1 [150 kB] 3001s Get:18 http://ftpmaster.internal/ubuntu plucky/universe armhf moreutils armhf 0.69-1 [53.5 kB] 3001s Get:19 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 3001s Get:20 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 3001s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 3001s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 3001s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 3001s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 3001s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 3001s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 3001s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 3001s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 3001s Get:29 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.12-1 [38.9 kB] 3001s Get:30 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 3001s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 3001s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 3001s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-client-16 armhf 16.4-3 [1236 kB] 3001s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql-16 armhf 16.4-3 [14.2 MB] 3002s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf postgresql all 16+262 [11.8 kB] 3002s Get:36 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse all 1.20.2-1 [27.0 kB] 3002s Get:37 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-parse-type all 0.6.4-1 [23.4 kB] 3002s Get:38 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-behave all 1.2.6-6 [98.6 kB] 3002s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 3003s Preconfiguring packages ... 3003s Fetched 50.7 MB in 3s (15.9 MB/s) 3003s Selecting previously unselected package fonts-lato. 3003s (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 ... 59560 files and directories currently installed.) 3003s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3003s Unpacking fonts-lato (2.015-1) ... 3003s Selecting previously unselected package libjson-perl. 3003s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 3003s Unpacking libjson-perl (4.10000-1) ... 3003s Selecting previously unselected package postgresql-client-common. 3003s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 3003s Unpacking postgresql-client-common (262) ... 3003s Selecting previously unselected package ssl-cert. 3003s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 3003s Unpacking ssl-cert (1.1.2ubuntu2) ... 3003s Selecting previously unselected package postgresql-common. 3003s Preparing to unpack .../04-postgresql-common_262_all.deb ... 3003s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 3003s Unpacking postgresql-common (262) ... 3003s Selecting previously unselected package fonts-font-awesome. 3003s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3003s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3003s Selecting previously unselected package libio-pty-perl. 3003s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1build3_armhf.deb ... 3003s Unpacking libio-pty-perl (1:1.20-1build3) ... 3003s Selecting previously unselected package libipc-run-perl. 3003s Preparing to unpack .../07-libipc-run-perl_20231003.0-2_all.deb ... 3003s Unpacking libipc-run-perl (20231003.0-2) ... 3003s Selecting previously unselected package libjs-jquery. 3003s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3003s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3003s Selecting previously unselected package libjs-underscore. 3003s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3003s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3003s Selecting previously unselected package libjs-sphinxdoc. 3003s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 3003s Unpacking libjs-sphinxdoc (7.4.7-4) ... 3003s Selecting previously unselected package libllvm19:armhf. 3003s Preparing to unpack .../11-libllvm19_1%3a19.1.2-1ubuntu1_armhf.deb ... 3003s Unpacking libllvm19:armhf (1:19.1.2-1ubuntu1) ... 3004s Selecting previously unselected package libpq5:armhf. 3004s Preparing to unpack .../12-libpq5_17.0-1_armhf.deb ... 3004s Unpacking libpq5:armhf (17.0-1) ... 3004s Selecting previously unselected package libtime-duration-perl. 3004s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 3004s Unpacking libtime-duration-perl (1.21-2) ... 3004s Selecting previously unselected package libtimedate-perl. 3004s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 3004s Unpacking libtimedate-perl (2.3300-2) ... 3004s Selecting previously unselected package libxslt1.1:armhf. 3004s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_armhf.deb ... 3004s Unpacking libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 3004s Selecting previously unselected package moreutils. 3004s Preparing to unpack .../16-moreutils_0.69-1_armhf.deb ... 3004s Unpacking moreutils (0.69-1) ... 3004s Selecting previously unselected package python3-ydiff. 3004s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 3004s Unpacking python3-ydiff (1.3-1) ... 3004s Selecting previously unselected package python3-cdiff. 3004s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 3004s Unpacking python3-cdiff (1.3-1) ... 3004s Selecting previously unselected package python3-colorama. 3004s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 3004s Unpacking python3-colorama (0.4.6-4) ... 3004s Selecting previously unselected package python3-click. 3004s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 3004s Unpacking python3-click (8.1.7-2) ... 3004s Selecting previously unselected package python3-six. 3004s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 3004s Unpacking python3-six (1.16.0-7) ... 3004s Selecting previously unselected package python3-dateutil. 3005s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 3005s Unpacking python3-dateutil (2.9.0-2) ... 3005s Selecting previously unselected package python3-wcwidth. 3005s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 3005s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 3005s Selecting previously unselected package python3-prettytable. 3005s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 3005s Unpacking python3-prettytable (3.10.1-1) ... 3005s Selecting previously unselected package python3-psutil. 3005s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_armhf.deb ... 3005s Unpacking python3-psutil (5.9.8-2build2) ... 3005s Selecting previously unselected package python3-psycopg2. 3005s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_armhf.deb ... 3005s Unpacking python3-psycopg2 (2.9.9-2) ... 3005s Selecting previously unselected package python3-pysyncobj. 3005s Preparing to unpack .../27-python3-pysyncobj_0.3.12-1_all.deb ... 3005s Unpacking python3-pysyncobj (0.3.12-1) ... 3005s Selecting previously unselected package patroni. 3005s Preparing to unpack .../28-patroni_3.3.1-1_all.deb ... 3005s Unpacking patroni (3.3.1-1) ... 3005s Selecting previously unselected package sphinx-rtd-theme-common. 3005s Preparing to unpack .../29-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 3005s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3005s Selecting previously unselected package patroni-doc. 3005s Preparing to unpack .../30-patroni-doc_3.3.1-1_all.deb ... 3005s Unpacking patroni-doc (3.3.1-1) ... 3005s Selecting previously unselected package postgresql-client-16. 3005s Preparing to unpack .../31-postgresql-client-16_16.4-3_armhf.deb ... 3005s Unpacking postgresql-client-16 (16.4-3) ... 3005s Selecting previously unselected package postgresql-16. 3005s Preparing to unpack .../32-postgresql-16_16.4-3_armhf.deb ... 3005s Unpacking postgresql-16 (16.4-3) ... 3005s Selecting previously unselected package postgresql. 3005s Preparing to unpack .../33-postgresql_16+262_all.deb ... 3005s Unpacking postgresql (16+262) ... 3005s Selecting previously unselected package python3-parse. 3005s Preparing to unpack .../34-python3-parse_1.20.2-1_all.deb ... 3005s Unpacking python3-parse (1.20.2-1) ... 3005s Selecting previously unselected package python3-parse-type. 3005s Preparing to unpack .../35-python3-parse-type_0.6.4-1_all.deb ... 3005s Unpacking python3-parse-type (0.6.4-1) ... 3005s Selecting previously unselected package python3-behave. 3005s Preparing to unpack .../36-python3-behave_1.2.6-6_all.deb ... 3005s Unpacking python3-behave (1.2.6-6) ... 3006s Selecting previously unselected package python3-coverage. 3006s Preparing to unpack .../37-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 3006s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3006s Selecting previously unselected package autopkgtest-satdep. 3006s Preparing to unpack .../38-5-autopkgtest-satdep.deb ... 3006s Unpacking autopkgtest-satdep (0) ... 3006s Setting up postgresql-client-common (262) ... 3006s Setting up libllvm19:armhf (1:19.1.2-1ubuntu1) ... 3006s Setting up fonts-lato (2.015-1) ... 3006s Setting up libio-pty-perl (1:1.20-1build3) ... 3006s Setting up python3-pysyncobj (0.3.12-1) ... 3006s Setting up python3-colorama (0.4.6-4) ... 3006s Setting up python3-ydiff (1.3-1) ... 3006s Setting up libpq5:armhf (17.0-1) ... 3006s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3006s Setting up python3-click (8.1.7-2) ... 3006s Setting up python3-psutil (5.9.8-2build2) ... 3007s Setting up python3-six (1.16.0-7) ... 3007s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 3007s Setting up ssl-cert (1.1.2ubuntu2) ... 3008s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 3008s Setting up python3-psycopg2 (2.9.9-2) ... 3008s Setting up libipc-run-perl (20231003.0-2) ... 3008s Setting up libtime-duration-perl (1.21-2) ... 3008s Setting up libtimedate-perl (2.3300-2) ... 3008s Setting up python3-parse (1.20.2-1) ... 3008s Setting up libjson-perl (4.10000-1) ... 3008s Setting up libxslt1.1:armhf (1.1.39-0exp1ubuntu1) ... 3008s Setting up python3-dateutil (2.9.0-2) ... 3008s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3008s Setting up python3-prettytable (3.10.1-1) ... 3009s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3009s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3009s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3009s Setting up moreutils (0.69-1) ... 3009s Setting up postgresql-client-16 (16.4-3) ... 3009s 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 3009s Setting up python3-cdiff (1.3-1) ... 3009s Setting up python3-parse-type (0.6.4-1) ... 3009s Setting up postgresql-common (262) ... 3010s 3010s Creating config file /etc/postgresql-common/createcluster.conf with new version 3010s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 3010s Removing obsolete dictionary files: 3011s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 3011s Setting up libjs-sphinxdoc (7.4.7-4) ... 3011s Setting up python3-behave (1.2.6-6) ... 3011s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 3011s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 3011s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 3011s """Registers a custom type that will be available to "parse" 3011s Setting up patroni (3.3.1-1) ... 3011s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3012s Setting up postgresql-16 (16.4-3) ... 3012s Creating new PostgreSQL cluster 16/main ... 3012s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 3012s The files belonging to this database system will be owned by user "postgres". 3012s This user must also own the server process. 3012s 3012s The database cluster will be initialized with locale "C.UTF-8". 3012s The default database encoding has accordingly been set to "UTF8". 3012s The default text search configuration will be set to "english". 3012s 3012s Data page checksums are disabled. 3012s 3012s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 3012s creating subdirectories ... ok 3012s selecting dynamic shared memory implementation ... posix 3012s selecting default max_connections ... 100 3012s selecting default shared_buffers ... 128MB 3012s selecting default time zone ... Etc/UTC 3012s creating configuration files ... ok 3012s running bootstrap script ... ok 3013s performing post-bootstrap initialization ... ok 3013s syncing data to disk ... ok 3016s Setting up patroni-doc (3.3.1-1) ... 3016s Setting up postgresql (16+262) ... 3016s Setting up autopkgtest-satdep (0) ... 3016s Processing triggers for man-db (2.12.1-3) ... 3018s Processing triggers for libc-bin (2.40-1ubuntu3) ... 3033s (Reading database ... 62585 files and directories currently installed.) 3033s Removing autopkgtest-satdep (0) ... 3046s autopkgtest [04:52:52]: test acceptance-raft: debian/tests/acceptance raft 3046s autopkgtest [04:52:52]: test acceptance-raft: [----------------------- 3048s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 3048s ++ ls -1r /usr/lib/postgresql/ 3048s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 3048s + '[' 16 == 10 -o 16 == 11 ']' 3048s + echo '### PostgreSQL 16 acceptance-raft ###' 3048s + 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' 3048s ### PostgreSQL 16 acceptance-raft ### 3054s Nov 14 04:53:00 Feature: basic replication # features/basic_replication.feature:1 3054s Nov 14 04:53:00 We should check that the basic bootstrapping, replication and failover works. 3054s Nov 14 04:53:00 Scenario: check replication of a single table # features/basic_replication.feature:4 3054s Nov 14 04:53:00 Given I start postgres0 # features/steps/basic_replication.py:8 3065s Nov 14 04:53:11 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3067s Nov 14 04:53:13 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3067s Nov 14 04:53:13 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 3067s Nov 14 04:53:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 3067s Nov 14 04:53:13 When I start postgres1 # features/steps/basic_replication.py:8 3072s Nov 14 04:53:18 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 3077s Nov 14 04:53:23 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 3077s Nov 14 04:53:23 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 3077s Nov 14 04:53:23 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3078s Nov 14 04:53:24 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3078s Nov 14 04:53:24 3078s Nov 14 04:53:24 Scenario: check restart of sync replica # features/basic_replication.feature:17 3078s Nov 14 04:53:24 Given I shut down postgres2 # features/steps/basic_replication.py:29 3079s Nov 14 04:53:25 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 3079s Nov 14 04:53:25 When I start postgres2 # features/steps/basic_replication.py:8 3082s Nov 14 04:53:28 And I shut down postgres1 # features/steps/basic_replication.py:29 3085s Nov 14 04:53:31 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3086s Nov 14 04:53:32 When I start postgres1 # features/steps/basic_replication.py:8 3089s Nov 14 04:53:35 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3090s Nov 14 04:53:36 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3091s Nov 14 04:53:36 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3091s Nov 14 04:53:37 3091s Nov 14 04:53:37 Scenario: check stuck sync replica # features/basic_replication.feature:28 3091s Nov 14 04:53:37 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 3091s Nov 14 04:53:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 3091s Nov 14 04:53:37 And I create table on postgres0 # features/steps/basic_replication.py:73 3091s Nov 14 04:53:37 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 3092s Nov 14 04:53:38 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 3092s Nov 14 04:53:38 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 3092s Nov 14 04:53:38 And I load data on postgres0 # features/steps/basic_replication.py:84 3092s Nov 14 04:53:38 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 3095s Nov 14 04:53:41 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 3095s Nov 14 04:53:41 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3095s Nov 14 04:53:41 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3095s Nov 14 04:53:41 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 3095s Nov 14 04:53:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 3095s Nov 14 04:53:41 And I drop table on postgres0 # features/steps/basic_replication.py:73 3095s Nov 14 04:53:41 3095s Nov 14 04:53:41 Scenario: check multi sync replication # features/basic_replication.feature:44 3095s Nov 14 04:53:41 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 3095s Nov 14 04:53:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 3095s Nov 14 04:53:41 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3099s Nov 14 04:53:45 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 14 04:53:45 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3100s Nov 14 04:53:46 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 3100s Nov 14 04:53:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 3100s Nov 14 04:53:46 And I shut down postgres1 # features/steps/basic_replication.py:29 3103s Nov 14 04:53:49 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3104s Nov 14 04:53:50 When I start postgres1 # features/steps/basic_replication.py:8 3108s Nov 14 04:53:54 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3108s Nov 14 04:53:54 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3108s Nov 14 04:53:54 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3108s Nov 14 04:53:54 3108s Nov 14 04:53:54 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 3108s Nov 14 04:53:54 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3110s Nov 14 04:53:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3110s Nov 14 04:53:56 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3112s Nov 14 04:53:58 And I shut down postgres0 # features/steps/basic_replication.py:29 3113s Nov 14 04:53:59 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3114s Nov 14 04:54:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3114s Nov 14 04:54:00 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 3132s Nov 14 04:54:18 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 3136s Nov 14 04:54:22 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 3136s Nov 14 04:54:22 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 3136s Nov 14 04:54:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 3136s Nov 14 04:54:22 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 3136s Nov 14 04:54:22 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3138s Nov 14 04:54:24 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3138s Nov 14 04:54:24 3138s Nov 14 04:54:24 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 3138s Nov 14 04:54:24 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 3138s Nov 14 04:54:24 And I start postgres0 # features/steps/basic_replication.py:8 3138s Nov 14 04:54:24 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 3142s Nov 14 04:54:28 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 3142s Nov 14 04:54:28 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 3146s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 3161s Nov 14 04:54:47 3161s Nov 14 04:54:47 @reject-duplicate-name 3161s Nov 14 04:54:47 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 3161s Nov 14 04:54:47 Given I start duplicate postgres0 on port 8011 # None 3161s Nov 14 04:54:47 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # None 3161s Nov 14 04:54:47 3161s Nov 14 04:54:47 Feature: cascading replication # features/cascading_replication.feature:1 3161s Nov 14 04:54:47 We should check that patroni can do base backup and streaming from the replica 3161s Nov 14 04:54:47 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 3161s Nov 14 04:54:47 Given I start postgres0 # features/steps/basic_replication.py:8 3165s Nov 14 04:54:51 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3166s Nov 14 04:54:52 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 3176s Nov 14 04:55:02 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3178s Nov 14 04:55:04 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 3178s Nov 14 04:55:04 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 3178s Nov 14 04:55:04 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3178s Nov 14 04:55:04 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 3182s Nov 14 04:55:08 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 3183s Nov 14 04:55:09 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 3198s Nov 14 04:55:24 3198s SKIP FEATURE citus: Citus extenstion isn't available 3198s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 3198s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 3198s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 3198s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 3198s 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 3198s Nov 14 04:55:24 Feature: citus # features/citus.feature:1 3198s Nov 14 04:55:24 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 3198s Nov 14 04:55:24 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 3198s Nov 14 04:55:24 Given I start postgres0 in citus group 0 # None 3198s Nov 14 04:55:24 And I start postgres2 in citus group 1 # None 3198s Nov 14 04:55:24 Then postgres0 is a leader in a group 0 after 10 seconds # None 3198s Nov 14 04:55:24 And postgres2 is a leader in a group 1 after 10 seconds # None 3198s Nov 14 04:55:24 When I start postgres1 in citus group 0 # None 3198s Nov 14 04:55:24 And I start postgres3 in citus group 1 # None 3198s Nov 14 04:55:24 Then replication works from postgres0 to postgres1 after 15 seconds # None 3198s Nov 14 04:55:24 Then replication works from postgres2 to postgres3 after 15 seconds # None 3198s Nov 14 04:55:24 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 3198s Nov 14 04:55:24 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3198s Nov 14 04:55:24 3198s Nov 14 04:55:24 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 3198s Nov 14 04:55:24 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 3198s Nov 14 04:55:24 Then postgres1 role is the primary after 10 seconds # None 3198s Nov 14 04:55:24 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 3198s Nov 14 04:55:24 And replication works from postgres1 to postgres0 after 15 seconds # None 3198s Nov 14 04:55:24 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3198s Nov 14 04:55:24 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 3198s Nov 14 04:55:24 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 3198s Nov 14 04:55:24 Then postgres0 role is the primary after 10 seconds # None 3198s Nov 14 04:55:24 And replication works from postgres0 to postgres1 after 15 seconds # None 3198s Nov 14 04:55:24 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3198s Nov 14 04:55:24 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 3198s Nov 14 04:55:24 3198s Nov 14 04:55:24 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 3198s Nov 14 04:55:24 Given I create a distributed table on postgres0 # None 3198s Nov 14 04:55:24 And I start a thread inserting data on postgres0 # None 3198s Nov 14 04:55:24 When I run patronictl.py switchover batman --group 1 --force # None 3198s Nov 14 04:55:24 Then I receive a response returncode 0 # None 3198s Nov 14 04:55:24 And postgres3 role is the primary after 10 seconds # None 3198s Nov 14 04:55:24 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 3198s Nov 14 04:55:24 And replication works from postgres3 to postgres2 after 15 seconds # None 3198s Nov 14 04:55:24 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3198s Nov 14 04:55:24 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 3198s Nov 14 04:55:24 And a thread is still alive # None 3198s Nov 14 04:55:24 When I run patronictl.py switchover batman --group 1 --force # None 3198s Nov 14 04:55:24 Then I receive a response returncode 0 # None 3198s Nov 14 04:55:24 And postgres2 role is the primary after 10 seconds # None 3198s Nov 14 04:55:24 And replication works from postgres2 to postgres3 after 15 seconds # None 3198s Nov 14 04:55:24 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3198s Nov 14 04:55:24 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 3198s Nov 14 04:55:24 And a thread is still alive # None 3198s Nov 14 04:55:24 When I stop a thread # None 3198s Nov 14 04:55:24 Then a distributed table on postgres0 has expected rows # None 3198s Nov 14 04:55:24 3198s Nov 14 04:55:24 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 3198s Nov 14 04:55:24 Given I cleanup a distributed table on postgres0 # None 3198s Nov 14 04:55:24 And I start a thread inserting data on postgres0 # None 3198s Nov 14 04:55:24 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3198s Nov 14 04:55:24 Then I receive a response returncode 0 # None 3198s Nov 14 04:55:24 And postgres2 role is the primary after 10 seconds # None 3198s Nov 14 04:55:24 And replication works from postgres2 to postgres3 after 15 seconds # None 3198s Nov 14 04:55:24 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3198s Nov 14 04:55:24 And a thread is still alive # None 3198s Nov 14 04:55:24 When I stop a thread # None 3198s Nov 14 04:55:24 Then a distributed table on postgres0 has expected rows # None 3205s Nov 14 04:55:30 3205s Nov 14 04:55:30 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 3205s Nov 14 04:55:30 Given I start postgres4 in citus group 2 # None 3205s Nov 14 04:55:30 Then postgres4 is a leader in a group 2 after 10 seconds # None 3205s Nov 14 04:55:30 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 3205s Nov 14 04:55:30 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 3205s Nov 14 04:55:30 Then I receive a response returncode 0 # None 3205s Nov 14 04:55:30 And I receive a response output "+ttl: 20" # None 3205s Nov 14 04:55:30 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 3205s Nov 14 04:55:30 When I shut down postgres4 # None 3205s Nov 14 04:55:30 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 3205s Nov 14 04:55:30 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3205s Nov 14 04:55:30 Then a transaction finishes in 20 seconds # None 3205s Nov 14 04:55:30 3205s Nov 14 04:55:30 Feature: custom bootstrap # features/custom_bootstrap.feature:1 3205s Nov 14 04:55:30 We should check that patroni can bootstrap a new cluster from a backup 3205s Nov 14 04:55:30 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 3205s Nov 14 04:55:30 Given I start postgres0 # features/steps/basic_replication.py:8 3210s Nov 14 04:55:36 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3210s Nov 14 04:55:36 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3210s Nov 14 04:55:36 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 3221s Nov 14 04:55:47 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3223s Nov 14 04:55:48 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 3223s Nov 14 04:55:48 3223s Nov 14 04:55:48 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 3223s Nov 14 04:55:48 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 3223s Nov 14 04:55:48 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3223s Nov 14 04:55:49 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 3229s Nov 14 04:55:55 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 3229s Nov 14 04:55:55 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 3247s Nov 14 04:56:13 3247s Nov 14 04:56:13 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 3247s Nov 14 04:56:13 We should check the basic dcs failsafe mode functioning 3247s Nov 14 04:56:13 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 3247s Nov 14 04:56:13 Given I start postgres0 # features/steps/basic_replication.py:8 3252s Nov 14 04:56:18 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3252s Nov 14 04:56:18 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 3252s Nov 14 04:56:18 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 3252s Nov 14 04:56:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 3252s Nov 14 04:56:18 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 3252s Nov 14 04:56:18 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 3252s Nov 14 04:56:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 3252s Nov 14 04:56:18 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 3252s Nov 14 04:56:18 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 3252s Nov 14 04:56:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 3252s Nov 14 04:56:18 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 3252s Nov 14 04:56:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 3252s Nov 14 04:56:18 3252s Nov 14 04:56:18 @dcs-failsafe 3252s Nov 14 04:56:18 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 3252s Nov 14 04:56:18 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3252s Nov 14 04:56: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 3256s Nov 14 04:56:22 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3256s Nov 14 04:56:22 3256s Nov 14 04:56:22 @dcs-failsafe 3256s Nov 14 04:56:22 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 3256s Nov 14 04:56:22 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 3256s Nov 14 04:56:22 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 3258s Nov 14 04:56:24 And I shut down postgres0 # features/steps/basic_replication.py:29 3260s Nov 14 04:56:26 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 3265s Nov 14 04:56:31 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 3265s Nov 14 04:56:31 3265s Nov 14 04:56:31 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 3265s Nov 14 04:56:31 Given I start postgres0 # features/steps/basic_replication.py:8 3268s Nov 14 04:56:34 And I start postgres1 # features/steps/basic_replication.py:8 3268s Nov 14 04:56:34 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3269s Nov 14 04:56:35 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 3269s Nov 14 04:56:35 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 3274s Nov 14 04:56:40 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 3274s Nov 14 04:56:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 3274s Nov 14 04:56:40 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 3274s Nov 14 04:56:40 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 3274s Nov 14 04:56:40 3274s Nov 14 04:56:40 @dcs-failsafe @slot-advance 3274s Nov 14 04:56:40 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 3274s Nov 14 04:56:40 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 3274s Nov 14 04:56:40 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3275s Nov 14 04:56:41 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3277s Nov 14 04:56:43 And DCS is down # features/steps/dcs_failsafe_mode.py:4 3277s Nov 14 04:56:43 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 3283s Nov 14 04:56:49 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3283s Nov 14 04:56:49 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 3283s Nov 14 04:56:49 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 3283s Nov 14 04:56:49 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 3283s Nov 14 04:56:49 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 3283s Nov 14 04:56:49 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 3290s Nov 14 04:56:56 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3290s Nov 14 04:56:56 3290s Nov 14 04:56:56 @dcs-failsafe 3290s Nov 14 04:56:56 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 3290s Nov 14 04:56:56 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3290s Nov 14 04:56:56 And I kill postgres1 # features/steps/basic_replication.py:34 3291s Nov 14 04:56:57 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 3291s Nov 14 04:56:57 waiting for server to shut down.... done 3291s Nov 14 04:56:57 server stopped 3291s Nov 14 04:56:57 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 3293s Nov 14 04:56:59 3293s Nov 14 04:56:59 @dcs-failsafe 3293s Nov 14 04:56:59 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 3293s Nov 14 04:56:59 Given I kill postgres0 # features/steps/basic_replication.py:34 3294s Nov 14 04:57:00 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 3294s Nov 14 04:57:00 waiting for server to shut down.... done 3294s Nov 14 04:57:00 server stopped 3294s Nov 14 04:57:00 And DCS is up # features/steps/dcs_failsafe_mode.py:9 3294s Nov 14 04:57:00 When I start postgres1 # features/steps/basic_replication.py:8 3297s Nov 14 04:57:03 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3298s Nov 14 04:57:04 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 3298s Nov 14 04:57:04 3298s Nov 14 04:57:04 @dcs-failsafe 3298s Nov 14 04:57:04 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 3298s Nov 14 04:57:04 Given I start postgres0 # features/steps/basic_replication.py:8 3302s Nov 14 04:57:08 And I start postgres2 # features/steps/basic_replication.py:8 3308s Nov 14 04:57:14 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3308s Nov 14 04:57:14 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 3308s Nov 14 04:57:14 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 3308s Nov 14 04:57:14 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 3309s Nov 14 04:57:15 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 3310s Nov 14 04:57:16 3310s Nov 14 04:57:16 @dcs-failsafe @slot-advance 3310s Nov 14 04:57:16 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 3310s Nov 14 04:57: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"}}} # features/steps/patroni_api.py:71 3310s Nov 14 04:57:16 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 3317s Nov 14 04:57:22 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 3318s Nov 14 04:57:24 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 3318s Nov 14 04:57:24 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 3319s Nov 14 04:57:25 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3319s Nov 14 04:57:25 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3319s Nov 14 04:57:25 3319s Nov 14 04:57:25 @dcs-failsafe 3319s Nov 14 04:57:25 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 3319s Nov 14 04:57:25 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3319s Nov 14 04:57:25 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 3324s Nov 14 04:57:30 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3324s Nov 14 04:57:30 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 3324s Nov 14 04:57:30 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 3324s Nov 14 04:57:30 3324s Nov 14 04:57:30 @dcs-failsafe @slot-advance 3324s Nov 14 04:57:30 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 3324s Nov 14 04:57:30 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 3324s Nov 14 04:57:30 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 3325s Nov 14 04:57:31 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 3325s Nov 14 04:57:31 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 3325s Nov 14 04:57:31 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 3331s Nov 14 04:57:37 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 3331s Nov 14 04:57:37 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 3331s Nov 14 04:57:37 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3331s Nov 14 04:57:37 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3344s Nov 14 04:57:50 3344s Nov 14 04:57:50 Feature: ignored slots # features/ignored_slots.feature:1 3344s Nov 14 04:57:50 3344s Nov 14 04:57:50 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 3344s Nov 14 04:57:50 Given I start postgres1 # features/steps/basic_replication.py:8 3355s Nov 14 04:58:01 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3356s Nov 14 04:58:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3356s Nov 14 04:58:02 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 3356s Nov 14 04:58:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 3356s Nov 14 04:58:02 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 3356s Nov 14 04:58:02 When I shut down postgres1 # features/steps/basic_replication.py:29 3358s Nov 14 04:58:04 And I start postgres1 # features/steps/basic_replication.py:8 3361s Nov 14 04:58:07 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3364s Nov 14 04:58:10 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3368s Nov 14 04:58:14 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 3368s Nov 14 04:58:14 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3368s Nov 14 04:58:14 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3368s Nov 14 04:58:14 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3368s Nov 14 04:58:14 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3368s Nov 14 04:58:14 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3368s Nov 14 04:58:14 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3368s Nov 14 04:58:14 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3368s Nov 14 04:58:14 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3368s Nov 14 04:58:14 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3368s Nov 14 04:58:14 When I start postgres0 # features/steps/basic_replication.py:8 3379s Nov 14 04:58:25 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3379s Nov 14 04:58:25 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 3379s Nov 14 04:58:25 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 3379s Nov 14 04:58:25 When I shut down postgres1 # features/steps/basic_replication.py:29 3381s Nov 14 04:58:27 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3382s Nov 14 04:58:28 When I start postgres1 # features/steps/basic_replication.py:8 3386s Nov 14 04:58:32 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 3386s Nov 14 04:58:32 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3386s Nov 14 04:58:32 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3388s Nov 14 04:58:34 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3388s Nov 14 04:58:34 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3388s Nov 14 04:58:34 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3388s Nov 14 04:58:34 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3388s Nov 14 04:58:34 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 3388s Nov 14 04:58:34 When I shut down postgres0 # features/steps/basic_replication.py:29 3390s Nov 14 04:58:36 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3391s Nov 14 04:58:37 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3391s Nov 14 04:58:37 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3391s Nov 14 04:58:37 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3391s Nov 14 04:58:37 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3400s Nov 14 04:58:46 3400s Nov 14 04:58:46 Feature: nostream node # features/nostream_node.feature:1 3400s Nov 14 04:58:46 3400s Nov 14 04:58:46 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 3400s Nov 14 04:58:46 When I start postgres0 # features/steps/basic_replication.py:8 3411s Nov 14 04:58:57 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 3416s Nov 14 04:59:02 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 3417s Nov 14 04:59:03 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 3421s Nov 14 04:59:07 3421s Nov 14 04:59:07 @slot-advance 3421s Nov 14 04:59:07 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 3421s Nov 14 04:59:07 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 3421s Nov 14 04:59:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 3421s Nov 14 04:59:07 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3426s Nov 14 04:59:11 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3426s Nov 14 04:59:12 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 3431s Nov 14 04:59:17 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3438s Nov 14 04:59:24 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3438s Nov 14 04:59:24 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 3453s Nov 14 04:59:39 3453s Nov 14 04:59:39 Feature: patroni api # features/patroni_api.feature:1 3453s Nov 14 04:59:39 We should check that patroni correctly responds to valid and not-valid API requests. 3453s Nov 14 04:59:39 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 3453s Nov 14 04:59:39 Given I start postgres0 # features/steps/basic_replication.py:8 3459s Nov 14 04:59:45 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3460s Nov 14 04:59:46 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3460s Nov 14 04:59:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 3460s Nov 14 04:59:46 And I receive a response state running # features/steps/patroni_api.py:98 3460s Nov 14 04:59:46 And I receive a response role master # features/steps/patroni_api.py:98 3460s Nov 14 04:59:46 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 3460s Nov 14 04:59:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 3460s Nov 14 04:59:46 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 3460s Nov 14 04:59:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 3460s Nov 14 04:59:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3461s Nov 14 04:59:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 3461s Nov 14 04:59:46 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 3461s Nov 14 04:59:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 3461s Nov 14 04:59:47 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 3461s Nov 14 04:59:47 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 3462s Nov 14 04:59:48 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 3462s Nov 14 04:59:48 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 3462s Nov 14 04:59:48 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 3462s Nov 14 04:59:48 Then I receive a response code 412 # features/steps/patroni_api.py:98 3462s Nov 14 04:59:48 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 3462s Nov 14 04:59:48 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 3462s Nov 14 04:59:48 Then I receive a response code 400 # features/steps/patroni_api.py:98 3462s Nov 14 04:59:48 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 3462s Nov 14 04:59:48 Then I receive a response code 400 # features/steps/patroni_api.py:98 3462s Nov 14 04:59:48 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 3462s Nov 14 04:59:48 3462s Nov 14 04:59:48 Scenario: check local configuration reload # features/patroni_api.feature:32 3462s Nov 14 04:59:48 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 3462s Nov 14 04:59:48 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 3463s Nov 14 04:59:49 Then I receive a response code 202 # features/steps/patroni_api.py:98 3463s Nov 14 04:59:49 3463s Nov 14 04:59:49 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 3463s Nov 14 04:59:49 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 3463s Nov 14 04:59:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 3463s Nov 14 04:59:49 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 3465s Nov 14 04:59:51 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 3465s Nov 14 04:59:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 3465s Nov 14 04:59:51 And I receive a response ttl 20 # features/steps/patroni_api.py:98 3465s Nov 14 04:59:51 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3465s Nov 14 04:59:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 3465s Nov 14 04:59:51 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 3465s Nov 14 04:59:51 And I sleep for 4 seconds # features/steps/patroni_api.py:39 3469s Nov 14 04:59:55 3469s Nov 14 04:59:55 Scenario: check the scheduled restart # features/patroni_api.feature:49 3469s Nov 14 04:59:55 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 3471s Nov 14 04:59:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3471s Nov 14 04:59:57 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 3471s Nov 14 04:59:57 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 3471s Nov 14 04:59:57 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 3471s Nov 14 04:59:57 Then I receive a response code 202 # features/steps/patroni_api.py:98 3471s Nov 14 04:59:57 And I sleep for 8 seconds # features/steps/patroni_api.py:39 3479s Nov 14 05:00:05 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 3479s Nov 14 05:00:05 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 3479s Nov 14 05:00:05 Then I receive a response code 202 # features/steps/patroni_api.py:98 3479s Nov 14 05:00:05 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 3486s Nov 14 05:00:12 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3487s Nov 14 05:00:13 3487s Nov 14 05:00:13 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 3487s Nov 14 05:00:13 Given I start postgres1 # features/steps/basic_replication.py:8 3493s Nov 14 05:00:19 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3494s Nov 14 05:00:20 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 3496s Nov 14 05:00:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3496s Nov 14 05:00:22 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 3496s Nov 14 05:00:22 waiting for server to shut down.... done 3496s Nov 14 05:00:22 server stopped 3496s Nov 14 05:00:22 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3496s Nov 14 05:00:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 3496s Nov 14 05:00:22 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 3497s Nov 14 05:00:23 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3503s Nov 14 05:00:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3503s Nov 14 05:00:29 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3504s Nov 14 05:00:30 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3506s Nov 14 05:00:32 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3506s Nov 14 05:00:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 3506s Nov 14 05:00:32 And I receive a response state running # features/steps/patroni_api.py:98 3506s Nov 14 05:00:32 And I receive a response role replica # features/steps/patroni_api.py:98 3506s Nov 14 05:00:32 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 3511s Nov 14 05:00:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3511s Nov 14 05:00:37 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 3511s Nov 14 05:00:37 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 3512s Nov 14 05:00:38 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3512s Nov 14 05:00:38 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3515s Nov 14 05:00:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3515s Nov 14 05:00:41 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 3515s Nov 14 05:00:41 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 3516s Nov 14 05:00:42 3516s Nov 14 05:00:42 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 3516s Nov 14 05:00:42 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 3518s Nov 14 05:00:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 3518s Nov 14 05:00:44 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 3518s Nov 14 05:00:44 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3519s Nov 14 05:00:45 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3524s Nov 14 05:00:50 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 3524s Nov 14 05:00:50 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3525s Nov 14 05:00:51 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3526s Nov 14 05:00:51 Then I receive a response code 503 # features/steps/patroni_api.py:98 3526s Nov 14 05:00:51 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3526s Nov 14 05:00:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 3526s Nov 14 05:00:52 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3526s Nov 14 05:00:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 3526s Nov 14 05:00:52 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3526s Nov 14 05:00:52 Then I receive a response code 503 # features/steps/patroni_api.py:98 3526s Nov 14 05:00:52 3526s Nov 14 05:00:52 Scenario: check the scheduled switchover # features/patroni_api.feature:107 3526s Nov 14 05:00:52 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3529s Nov 14 05:00:55 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 3529s Nov 14 05:00:55 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 3529s Nov 14 05:00:55 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 3532s Nov 14 05:00:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3532s Nov 14 05:00:58 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3534s Nov 14 05:01:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3534s Nov 14 05:01:00 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 3544s Nov 14 05:01:10 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3544s Nov 14 05:01:10 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3547s Nov 14 05:01:13 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 3547s Nov 14 05:01:13 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3548s Nov 14 05:01:14 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3548s Nov 14 05:01:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 3548s Nov 14 05:01:14 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3548s Nov 14 05:01:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 3548s Nov 14 05:01:14 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3548s Nov 14 05:01:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 3548s Nov 14 05:01:14 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3548s Nov 14 05:01:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 3559s Nov 14 05:01:25 3559s Nov 14 05:01:25 Feature: permanent slots # features/permanent_slots.feature:1 3559s Nov 14 05:01:25 3559s Nov 14 05:01:25 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 3559s Nov 14 05:01:25 Given I start postgres0 # features/steps/basic_replication.py:8 3570s Nov 14 05:01:36 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3570s Nov 14 05:01:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3570s Nov 14 05:01:36 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 3570s Nov 14 05:01:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 3570s Nov 14 05:01:36 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3570s Nov 14 05:01:36 When I start postgres1 # features/steps/basic_replication.py:8 3575s Nov 14 05:01:41 And I start postgres2 # features/steps/basic_replication.py:8 3580s Nov 14 05:01:46 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 3585s Nov 14 05:01:51 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3585s Nov 14 05:01:51 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 3585s Nov 14 05:01:51 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 3585s Nov 14 05:01:51 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3585s Nov 14 05:01:51 3585s Nov 14 05:01:51 @slot-advance 3585s Nov 14 05:01:51 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 3585s Nov 14 05:01:51 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3588s Nov 14 05:01:54 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 3588s Nov 14 05:01:54 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3589s Nov 14 05:01:55 3589s Nov 14 05:01:55 @slot-advance 3589s Nov 14 05:01:55 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 3589s Nov 14 05:01:55 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3592s Nov 14 05:01:58 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3592s Nov 14 05:01:58 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3593s Nov 14 05:01:59 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3594s Nov 14 05:02:00 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3594s Nov 14 05:02:00 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3594s Nov 14 05:02:00 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3594s Nov 14 05:02:00 3594s Nov 14 05:02:00 @slot-advance 3594s Nov 14 05:02:00 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 3594s Nov 14 05:02:00 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3594s Nov 14 05:02:00 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3594s Nov 14 05:02:00 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3594s Nov 14 05:02:00 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3594s Nov 14 05:02:00 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3594s Nov 14 05:02:00 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 3594s Nov 14 05:02:00 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3594s Nov 14 05:02:00 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3594s Nov 14 05:02:00 3594s Nov 14 05:02:00 @slot-advance 3594s Nov 14 05:02:00 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 3594s Nov 14 05:02:00 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 3594s Nov 14 05:02:00 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 3594s Nov 14 05:02:00 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 3594s Nov 14 05:02:00 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3596s Nov 14 05:02:02 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3596s Nov 14 05:02:02 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3596s Nov 14 05:02:02 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3596s Nov 14 05:02:02 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3596s Nov 14 05:02:02 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3596s Nov 14 05:02:02 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3596s Nov 14 05:02:02 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 3598s Nov 14 05:02:04 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 3598s Nov 14 05:02:04 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3598s Nov 14 05:02:04 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3598s Nov 14 05:02:04 3598s Nov 14 05:02:04 @slot-advance 3598s Nov 14 05:02:04 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 3598s Nov 14 05:02:04 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 3598s Nov 14 05:02:04 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 3598s Nov 14 05:02:04 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 3598s Nov 14 05:02:04 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 3598s Nov 14 05:02:04 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 3598s Nov 14 05:02:04 3598s Nov 14 05:02:04 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 3598s Nov 14 05:02:04 Given I shut down postgres3 # features/steps/basic_replication.py:29 3599s Nov 14 05:02:05 And I shut down postgres2 # features/steps/basic_replication.py:29 3600s Nov 14 05:02:06 And I shut down postgres0 # features/steps/basic_replication.py:29 3602s Nov 14 05:02:08 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3602s Nov 14 05:02:08 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 3602s Nov 14 05:02:08 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3614s Nov 14 05:02:20 3614s Nov 14 05:02:20 Feature: priority replication # features/priority_failover.feature:1 3614s Nov 14 05:02:20 We should check that we can give nodes priority during failover 3614s Nov 14 05:02:20 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 3614s Nov 14 05:02:20 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3619s Nov 14 05:02:25 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 3624s Nov 14 05:02:30 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3625s Nov 14 05:02:31 When I shut down postgres0 # features/steps/basic_replication.py:29 3627s Nov 14 05:02:33 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 3629s Nov 14 05:02:35 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3629s Nov 14 05:02:35 When I start postgres0 # features/steps/basic_replication.py:8 3632s Nov 14 05:02:38 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3636s Nov 14 05:02:42 3636s Nov 14 05:02:42 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 3636s Nov 14 05:02:42 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3641s Nov 14 05:02:47 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 3645s Nov 14 05:02:51 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 3646s Nov 14 05:02:52 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 3647s Nov 14 05:02:53 When I shut down postgres0 # features/steps/basic_replication.py:29 3649s Nov 14 05:02:55 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3649s Nov 14 05:02:55 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 3649s Nov 14 05:02:55 3649s Nov 14 05:02:55 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 3649s Nov 14 05:02:55 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 3649s Nov 14 05:02:55 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 3649s Nov 14 05:02:55 Then I receive a response code 202 # features/steps/patroni_api.py:98 3649s Nov 14 05:02:55 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 3650s Nov 14 05:02:56 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 3651s Nov 14 05:02:57 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 3651s Nov 14 05:02:57 Then I receive a response code 412 # features/steps/patroni_api.py:98 3651s Nov 14 05:02:57 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 3651s Nov 14 05:02:57 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 3651s Nov 14 05:02:57 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 3651s Nov 14 05:02:57 Then I receive a response code 202 # features/steps/patroni_api.py:98 3651s Nov 14 05:02:57 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 3653s Nov 14 05:02:59 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 3654s Nov 14 05:03:00 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 3657s Nov 14 05:03:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 3657s Nov 14 05:03:03 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3670s Nov 14 05:03:16 3670s Nov 14 05:03:16 Feature: recovery # features/recovery.feature:1 3670s Nov 14 05:03:16 We want to check that crashed postgres is started back 3670s Nov 14 05:03:16 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 3670s Nov 14 05:03:16 Given I start postgres0 # features/steps/basic_replication.py:8 3675s Nov 14 05:03:21 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3675s Nov 14 05:03:21 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3675s Nov 14 05:03:21 When I start postgres1 # features/steps/basic_replication.py:8 3680s Nov 14 05:03:26 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 3680s Nov 14 05:03:26 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3681s Nov 14 05:03:27 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3681s Nov 14 05:03:27 waiting for server to shut down.... done 3681s Nov 14 05:03:27 server stopped 3681s Nov 14 05:03:27 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3685s Nov 14 05:03:31 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3685s Nov 14 05:03:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 3685s Nov 14 05:03:31 And I receive a response role master # features/steps/patroni_api.py:98 3685s Nov 14 05:03:31 And I receive a response timeline 1 # features/steps/patroni_api.py:98 3685s Nov 14 05:03:31 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3685s Nov 14 05:03:31 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3688s Nov 14 05:03:33 3688s Nov 14 05:03:33 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 3688s Nov 14 05:03:33 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 3688s Nov 14 05:03:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 3688s Nov 14 05:03:34 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3688s Nov 14 05:03:34 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3688s Nov 14 05:03:34 waiting for server to shut down.... done 3688s Nov 14 05:03:34 server stopped 3688s Nov 14 05:03:34 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3690s Nov 14 05:03:36 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3700s Nov 14 05:03:46 3700s Nov 14 05:03:46 Feature: standby cluster # features/standby_cluster.feature:1 3700s Nov 14 05:03:46 3700s Nov 14 05:03:46 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 3700s Nov 14 05:03:46 Given I start postgres1 # features/steps/basic_replication.py:8 3705s Nov 14 05:03:51 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3705s Nov 14 05:03:51 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3705s Nov 14 05:03:51 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 3705s Nov 14 05:03:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 3705s Nov 14 05:03:51 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3705s Nov 14 05:03:51 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3708s Nov 14 05:03:54 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 3708s Nov 14 05:03:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 3708s Nov 14 05:03:54 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3710s Nov 14 05:03:56 When I start postgres0 # features/steps/basic_replication.py:8 3715s Nov 14 05:04:01 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3715s Nov 14 05:04:01 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 3716s Nov 14 05:04:02 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3716s Nov 14 05:04:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 3716s Nov 14 05:04:02 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3716s Nov 14 05:04:02 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3716s Nov 14 05:04:02 3716s Nov 14 05:04:02 @slot-advance 3716s Nov 14 05:04:02 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 3716s Nov 14 05:04:02 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3719s Nov 14 05:04:05 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3724s Nov 14 05:04:10 3724s Nov 14 05:04:10 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 3724s Nov 14 05:04:10 When I shut down postgres1 # features/steps/basic_replication.py:29 3726s Nov 14 05:04:12 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3726s Nov 14 05:04:12 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 3727s Nov 14 05:04:13 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3727s Nov 14 05:04:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 3727s Nov 14 05:04:13 3727s Nov 14 05:04:13 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 3727s Nov 14 05:04:13 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 3731s Nov 14 05:04:17 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3733s Nov 14 05:04:19 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3733s Nov 14 05:04:19 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3733s Nov 14 05:04:19 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 3733s Nov 14 05:04:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 3733s Nov 14 05:04:19 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3733s Nov 14 05:04:19 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3736s Nov 14 05:04:22 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3736s Nov 14 05:04:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 3736s Nov 14 05:04:22 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 3736s Nov 14 05:04:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 3736s Nov 14 05:04:22 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3736s Nov 14 05:04: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 3736s Nov 14 05:04:22 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 3741s Nov 14 05:04:27 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 3741s Nov 14 05:04:27 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 3742s Nov 14 05:04:28 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3742s Nov 14 05:04:28 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 3742s Nov 14 05:04:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 3742s Nov 14 05:04:28 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3742s Nov 14 05:04:28 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3742s Nov 14 05:04:28 3742s Nov 14 05:04:28 Scenario: check switchover # features/standby_cluster.feature:57 3742s Nov 14 05:04:28 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 3746s Nov 14 05:04:32 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3747s Nov 14 05:04:32 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 3749s Nov 14 05:04:35 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 3749s Nov 14 05:04:35 3749s Nov 14 05:04:35 Scenario: check failover # features/standby_cluster.feature:63 3749s Nov 14 05:04:35 When I kill postgres2 # features/steps/basic_replication.py:34 3750s Nov 14 05:04:36 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 3750s Nov 14 05:04:36 waiting for server to shut down.... done 3750s Nov 14 05:04:36 server stopped 3750s Nov 14 05:04:36 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 3769s Nov 14 05:04:55 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3769s Nov 14 05:04:55 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3769s Nov 14 05:04:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 3769s Nov 14 05:04:55 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3769s Nov 14 05:04:55 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3770s Nov 14 05:04:56 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3784s Nov 14 05:05:10 3784s Nov 14 05:05:10 Feature: watchdog # features/watchdog.feature:1 3784s Nov 14 05:05:10 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3784s Nov 14 05:05:10 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3784s Nov 14 05:05:10 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 3795s Nov 14 05:05:21 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3795s Nov 14 05:05:21 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3795s Nov 14 05:05:21 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3795s Nov 14 05:05:21 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 3795s Nov 14 05:05:21 3795s Nov 14 05:05:21 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3795s Nov 14 05:05:21 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 3797s Nov 14 05:05:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3797s Nov 14 05:05:23 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 3797s Nov 14 05:05:23 When I sleep for 4 seconds # features/steps/patroni_api.py:39 3801s Nov 14 05:05:27 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 3801s Nov 14 05:05:27 3801s Nov 14 05:05:27 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3801s Nov 14 05:05:27 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3803s Nov 14 05:05:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3803s Nov 14 05:05:29 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3805s Nov 14 05:05:31 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3805s Nov 14 05:05:31 3805s Nov 14 05:05:31 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3805s Nov 14 05:05:31 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3805s Nov 14 05:05:31 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3807s Nov 14 05:05:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3807s Nov 14 05:05:32 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3808s Nov 14 05:05:34 3808s Nov 14 05:05:34 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3808s Nov 14 05:05:34 Given I shut down postgres0 # features/steps/basic_replication.py:29 3810s Nov 14 05:05:36 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3810s Nov 14 05:05:36 3810s Nov 14 05:05:36 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3810s Nov 14 05:05:36 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3810s Nov 14 05:05:36 And I start postgres0 with watchdog # features/steps/watchdog.py:16 3813s Nov 14 05:05:39 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3815s Nov 14 05:05:41 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 3815s Nov 14 05:05:41 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 3847s Nov 14 05:06:13 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3329.XJEnXTQx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3332.XBHDeERx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3378.XjQQFrMx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3426.XRnDQnZx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3476.XrlOpjFx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3519.XHDIpjYx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3590.XTJDXCfx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3639.XryroMKx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3643.XsHDJdwx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3736.XwlAfimx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3841.XrifpbLx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3844.XIelsELx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3887.XbrZoUUx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.3937.XUAiReDx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4063.XhdvjMax 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4068.XnBdBKUx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4071.XFESjrTx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4116.XgUAuuix 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4171.XRZvrshx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4265.XyrHEjVx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4268.XnJaFETx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4587.XTmfJPCx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4660.XxPsNHNx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4717.XhcuFsSx 3848s Nov 14 05:06:14 Skipping duplicate data .coverage.autopkgtest-lxd-astdxu.4978.XhiuPBNx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.4981.XcquKQRx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5035.XKvsJdbx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5096.XthYNUnx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5185.XVhzuslx 3848s Nov 14 05:06:14 Skipping duplicate data .coverage.autopkgtest-lxd-astdxu.5281.XMsWbTCx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5284.XnIFyOZx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5327.XMSUEetx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5393.XARLIxcx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5426.XZPIszRx 3848s Nov 14 05:06:14 Skipping duplicate data .coverage.autopkgtest-lxd-astdxu.5580.XHVjoJNx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5583.XQKNatex 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5633.XKFhsAHx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5649.XuIQcmux 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5691.XSySvSpx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5740.XiEnXfsx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5747.XMFKgkux 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5785.XplwFOgx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5830.XetpAJix 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5994.XlNrPHDx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.5997.XsUZEMKx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6004.XBNpXJox 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6138.XSXEpbpx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6142.XduPEOpx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6188.XHgmjzRx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6236.XmcOfANx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6281.XAnQhXVx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6326.XaxMwKnx 3848s Nov 14 05:06:14 Skipping duplicate data .coverage.autopkgtest-lxd-astdxu.6481.XBMbrTtx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6484.XCHtyPsx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6528.XHsbnhVx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6600.XVcVsDWx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6683.XDwZAzpx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.6758.XfNABpCx 3848s Nov 14 05:06:14 Skipping duplicate data .coverage.autopkgtest-lxd-astdxu.7086.XHMVLjqx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7089.XRJwytox 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7133.XYumBUUx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7276.XyfzuzEx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7279.XtNEKLTx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7343.XylgkEZx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7396.XtUquJRx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7496.XznwzDkx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7618.XYUbwXJx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7748.XLVjODgx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7753.XibwBbcx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7797.XXmsEnax 3848s Nov 14 05:06:14 Skipping duplicate data .coverage.autopkgtest-lxd-astdxu.7800.XXksNtPx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7804.XmNUHYsx 3848s Nov 14 05:06:14 Combined data file .coverage.autopkgtest-lxd-astdxu.7819.XNzUgwpx 3848s Nov 14 05:06:14 Skipping duplicate data .coverage.autopkgtest-lxd-astdxu.7884.XLKfVBGx 3851s Nov 14 05:06:17 Name Stmts Miss Cover 3851s Nov 14 05:06:17 ------------------------------------------------------------------------------------------------------------- 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 114 96 16% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 397 257 35% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 59 58% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 50 64% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/utils.py 77 23 70% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/api.py 770 288 63% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 81 87% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 39 88% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/ha.py 1244 308 75% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 392 62% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 40 84% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/six.py 504 250 50% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3851s Nov 14 05:06:17 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3851s Nov 14 05:06:17 patroni/__init__.py 13 2 85% 3851s Nov 14 05:06:17 patroni/__main__.py 199 199 0% 3851s Nov 14 05:06:17 patroni/api.py 770 770 0% 3851s Nov 14 05:06:17 patroni/async_executor.py 96 69 28% 3851s Nov 14 05:06:17 patroni/collections.py 56 15 73% 3851s Nov 14 05:06:17 patroni/config.py 371 189 49% 3851s Nov 14 05:06:17 patroni/config_generator.py 212 212 0% 3851s Nov 14 05:06:17 patroni/ctl.py 936 411 56% 3851s Nov 14 05:06:17 patroni/daemon.py 76 6 92% 3851s Nov 14 05:06:17 patroni/dcs/__init__.py 646 268 59% 3851s Nov 14 05:06:17 patroni/dcs/consul.py 485 485 0% 3851s Nov 14 05:06:17 patroni/dcs/etcd3.py 679 679 0% 3851s Nov 14 05:06:17 patroni/dcs/etcd.py 603 603 0% 3851s Nov 14 05:06:17 patroni/dcs/exhibitor.py 61 61 0% 3851s Nov 14 05:06:17 patroni/dcs/kubernetes.py 938 938 0% 3851s Nov 14 05:06:17 patroni/dcs/raft.py 319 72 77% 3851s Nov 14 05:06:17 patroni/dcs/zookeeper.py 288 288 0% 3851s Nov 14 05:06:17 patroni/dynamic_loader.py 35 7 80% 3851s Nov 14 05:06:17 patroni/exceptions.py 16 1 94% 3851s Nov 14 05:06:17 patroni/file_perm.py 43 15 65% 3851s Nov 14 05:06:17 patroni/global_config.py 81 18 78% 3851s Nov 14 05:06:17 patroni/ha.py 1244 1244 0% 3851s Nov 14 05:06:17 patroni/log.py 219 93 58% 3851s Nov 14 05:06:17 patroni/postgresql/__init__.py 821 651 21% 3851s Nov 14 05:06:17 patroni/postgresql/available_parameters/__init__.py 21 1 95% 3851s Nov 14 05:06:17 patroni/postgresql/bootstrap.py 252 222 12% 3851s Nov 14 05:06:17 patroni/postgresql/callback_executor.py 55 34 38% 3851s Nov 14 05:06:17 patroni/postgresql/cancellable.py 104 84 19% 3851s Nov 14 05:06:17 patroni/postgresql/config.py 813 698 14% 3851s Nov 14 05:06:17 patroni/postgresql/connection.py 75 50 33% 3851s Nov 14 05:06:17 patroni/postgresql/misc.py 41 29 29% 3851s Nov 14 05:06:17 patroni/postgresql/mpp/__init__.py 89 21 76% 3851s Nov 14 05:06:17 patroni/postgresql/mpp/citus.py 259 259 0% 3851s Nov 14 05:06:17 patroni/postgresql/postmaster.py 170 139 18% 3851s Nov 14 05:06:17 patroni/postgresql/rewind.py 416 416 0% 3851s Nov 14 05:06:17 patroni/postgresql/slots.py 334 285 15% 3851s Nov 14 05:06:17 patroni/postgresql/sync.py 130 96 26% 3851s Nov 14 05:06:17 patroni/postgresql/validator.py 157 52 67% 3851s Nov 14 05:06:17 patroni/psycopg.py 42 28 33% 3851s Nov 14 05:06:17 patroni/raft_controller.py 22 1 95% 3851s Nov 14 05:06:17 patroni/request.py 62 6 90% 3851s Nov 14 05:06:17 patroni/scripts/__init__.py 0 0 100% 3851s Nov 14 05:06:17 patroni/scripts/aws.py 59 59 0% 3851s Nov 14 05:06:17 patroni/scripts/barman/__init__.py 0 0 100% 3851s Nov 14 05:06:17 patroni/scripts/barman/cli.py 51 51 0% 3851s Nov 14 05:06:17 patroni/scripts/barman/config_switch.py 51 51 0% 3851s Nov 14 05:06:17 patroni/scripts/barman/recover.py 37 37 0% 3851s Nov 14 05:06:17 patroni/scripts/barman/utils.py 94 94 0% 3851s Nov 14 05:06:17 patroni/scripts/wale_restore.py 207 207 0% 3851s Nov 14 05:06:17 patroni/tags.py 38 11 71% 3851s Nov 14 05:06:17 patroni/utils.py 350 215 39% 3851s Nov 14 05:06:17 patroni/validator.py 301 215 29% 3851s Nov 14 05:06:17 patroni/version.py 1 0 100% 3851s Nov 14 05:06:17 patroni/watchdog/__init__.py 2 2 0% 3851s Nov 14 05:06:17 patroni/watchdog/base.py 203 203 0% 3851s Nov 14 05:06:17 patroni/watchdog/linux.py 135 135 0% 3851s Nov 14 05:06:17 ------------------------------------------------------------------------------------------------------------- 3851s Nov 14 05:06:17 TOTAL 44230 24994 43% 3851s Nov 14 05:06:17 12 features passed, 0 failed, 1 skipped 3851s Nov 14 05:06:17 54 scenarios passed, 0 failed, 6 skipped 3851s Nov 14 05:06:17 522 steps passed, 0 failed, 63 skipped, 0 undefined 3851s Nov 14 05:06:17 Took 10m29.829s 3851s ### End 16 acceptance-raft ### 3851s + echo '### End 16 acceptance-raft ###' 3851s + rm -f '/tmp/pgpass?' 3851s ++ id -u 3851s + '[' 1000 -eq 0 ']' 3851s autopkgtest [05:06:17]: test acceptance-raft: -----------------------] 3855s autopkgtest [05:06:21]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3855s acceptance-raft PASS 3859s autopkgtest [05:06:25]: test test: preparing testbed 3914s autopkgtest [05:07:20]: testbed dpkg architecture: armhf 3916s autopkgtest [05:07:22]: testbed apt version: 2.9.8 3916s autopkgtest [05:07:22]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3923s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 3924s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [987 kB] 3924s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 3924s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.4 kB] 3924s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [98.6 kB] 3924s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [103 kB] 3924s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [684 kB] 3924s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [5040 B] 3924s Fetched 1973 kB in 1s (2369 kB/s) 3924s Reading package lists... 3940s tee: /proc/self/fd/2: Permission denied 3961s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 3961s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 3961s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 3961s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 3962s Reading package lists... 3962s Reading package lists... 3963s Building dependency tree... 3963s Reading state information... 3963s Calculating upgrade... 3964s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3964s Reading package lists... 3964s Building dependency tree... 3964s Reading state information... 3965s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3967s autopkgtest [05:08:13]: rebooting testbed after setup commands that affected boot 4074s Reading package lists... 4074s Building dependency tree... 4074s Reading state information... 4075s Starting pkgProblemResolver with broken count: 0 4075s Starting 2 pkgProblemResolver with broken count: 0 4075s Done 4076s The following additional packages will be installed: 4076s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 4076s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 4076s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 4076s libjs-underscore libpq5 patroni patroni-doc python3-aiohttp 4076s python3-aiosignal python3-async-timeout python3-boto3 python3-botocore 4076s python3-cachetools python3-cdiff python3-click python3-colorama 4076s python3-consul python3-coverage python3-dateutil python3-dnspython 4076s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 4076s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 4076s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 4076s python3-mccabe python3-mock python3-multidict python3-packaging 4076s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 4076s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 4076s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 4076s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 4076s python3-s3transfer python3-six python3-wcwidth python3-websocket 4076s python3-yarl python3-ydiff python3-zope.event python3-zope.interface 4076s sphinx-rtd-theme-common 4076s Suggested packages: 4076s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 4076s python3-tornado python3-twisted python-coverage-doc python3-trio 4076s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 4076s python-eventlet-doc python-gevent-doc python-greenlet-dev 4076s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 4076s Recommended packages: 4076s javascript-common python3-aiodns pyflakes3 4076s The following NEW packages will be installed: 4076s autopkgtest-satdep fonts-font-awesome fonts-lato libcares2 libev4t64 4076s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 4076s libjs-jquery-metadata libjs-jquery-tablesorter 4076s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 4076s patroni patroni-doc python3-aiohttp python3-aiosignal python3-async-timeout 4076s python3-boto3 python3-botocore python3-cachetools python3-cdiff 4076s python3-click python3-colorama python3-consul python3-coverage 4076s python3-dateutil python3-dnspython python3-etcd python3-eventlet 4076s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 4076s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 4076s python3-kerberos python3-kubernetes python3-mccabe python3-mock 4076s python3-multidict python3-packaging python3-pluggy python3-prettytable 4076s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 4076s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 4076s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 4076s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 4076s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 4076s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 4076s 0 upgraded, 70 newly installed, 0 to remove and 0 not upgraded. 4076s Need to get 16.8 MB/16.8 MB of archives. 4076s After this operation, 156 MB of additional disk space will be used. 4076s Get:1 /tmp/autopkgtest.hz6KX2/6-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [788 B] 4076s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-lato all 2.015-1 [2781 kB] 4076s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 4076s Get:4 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 4076s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 4076s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf libcares2 armhf 1.34.2-1 [79.8 kB] 4076s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf libev4t64 armhf 1:4.33-2.1build1 [26.3 kB] 4076s Get:8 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-metadata all 12-4 [6582 B] 4076s Get:9 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 4077s Get:10 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 4077s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 4077s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-sphinxdoc all 7.4.7-4 [158 kB] 4077s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libpq5 armhf 17.0-1 [231 kB] 4077s Get:14 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ydiff all 1.3-1 [18.4 kB] 4077s Get:15 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cdiff all 1.3-1 [1770 B] 4077s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf python3-colorama all 0.4.6-4 [32.1 kB] 4077s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf python3-click all 8.1.7-2 [79.5 kB] 4077s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf python3-six all 1.16.0-7 [13.1 kB] 4077s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-2 [80.3 kB] 4077s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 4077s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf python3-prettytable all 3.10.1-1 [34.0 kB] 4077s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psutil armhf 5.9.8-2build2 [194 kB] 4077s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf python3-psycopg2 armhf 2.9.9-2 [122 kB] 4077s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 4077s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-etcd all 0.4.5-4 [31.9 kB] 4077s Get:26 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-consul all 0.7.1-2 [21.6 kB] 4077s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf python3-greenlet armhf 3.0.3-0ubuntu6 [153 kB] 4077s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 4077s Get:29 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-zope.event all 5.0-0.1 [7512 B] 4077s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf python3-zope.interface armhf 7.1.1-1 [138 kB] 4077s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-gevent armhf 24.2.1-1 [773 kB] 4077s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kerberos armhf 1.1.14-3.1build9 [19.8 kB] 4077s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 4077s Get:34 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kazoo all 2.9.0-2 [103 kB] 4077s Get:35 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-multidict armhf 6.1.0-1 [31.3 kB] 4077s Get:36 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-yarl armhf 1.9.4-1 [67.1 kB] 4077s Get:37 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-async-timeout all 4.0.3-1 [6412 B] 4077s Get:38 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-frozenlist armhf 1.5.0-1 [43.8 kB] 4077s Get:39 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiosignal all 1.3.1-1 [5172 B] 4077s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-aiohttp armhf 3.9.5-1 [274 kB] 4077s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf python3-cachetools all 5.3.3-1 [10.3 kB] 4077s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1 all 0.5.1-1 [57.4 kB] 4077s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf python3-pyasn1-modules all 0.3.0-1 [80.2 kB] 4077s Get:44 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyu2f all 0.1.5-4 [22.9 kB] 4077s Get:45 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-responses all 0.25.3-1 [54.3 kB] 4077s Get:46 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-rsa all 4.9-2 [28.2 kB] 4077s Get:47 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-google-auth all 2.28.2-3 [91.0 kB] 4077s Get:48 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 4077s Get:49 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-websocket all 1.8.0-2 [38.5 kB] 4077s Get:50 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-kubernetes all 30.1.0-1 [386 kB] 4077s Get:51 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pysyncobj all 0.3.12-1 [38.9 kB] 4077s Get:52 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni all 3.3.1-1 [264 kB] 4077s Get:53 http://ftpmaster.internal/ubuntu plucky/main armhf sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 4077s Get:54 http://ftpmaster.internal/ubuntu plucky/universe armhf patroni-doc all 3.3.1-1 [497 kB] 4077s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jmespath all 1.0.1-1 [21.3 kB] 4077s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 4078s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 4078s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 4078s Get:59 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.4.4+dfsg1-0ubuntu2 [146 kB] 4078s Get:60 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mccabe all 0.7.0-1 [8678 B] 4078s Get:61 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pycodestyle all 2.11.1-1 [29.9 kB] 4078s Get:62 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyflakes all 3.2.0-1 [52.8 kB] 4078s Get:63 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-flake8 all 7.1.1-1 [43.9 kB] 4078s Get:64 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 4078s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf python3-packaging all 24.1-1 [41.4 kB] 4078s Get:66 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 4078s Get:67 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest all 8.3.3-1 [251 kB] 4078s Get:68 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 4078s Get:69 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest-cov all 5.0.0-1 [21.3 kB] 4078s Get:70 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-mock all 5.1.0-1 [64.1 kB] 4078s Fetched 16.8 MB in 2s (8680 kB/s) 4078s Selecting previously unselected package fonts-lato. 4078s (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 ... 59560 files and directories currently installed.) 4078s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 4078s Unpacking fonts-lato (2.015-1) ... 4078s Selecting previously unselected package libjs-jquery. 4078s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 4078s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4079s Selecting previously unselected package libjs-jquery-hotkeys. 4079s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 4079s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 4079s Selecting previously unselected package fonts-font-awesome. 4079s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 4079s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4079s Selecting previously unselected package libcares2:armhf. 4079s Preparing to unpack .../04-libcares2_1.34.2-1_armhf.deb ... 4079s Unpacking libcares2:armhf (1.34.2-1) ... 4079s Selecting previously unselected package libev4t64:armhf. 4079s Preparing to unpack .../05-libev4t64_1%3a4.33-2.1build1_armhf.deb ... 4079s Unpacking libev4t64:armhf (1:4.33-2.1build1) ... 4079s Selecting previously unselected package libjs-jquery-metadata. 4079s Preparing to unpack .../06-libjs-jquery-metadata_12-4_all.deb ... 4079s Unpacking libjs-jquery-metadata (12-4) ... 4079s Selecting previously unselected package libjs-jquery-tablesorter. 4079s Preparing to unpack .../07-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 4079s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 4079s Selecting previously unselected package libjs-jquery-throttle-debounce. 4079s Preparing to unpack .../08-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 4079s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 4079s Selecting previously unselected package libjs-underscore. 4079s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 4079s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4079s Selecting previously unselected package libjs-sphinxdoc. 4079s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-4_all.deb ... 4079s Unpacking libjs-sphinxdoc (7.4.7-4) ... 4079s Selecting previously unselected package libpq5:armhf. 4079s Preparing to unpack .../11-libpq5_17.0-1_armhf.deb ... 4079s Unpacking libpq5:armhf (17.0-1) ... 4079s Selecting previously unselected package python3-ydiff. 4079s Preparing to unpack .../12-python3-ydiff_1.3-1_all.deb ... 4079s Unpacking python3-ydiff (1.3-1) ... 4079s Selecting previously unselected package python3-cdiff. 4079s Preparing to unpack .../13-python3-cdiff_1.3-1_all.deb ... 4079s Unpacking python3-cdiff (1.3-1) ... 4079s Selecting previously unselected package python3-colorama. 4079s Preparing to unpack .../14-python3-colorama_0.4.6-4_all.deb ... 4079s Unpacking python3-colorama (0.4.6-4) ... 4079s Selecting previously unselected package python3-click. 4079s Preparing to unpack .../15-python3-click_8.1.7-2_all.deb ... 4079s Unpacking python3-click (8.1.7-2) ... 4079s Selecting previously unselected package python3-six. 4079s Preparing to unpack .../16-python3-six_1.16.0-7_all.deb ... 4079s Unpacking python3-six (1.16.0-7) ... 4079s Selecting previously unselected package python3-dateutil. 4079s Preparing to unpack .../17-python3-dateutil_2.9.0-2_all.deb ... 4079s Unpacking python3-dateutil (2.9.0-2) ... 4079s Selecting previously unselected package python3-wcwidth. 4079s Preparing to unpack .../18-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 4079s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 4079s Selecting previously unselected package python3-prettytable. 4079s Preparing to unpack .../19-python3-prettytable_3.10.1-1_all.deb ... 4079s Unpacking python3-prettytable (3.10.1-1) ... 4079s Selecting previously unselected package python3-psutil. 4079s Preparing to unpack .../20-python3-psutil_5.9.8-2build2_armhf.deb ... 4079s Unpacking python3-psutil (5.9.8-2build2) ... 4079s Selecting previously unselected package python3-psycopg2. 4079s Preparing to unpack .../21-python3-psycopg2_2.9.9-2_armhf.deb ... 4079s Unpacking python3-psycopg2 (2.9.9-2) ... 4079s Selecting previously unselected package python3-dnspython. 4079s Preparing to unpack .../22-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 4079s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 4079s Selecting previously unselected package python3-etcd. 4079s Preparing to unpack .../23-python3-etcd_0.4.5-4_all.deb ... 4079s Unpacking python3-etcd (0.4.5-4) ... 4079s Selecting previously unselected package python3-consul. 4079s Preparing to unpack .../24-python3-consul_0.7.1-2_all.deb ... 4079s Unpacking python3-consul (0.7.1-2) ... 4079s Selecting previously unselected package python3-greenlet. 4079s Preparing to unpack .../25-python3-greenlet_3.0.3-0ubuntu6_armhf.deb ... 4079s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 4079s Selecting previously unselected package python3-eventlet. 4079s Preparing to unpack .../26-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 4079s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 4079s Selecting previously unselected package python3-zope.event. 4079s Preparing to unpack .../27-python3-zope.event_5.0-0.1_all.deb ... 4079s Unpacking python3-zope.event (5.0-0.1) ... 4079s Selecting previously unselected package python3-zope.interface. 4079s Preparing to unpack .../28-python3-zope.interface_7.1.1-1_armhf.deb ... 4079s Unpacking python3-zope.interface (7.1.1-1) ... 4079s Selecting previously unselected package python3-gevent. 4079s Preparing to unpack .../29-python3-gevent_24.2.1-1_armhf.deb ... 4079s Unpacking python3-gevent (24.2.1-1) ... 4080s Selecting previously unselected package python3-kerberos. 4080s Preparing to unpack .../30-python3-kerberos_1.1.14-3.1build9_armhf.deb ... 4080s Unpacking python3-kerberos (1.1.14-3.1build9) ... 4080s Selecting previously unselected package python3-pure-sasl. 4080s Preparing to unpack .../31-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 4080s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 4080s Selecting previously unselected package python3-kazoo. 4080s Preparing to unpack .../32-python3-kazoo_2.9.0-2_all.deb ... 4080s Unpacking python3-kazoo (2.9.0-2) ... 4080s Selecting previously unselected package python3-multidict. 4080s Preparing to unpack .../33-python3-multidict_6.1.0-1_armhf.deb ... 4080s Unpacking python3-multidict (6.1.0-1) ... 4080s Selecting previously unselected package python3-yarl. 4080s Preparing to unpack .../34-python3-yarl_1.9.4-1_armhf.deb ... 4080s Unpacking python3-yarl (1.9.4-1) ... 4080s Selecting previously unselected package python3-async-timeout. 4080s Preparing to unpack .../35-python3-async-timeout_4.0.3-1_all.deb ... 4080s Unpacking python3-async-timeout (4.0.3-1) ... 4080s Selecting previously unselected package python3-frozenlist. 4080s Preparing to unpack .../36-python3-frozenlist_1.5.0-1_armhf.deb ... 4080s Unpacking python3-frozenlist (1.5.0-1) ... 4080s Selecting previously unselected package python3-aiosignal. 4080s Preparing to unpack .../37-python3-aiosignal_1.3.1-1_all.deb ... 4080s Unpacking python3-aiosignal (1.3.1-1) ... 4080s Selecting previously unselected package python3-aiohttp. 4080s Preparing to unpack .../38-python3-aiohttp_3.9.5-1_armhf.deb ... 4080s Unpacking python3-aiohttp (3.9.5-1) ... 4080s Selecting previously unselected package python3-cachetools. 4080s Preparing to unpack .../39-python3-cachetools_5.3.3-1_all.deb ... 4080s Unpacking python3-cachetools (5.3.3-1) ... 4080s Selecting previously unselected package python3-pyasn1. 4080s Preparing to unpack .../40-python3-pyasn1_0.5.1-1_all.deb ... 4080s Unpacking python3-pyasn1 (0.5.1-1) ... 4080s Selecting previously unselected package python3-pyasn1-modules. 4080s Preparing to unpack .../41-python3-pyasn1-modules_0.3.0-1_all.deb ... 4080s Unpacking python3-pyasn1-modules (0.3.0-1) ... 4080s Selecting previously unselected package python3-pyu2f. 4080s Preparing to unpack .../42-python3-pyu2f_0.1.5-4_all.deb ... 4080s Unpacking python3-pyu2f (0.1.5-4) ... 4080s Selecting previously unselected package python3-responses. 4080s Preparing to unpack .../43-python3-responses_0.25.3-1_all.deb ... 4080s Unpacking python3-responses (0.25.3-1) ... 4080s Selecting previously unselected package python3-rsa. 4080s Preparing to unpack .../44-python3-rsa_4.9-2_all.deb ... 4080s Unpacking python3-rsa (4.9-2) ... 4080s Selecting previously unselected package python3-google-auth. 4080s Preparing to unpack .../45-python3-google-auth_2.28.2-3_all.deb ... 4080s Unpacking python3-google-auth (2.28.2-3) ... 4080s Selecting previously unselected package python3-requests-oauthlib. 4080s Preparing to unpack .../46-python3-requests-oauthlib_1.3.1-1_all.deb ... 4080s Unpacking python3-requests-oauthlib (1.3.1-1) ... 4080s Selecting previously unselected package python3-websocket. 4080s Preparing to unpack .../47-python3-websocket_1.8.0-2_all.deb ... 4080s Unpacking python3-websocket (1.8.0-2) ... 4080s Selecting previously unselected package python3-kubernetes. 4080s Preparing to unpack .../48-python3-kubernetes_30.1.0-1_all.deb ... 4080s Unpacking python3-kubernetes (30.1.0-1) ... 4080s Selecting previously unselected package python3-pysyncobj. 4080s Preparing to unpack .../49-python3-pysyncobj_0.3.12-1_all.deb ... 4080s Unpacking python3-pysyncobj (0.3.12-1) ... 4080s Selecting previously unselected package patroni. 4080s Preparing to unpack .../50-patroni_3.3.1-1_all.deb ... 4080s Unpacking patroni (3.3.1-1) ... 4080s Selecting previously unselected package sphinx-rtd-theme-common. 4080s Preparing to unpack .../51-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 4080s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 4080s Selecting previously unselected package patroni-doc. 4080s Preparing to unpack .../52-patroni-doc_3.3.1-1_all.deb ... 4080s Unpacking patroni-doc (3.3.1-1) ... 4081s Selecting previously unselected package python3-jmespath. 4081s Preparing to unpack .../53-python3-jmespath_1.0.1-1_all.deb ... 4081s Unpacking python3-jmespath (1.0.1-1) ... 4081s Selecting previously unselected package python3-botocore. 4081s Preparing to unpack .../54-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 4081s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 4081s Selecting previously unselected package python3-s3transfer. 4081s Preparing to unpack .../55-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 4081s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 4081s Selecting previously unselected package python3-boto3. 4081s Preparing to unpack .../56-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 4081s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 4081s Selecting previously unselected package python3-coverage. 4081s Preparing to unpack .../57-python3-coverage_7.4.4+dfsg1-0ubuntu2_armhf.deb ... 4081s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 4081s Selecting previously unselected package python3-mccabe. 4081s Preparing to unpack .../58-python3-mccabe_0.7.0-1_all.deb ... 4081s Unpacking python3-mccabe (0.7.0-1) ... 4081s Selecting previously unselected package python3-pycodestyle. 4081s Preparing to unpack .../59-python3-pycodestyle_2.11.1-1_all.deb ... 4081s Unpacking python3-pycodestyle (2.11.1-1) ... 4081s Selecting previously unselected package python3-pyflakes. 4081s Preparing to unpack .../60-python3-pyflakes_3.2.0-1_all.deb ... 4081s Unpacking python3-pyflakes (3.2.0-1) ... 4081s Selecting previously unselected package python3-flake8. 4082s Preparing to unpack .../61-python3-flake8_7.1.1-1_all.deb ... 4082s Unpacking python3-flake8 (7.1.1-1) ... 4082s Selecting previously unselected package python3-iniconfig. 4082s Preparing to unpack .../62-python3-iniconfig_1.1.1-2_all.deb ... 4082s Unpacking python3-iniconfig (1.1.1-2) ... 4082s Selecting previously unselected package python3-packaging. 4082s Preparing to unpack .../63-python3-packaging_24.1-1_all.deb ... 4082s Unpacking python3-packaging (24.1-1) ... 4082s Selecting previously unselected package python3-pluggy. 4082s Preparing to unpack .../64-python3-pluggy_1.5.0-1_all.deb ... 4082s Unpacking python3-pluggy (1.5.0-1) ... 4082s Selecting previously unselected package python3-pytest. 4082s Preparing to unpack .../65-python3-pytest_8.3.3-1_all.deb ... 4082s Unpacking python3-pytest (8.3.3-1) ... 4082s Selecting previously unselected package libjs-jquery-isonscreen. 4082s Preparing to unpack .../66-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 4082s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 4082s Selecting previously unselected package python3-pytest-cov. 4082s Preparing to unpack .../67-python3-pytest-cov_5.0.0-1_all.deb ... 4082s Unpacking python3-pytest-cov (5.0.0-1) ... 4082s Selecting previously unselected package python3-mock. 4082s Preparing to unpack .../68-python3-mock_5.1.0-1_all.deb ... 4082s Unpacking python3-mock (5.1.0-1) ... 4082s Selecting previously unselected package autopkgtest-satdep. 4082s Preparing to unpack .../69-6-autopkgtest-satdep.deb ... 4082s Unpacking autopkgtest-satdep (0) ... 4082s Setting up python3-iniconfig (1.1.1-2) ... 4082s Setting up libev4t64:armhf (1:4.33-2.1build1) ... 4082s Setting up fonts-lato (2.015-1) ... 4082s Setting up python3-pysyncobj (0.3.12-1) ... 4083s Setting up python3-cachetools (5.3.3-1) ... 4083s Setting up python3-colorama (0.4.6-4) ... 4083s Setting up python3-zope.event (5.0-0.1) ... 4083s Setting up python3-zope.interface (7.1.1-1) ... 4084s Setting up python3-pyflakes (3.2.0-1) ... 4084s Setting up python3-ydiff (1.3-1) ... 4084s Setting up libpq5:armhf (17.0-1) ... 4084s Setting up python3-kerberos (1.1.14-3.1build9) ... 4084s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 4084s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 4084s Setting up python3-click (8.1.7-2) ... 4084s Setting up python3-psutil (5.9.8-2build2) ... 4085s Setting up python3-multidict (6.1.0-1) ... 4085s Setting up python3-frozenlist (1.5.0-1) ... 4085s Setting up python3-aiosignal (1.3.1-1) ... 4085s Setting up python3-mock (5.1.0-1) ... 4085s Setting up python3-async-timeout (4.0.3-1) ... 4086s Setting up python3-six (1.16.0-7) ... 4086s Setting up python3-responses (0.25.3-1) ... 4086s Setting up python3-pycodestyle (2.11.1-1) ... 4086s Setting up python3-packaging (24.1-1) ... 4086s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 4086s Setting up python3-pyu2f (0.1.5-4) ... 4087s Setting up python3-jmespath (1.0.1-1) ... 4087s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 4087s Setting up libcares2:armhf (1.34.2-1) ... 4087s Setting up python3-psycopg2 (2.9.9-2) ... 4087s Setting up python3-pluggy (1.5.0-1) ... 4087s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 4087s Setting up python3-pyasn1 (0.5.1-1) ... 4088s Setting up python3-dateutil (2.9.0-2) ... 4088s Setting up python3-mccabe (0.7.0-1) ... 4088s Setting up python3-consul (0.7.1-2) ... 4088s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4088s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 4088s Setting up python3-prettytable (3.10.1-1) ... 4088s Setting up python3-yarl (1.9.4-1) ... 4088s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4088s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 4088s Setting up python3-websocket (1.8.0-2) ... 4089s Setting up python3-requests-oauthlib (1.3.1-1) ... 4089s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4089s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 4089s Setting up python3-etcd (0.4.5-4) ... 4089s Setting up python3-pytest (8.3.3-1) ... 4089s Setting up python3-cdiff (1.3-1) ... 4089s Setting up python3-aiohttp (3.9.5-1) ... 4090s Setting up python3-gevent (24.2.1-1) ... 4090s Setting up python3-flake8 (7.1.1-1) ... 4090s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 4090s Setting up python3-kazoo (2.9.0-2) ... 4091s Setting up python3-pyasn1-modules (0.3.0-1) ... 4091s Setting up libjs-jquery-metadata (12-4) ... 4091s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 4091s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 4091s Setting up libjs-sphinxdoc (7.4.7-4) ... 4091s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 4091s Setting up python3-rsa (4.9-2) ... 4091s Setting up patroni (3.3.1-1) ... 4091s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 4092s Setting up patroni-doc (3.3.1-1) ... 4092s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 4092s Setting up python3-pytest-cov (5.0.0-1) ... 4092s Setting up python3-google-auth (2.28.2-3) ... 4093s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 4093s Setting up python3-kubernetes (30.1.0-1) ... 4094s Setting up autopkgtest-satdep (0) ... 4094s Processing triggers for man-db (2.12.1-3) ... 4095s Processing triggers for libc-bin (2.40-1ubuntu3) ... 4116s (Reading database ... 65662 files and directories currently installed.) 4116s Removing autopkgtest-satdep (0) ... 4129s autopkgtest [05:10:55]: test test: [----------------------- 4131s running test 4131s ============================= test session starts ============================== 4131s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3 4131s cachedir: .pytest_cache 4131s rootdir: /tmp/autopkgtest.hz6KX2/build.2Iv/src 4131s plugins: typeguard-4.4.1, cov-5.0.0 4139s collecting ... collected 646 items 4139s 4140s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 4140s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 4140s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 4140s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 4140s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 4140s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 4140s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 4140s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 4140s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 4140s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 4140s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 4140s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 4140s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 4140s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 4140s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 4140s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 4140s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 4140s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 4140s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 4140s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 4140s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 4140s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 4140s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 4140s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 4140s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 4140s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 4140s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 4140s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 4140s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 4140s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 4140s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 4140s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 4140s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 4140s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 4140s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 4140s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 4140s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 4140s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 4140s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 4140s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 4140s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 4140s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 4141s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 4141s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 4141s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 4141s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 4141s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 4141s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 4141s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 4141s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 4141s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 4141s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 8%] 4141s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 4141s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 4141s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 4141s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 4141s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 4141s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 4141s tests/test_barman.py::TestMain::test_main PASSED [ 9%] 4141s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 4141s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 4141s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 4141s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 4141s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 4141s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 10%] 4141s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 4141s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 4141s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 4141s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 4141s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 4141s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 4141s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 11%] 4141s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 4141s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 4141s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 4141s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 4141s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 4141s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 12%] 4141s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 4141s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 4141s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 4141s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 4141s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 4141s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 13%] 4141s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 13%] 4141s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 4141s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 4141s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 4141s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 4141s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 4141s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 14%] 4141s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 4141s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 4141s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 4141s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 4141s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 4141s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 15%] 4141s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 15%] 4141s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 4141s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 15%] 4141s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 4141s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 4141s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 4141s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 16%] 4141s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 16%] 4141s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 4141s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 4141s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 4141s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 4141s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 17%] 4141s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 17%] 4141s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 4141s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 4141s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 4141s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 4141s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 4141s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 18%] 4141s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 18%] 4141s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 4141s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 4141s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 4141s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 4141s tests/test_consul.py::TestConsul::test_update_service PASSED [ 19%] 4141s tests/test_consul.py::TestConsul::test_watch PASSED [ 19%] 4141s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 4141s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 4141s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 4141s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 4141s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 4141s tests/test_ctl.py::TestCtl::test_failover PASSED [ 20%] 4142s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 20%] 4142s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 4142s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 4142s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 4142s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 4142s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 21%] 4142s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 21%] 4142s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 4142s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 4142s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 4142s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 4142s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 4142s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 22%] 4142s tests/test_ctl.py::TestCtl::test_members PASSED [ 22%] 4142s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 4142s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 4142s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 4142s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 4142s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 23%] 4142s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 23%] 4142s tests/test_ctl.py::TestCtl::test_reload PASSED [ 23%] 4142s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 4142s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 4142s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 4142s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 4142s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 24%] 4142s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 24%] 4142s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 4142s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 4142s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 4142s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 4142s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 25%] 4142s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 25%] 4142s tests/test_etcd.py::TestClient::test___del__ PASSED [ 25%] 4142s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 4142s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 4142s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 4142s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 26%] 4143s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 26%] 4143s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 26%] 4143s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 4143s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 4143s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 4143s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 4143s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 27%] 4143s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 27%] 4143s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 27%] 4143s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 4143s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 4143s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 4143s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 28%] 4143s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 28%] 4143s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 28%] 4143s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 4143s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 4143s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 4143s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 4143s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 29%] 4143s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 29%] 4143s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 29%] 4143s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 4143s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 4143s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 4143s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 30%] 4143s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 30%] 4143s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 30%] 4143s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 30%] 4143s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 4143s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 4143s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 4143s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 31%] 4143s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 31%] 4143s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 31%] 4143s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 4143s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 4143s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 4143s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 32%] 4143s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 32%] 4143s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 32%] 4143s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 32%] 4143s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 4143s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 4143s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 4143s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 33%] 4143s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 33%] 4143s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 33%] 4143s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 4143s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 4143s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 4143s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 34%] 4143s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 34%] 4143s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 34%] 4143s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 34%] 4143s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 4143s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 4143s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 4143s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 35%] 4143s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 35%] 4143s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 35%] 4143s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 4143s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 4143s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 4143s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 36%] 4143s tests/test_ha.py::TestHa::test_after_pause PASSED [ 36%] 4143s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 36%] 4143s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 4143s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 4143s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 4143s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 4143s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 37%] 4143s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 37%] 4143s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 4143s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 4144s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 4144s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 4144s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 38%] 4144s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 38%] 4144s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 4144s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 4144s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 4144s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 4144s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 39%] 4144s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 39%] 4144s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 4144s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 4144s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 4144s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 4144s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 4144s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 40%] 4144s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 4144s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 4144s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 4144s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 4144s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 4144s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 41%] 4144s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 4144s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 4144s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 4144s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 4144s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 4144s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 4144s tests/test_ha.py::TestHa::test_is_leader PASSED [ 42%] 4144s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 4144s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 4144s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 4144s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 4144s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 4144s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 43%] 4144s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 43%] 4144s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 4144s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 4144s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 4144s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 4144s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 4144s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 44%] 4144s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 4145s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 4145s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 4145s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 4145s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 4145s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 45%] 4145s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 4145s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 4145s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 4145s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 4145s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 4145s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 4145s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 4145s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 4145s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 4145s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 4145s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 4145s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 4145s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 4145s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 4145s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 4145s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 4145s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 4145s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 4145s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 4145s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 4145s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 4145s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 4145s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 4145s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 4145s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 4145s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 4145s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 4145s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 4145s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 4145s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 4145s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 4145s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 4145s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 4145s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 4145s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 4145s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 4145s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 4145s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 4145s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 4145s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 4145s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 4145s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 4145s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 51%] 4145s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 4145s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 4145s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 4145s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 4145s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 4145s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 52%] 4145s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 4146s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 4146s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 4146s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 4146s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 4146s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 53%] 4146s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 53%] 4146s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 4146s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 4146s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 4146s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 4146s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 54%] 4146s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 54%] 4146s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 4146s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 4146s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 55%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 55%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 55%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 56%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 56%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 56%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 4146s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 57%] 4147s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 57%] 4147s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 4147s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 4147s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 4147s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 4147s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 58%] 4147s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 58%] 4147s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 58%] 4147s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 4147s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 4147s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 4147s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 59%] 4147s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 59%] 4147s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 59%] 4147s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 4147s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 4147s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 60%] 4147s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 60%] 4147s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 60%] 4147s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 60%] 4147s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 60%] 4147s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 4147s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 61%] 4147s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 61%] 4147s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 61%] 4147s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 61%] 4147s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 4147s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 4147s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 62%] 4148s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 62%] 4148s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 62%] 4148s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 62%] 4148s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 62%] 4148s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 4148s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 63%] 4148s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 63%] 4148s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 63%] 4148s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 63%] 4148s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 63%] 4148s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 4148s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 4148s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 64%] 4148s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 64%] 4148s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 64%] 4148s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 64%] 4148s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 64%] 4148s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 4148s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 65%] 4148s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 65%] 4148s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 65%] 4148s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 65%] 4148s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 65%] 4148s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 4148s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 4148s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 66%] 4148s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 66%] 4148s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 66%] 4149s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 66%] 4149s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 4149s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 4149s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 67%] 4149s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 67%] 4149s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 67%] 4149s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 67%] 4149s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 4149s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 4149s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 4149s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 68%] 4149s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 68%] 4149s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 68%] 4149s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 4149s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 4149s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 4149s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 69%] 4149s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 69%] 4149s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 69%] 4149s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 4149s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 4149s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 4149s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 4149s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 70%] 4149s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 70%] 4149s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 4149s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 4149s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 4149s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 4149s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 71%] 4149s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 71%] 4149s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 4149s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 4149s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 4149s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 4149s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 4149s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 72%] 4149s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 72%] 4149s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 4149s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 4149s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 4149s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 4149s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 73%] 4149s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 73%] 4149s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 4149s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 4149s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 4149s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 4149s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 4149s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 74%] 4149s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 4149s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 4149s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 4149s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 4149s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 4149s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 75%] 4150s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 4152s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 4154s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 4154s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 4156s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 4156s tests/test_raft.py::TestRaft::test_init PASSED [ 76%] 4158s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 4158s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 4158s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 4158s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 4158s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 4158s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 4158s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 4158s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 4158s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 4158s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 4158s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 4158s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 4158s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 4158s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 4158s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 4158s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 4158s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 4158s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 4158s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 4158s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 4158s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 4158s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 4158s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 4158s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 4158s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 4158s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 80%] 4158s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 4158s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 4158s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 4158s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 4158s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 4158s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 4159s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 81%] 4159s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 4159s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 4159s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 4159s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 4159s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 4159s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 4159s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 4159s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 4159s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 4159s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 4159s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 4159s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 4159s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 4159s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 4159s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 4159s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 4159s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 4159s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 4159s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 4159s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 4159s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 4159s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 4159s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 4159s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 4159s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 4159s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 4159s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 4159s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 4159s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 4159s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 4159s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 4159s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 4159s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 4159s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 4159s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 4159s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 4159s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 4159s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 4159s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 4159s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 4159s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 4159s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 4159s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 4159s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 4159s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 4159s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 4159s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 4159s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 4159s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 4159s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 4159s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 4159s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 4159s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 4159s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 4159s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 4159s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 4159s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 4159s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 4159s patroni/api.py::patroni.api.check_access PASSED [ 93%] 4159s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 4159s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 4159s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 4159s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 4159s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 4159s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 4159s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 4159s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 4159s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 4160s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 4160s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 95%] 4160s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 4160s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 4160s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 4160s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 4160s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 4160s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 4160s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 4160s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 4160s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 4160s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 4160s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 4160s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 4160s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 97%] 4160s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 4160s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 4160s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 4160s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 4160s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 4160s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 97%] 4160s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 4160s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 4160s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 4160s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 4160s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 4160s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 4160s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 4160s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 4160s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 4160s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 4160s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 4160s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 4163s patroni/utils.py::patroni.utils.unquote PASSED [100%] 4163s 4163s ---------- coverage: platform linux, python 3.12.7-final-0 ----------- 4163s Name Stmts Miss Cover Missing 4163s ----------------------------------------------------------------------------------- 4163s patroni/__init__.py 13 0 100% 4163s patroni/__main__.py 199 1 99% 395 4163s patroni/api.py 770 0 100% 4163s patroni/async_executor.py 96 0 100% 4163s patroni/collections.py 56 3 95% 50, 99, 107 4163s patroni/config.py 371 0 100% 4163s patroni/config_generator.py 212 0 100% 4163s patroni/ctl.py 936 0 100% 4163s patroni/daemon.py 76 0 100% 4163s patroni/dcs/__init__.py 646 0 100% 4163s patroni/dcs/consul.py 485 0 100% 4163s patroni/dcs/etcd3.py 679 0 100% 4163s patroni/dcs/etcd.py 603 0 100% 4163s patroni/dcs/exhibitor.py 61 0 100% 4163s patroni/dcs/kubernetes.py 938 0 100% 4163s patroni/dcs/raft.py 319 0 100% 4163s patroni/dcs/zookeeper.py 288 0 100% 4163s patroni/dynamic_loader.py 35 0 100% 4163s patroni/exceptions.py 16 0 100% 4163s patroni/file_perm.py 43 0 100% 4163s patroni/global_config.py 81 0 100% 4163s patroni/ha.py 1244 2 99% 1925-1926 4163s patroni/log.py 219 2 99% 365-367 4163s patroni/postgresql/__init__.py 821 0 100% 4163s patroni/postgresql/available_parameters/__init__.py 21 0 100% 4163s patroni/postgresql/bootstrap.py 252 0 100% 4163s patroni/postgresql/callback_executor.py 55 0 100% 4163s patroni/postgresql/cancellable.py 104 0 100% 4163s patroni/postgresql/config.py 813 0 100% 4163s patroni/postgresql/connection.py 75 0 100% 4163s patroni/postgresql/misc.py 41 0 100% 4163s patroni/postgresql/mpp/__init__.py 89 0 100% 4163s 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 4163s patroni/postgresql/postmaster.py 170 0 100% 4163s patroni/postgresql/rewind.py 416 0 100% 4163s patroni/postgresql/slots.py 334 0 100% 4163s patroni/postgresql/sync.py 130 0 100% 4163s patroni/postgresql/validator.py 157 0 100% 4163s patroni/psycopg.py 42 16 62% 19, 25-26, 42, 44-82, 120 4163s patroni/raft_controller.py 22 0 100% 4163s patroni/request.py 62 0 100% 4163s patroni/scripts/__init__.py 0 0 100% 4163s patroni/scripts/aws.py 59 1 98% 86 4163s patroni/scripts/barman/__init__.py 0 0 100% 4163s patroni/scripts/barman/cli.py 51 1 98% 240 4163s patroni/scripts/barman/config_switch.py 51 0 100% 4163s patroni/scripts/barman/recover.py 37 0 100% 4163s patroni/scripts/barman/utils.py 94 0 100% 4163s patroni/scripts/wale_restore.py 207 1 99% 374 4163s patroni/tags.py 38 0 100% 4163s patroni/utils.py 350 0 100% 4163s patroni/validator.py 301 0 100% 4163s patroni/version.py 1 0 100% 4163s patroni/watchdog/__init__.py 2 0 100% 4163s patroni/watchdog/base.py 203 0 100% 4163s patroni/watchdog/linux.py 135 1 99% 36 4163s ----------------------------------------------------------------------------------- 4163s TOTAL 13778 150 99% 4163s Coverage XML written to file coverage.xml 4163s 4163s 4163s ======================= 632 passed, 14 skipped in 31.99s ======================= 4164s autopkgtest [05:11:30]: test test: -----------------------] 4169s autopkgtest [05:11:35]: test test: - - - - - - - - - - results - - - - - - - - - - 4169s test PASS 4173s autopkgtest [05:11:39]: @@@@@@@@@@@@@@@@@@@@ summary 4173s acceptance-etcd3 PASS 4173s acceptance-etcd-basic PASS 4173s acceptance-etcd PASS 4173s acceptance-zookeeper PASS 4173s acceptance-raft PASS 4173s test PASS