0s autopkgtest [13:02:18]: starting date and time: 2024-11-06 13:02:18+0000 0s autopkgtest [13:02:18]: git checkout: 0acbae0a WIP show VirtSubproc stderr in real-time 0s autopkgtest [13:02:18]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ly9cp2vq/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python-flake8,src:pycodestyle --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python-flake8/7.1.1-2 pycodestyle/2.12.1-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-11.secgroup --name adt-plucky-arm64-patroni-20241106-130217-juju-7f2275-prod-proposed-migration-environment-2-765ea779-e188-475d-b0e5-c7d670f339a5 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 80s autopkgtest [13:03:38]: testbed dpkg architecture: arm64 80s autopkgtest [13:03:38]: testbed apt version: 2.9.8 80s autopkgtest [13:03:38]: @@@@@@@@@@@@@@@@@@@@ test bed setup 81s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 81s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 81s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [19.4 kB] 81s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [1652 kB] 82s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [175 kB] 82s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [241 kB] 82s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 82s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [1295 kB] 82s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [19.4 kB] 82s Fetched 3533 kB in 1s (3306 kB/s) 82s Reading package lists... 85s Reading package lists... 85s Building dependency tree... 85s Reading state information... 86s Calculating upgrade... 86s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 86s Reading package lists... 86s Building dependency tree... 86s Reading state information... 87s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 87s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 87s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 88s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 88s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 89s Reading package lists... 89s Reading package lists... 89s Building dependency tree... 89s Reading state information... 89s Calculating upgrade... 90s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 90s Reading package lists... 90s Building dependency tree... 90s Reading state information... 91s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 94s autopkgtest [13:03:52]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 94s autopkgtest [13:03:52]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 97s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (dsc) [2851 B] 97s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (tar) [1150 kB] 97s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.1-1 (diff) [23.1 kB] 97s gpgv: Signature made Tue Jul 2 12:54:38 2024 UTC 97s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 97s gpgv: Can't check signature: No public key 97s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.1-1.dsc: no acceptable signature found 97s autopkgtest [13:03:55]: testing package patroni version 3.3.1-1 98s autopkgtest [13:03:56]: build not needed 98s autopkgtest [13:03:56]: test acceptance-etcd3: preparing testbed 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 100s Starting pkgProblemResolver with broken count: 0 100s Starting 2 pkgProblemResolver with broken count: 0 100s Done 101s The following additional packages will be installed: 101s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 101s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 101s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 101s patroni-doc postgresql postgresql-16 postgresql-client-16 101s postgresql-client-common postgresql-common python3-behave python3-cdiff 101s python3-click python3-colorama python3-coverage python3-dateutil 101s python3-dnspython python3-etcd python3-parse python3-parse-type 101s python3-prettytable python3-psutil python3-psycopg2 python3-six 101s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 101s Suggested packages: 101s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 101s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 101s python3-httpcore etcd python-psycopg2-doc 101s Recommended packages: 101s javascript-common libjson-xs-perl 101s The following NEW packages will be installed: 101s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 101s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 101s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 101s patroni-doc postgresql postgresql-16 postgresql-client-16 101s postgresql-client-common postgresql-common python3-behave python3-cdiff 101s python3-click python3-colorama python3-coverage python3-dateutil 101s python3-dnspython python3-etcd python3-parse python3-parse-type 101s python3-prettytable python3-psutil python3-psycopg2 python3-six 101s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 101s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 101s Need to get 34.5 MB/34.5 MB of archives. 101s After this operation, 126 MB of additional disk space will be used. 101s Get:1 /tmp/autopkgtest.QdIpNW/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [760 B] 101s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 102s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 102s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 102s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 102s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 102s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.15-7 [10.5 MB] 103s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 103s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 103s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 103s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 103s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 103s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 103s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 103s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 103s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 103s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 103s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 103s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 103s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 103s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 103s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 103s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 103s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 103s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 103s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 103s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 103s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 103s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 103s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 103s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 103s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-2 [1012 kB] 103s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 103s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 103s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 104s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 104s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 104s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 104s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 104s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 104s Preconfiguring packages ... 104s Fetched 34.5 MB in 3s (13.4 MB/s) 104s Selecting previously unselected package fonts-lato. 104s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 79706 files and directories currently installed.) 104s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 104s Unpacking fonts-lato (2.015-1) ... 105s Selecting previously unselected package libjson-perl. 105s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 105s Unpacking libjson-perl (4.10000-1) ... 105s Selecting previously unselected package postgresql-client-common. 105s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 105s Unpacking postgresql-client-common (262) ... 105s Selecting previously unselected package ssl-cert. 105s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 105s Unpacking ssl-cert (1.1.2ubuntu2) ... 105s Selecting previously unselected package postgresql-common. 105s Preparing to unpack .../04-postgresql-common_262_all.deb ... 105s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 105s Unpacking postgresql-common (262) ... 105s Selecting previously unselected package etcd-server. 105s Preparing to unpack .../05-etcd-server_3.5.15-7_arm64.deb ... 105s Unpacking etcd-server (3.5.15-7) ... 105s Selecting previously unselected package fonts-font-awesome. 105s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 105s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 105s Selecting previously unselected package libio-pty-perl. 105s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 105s Unpacking libio-pty-perl (1:1.20-1build3) ... 105s Selecting previously unselected package libipc-run-perl. 105s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 105s Unpacking libipc-run-perl (20231003.0-2) ... 105s Selecting previously unselected package libjs-jquery. 105s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 105s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 105s Selecting previously unselected package libjs-underscore. 105s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 105s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 105s Selecting previously unselected package libjs-sphinxdoc. 105s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-3_all.deb ... 105s Unpacking libjs-sphinxdoc (7.4.7-3) ... 105s Selecting previously unselected package libpq5:arm64. 105s Preparing to unpack .../12-libpq5_17.0-1_arm64.deb ... 105s Unpacking libpq5:arm64 (17.0-1) ... 105s Selecting previously unselected package libtime-duration-perl. 105s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 105s Unpacking libtime-duration-perl (1.21-2) ... 105s Selecting previously unselected package libtimedate-perl. 105s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 105s Unpacking libtimedate-perl (2.3300-2) ... 105s Selecting previously unselected package libxslt1.1:arm64. 105s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 105s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 105s Selecting previously unselected package moreutils. 105s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 105s Unpacking moreutils (0.69-1) ... 106s Selecting previously unselected package python3-ydiff. 106s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 106s Unpacking python3-ydiff (1.3-1) ... 106s Selecting previously unselected package python3-cdiff. 106s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 106s Unpacking python3-cdiff (1.3-1) ... 106s Selecting previously unselected package python3-colorama. 106s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 106s Unpacking python3-colorama (0.4.6-4) ... 106s Selecting previously unselected package python3-click. 106s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 106s Unpacking python3-click (8.1.7-2) ... 106s Selecting previously unselected package python3-six. 106s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 106s Unpacking python3-six (1.16.0-7) ... 106s Selecting previously unselected package python3-dateutil. 106s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 106s Unpacking python3-dateutil (2.9.0-2) ... 106s Selecting previously unselected package python3-wcwidth. 106s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 106s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 106s Selecting previously unselected package python3-prettytable. 106s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 106s Unpacking python3-prettytable (3.10.1-1) ... 106s Selecting previously unselected package python3-psutil. 106s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_arm64.deb ... 106s Unpacking python3-psutil (5.9.8-2build2) ... 106s Selecting previously unselected package python3-psycopg2. 106s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_arm64.deb ... 106s Unpacking python3-psycopg2 (2.9.9-2) ... 106s Selecting previously unselected package python3-dnspython. 106s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 106s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 106s Selecting previously unselected package python3-etcd. 106s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 106s Unpacking python3-etcd (0.4.5-4) ... 106s Selecting previously unselected package patroni. 106s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 106s Unpacking patroni (3.3.1-1) ... 106s Selecting previously unselected package sphinx-rtd-theme-common. 106s Preparing to unpack .../30-sphinx-rtd-theme-common_2.0.0+dfsg-2_all.deb ... 106s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 106s Selecting previously unselected package patroni-doc. 106s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 106s Unpacking patroni-doc (3.3.1-1) ... 106s Selecting previously unselected package postgresql-client-16. 106s Preparing to unpack .../32-postgresql-client-16_16.4-3_arm64.deb ... 106s Unpacking postgresql-client-16 (16.4-3) ... 106s Selecting previously unselected package postgresql-16. 106s Preparing to unpack .../33-postgresql-16_16.4-3_arm64.deb ... 106s Unpacking postgresql-16 (16.4-3) ... 107s Selecting previously unselected package postgresql. 107s Preparing to unpack .../34-postgresql_16+262_all.deb ... 107s Unpacking postgresql (16+262) ... 107s Selecting previously unselected package python3-parse. 107s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 107s Unpacking python3-parse (1.20.2-1) ... 107s Selecting previously unselected package python3-parse-type. 107s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 107s Unpacking python3-parse-type (0.6.4-1) ... 107s Selecting previously unselected package python3-behave. 107s Preparing to unpack .../37-python3-behave_1.2.6-5_all.deb ... 107s Unpacking python3-behave (1.2.6-5) ... 107s Selecting previously unselected package python3-coverage. 107s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 107s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 107s Selecting previously unselected package autopkgtest-satdep. 107s Preparing to unpack .../39-1-autopkgtest-satdep.deb ... 107s Unpacking autopkgtest-satdep (0) ... 107s Setting up postgresql-client-common (262) ... 107s Setting up fonts-lato (2.015-1) ... 107s Setting up libio-pty-perl (1:1.20-1build3) ... 107s Setting up python3-colorama (0.4.6-4) ... 107s Setting up python3-ydiff (1.3-1) ... 107s Setting up libpq5:arm64 (17.0-1) ... 107s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 107s Setting up python3-click (8.1.7-2) ... 108s Setting up python3-psutil (5.9.8-2build2) ... 108s Setting up python3-six (1.16.0-7) ... 108s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 108s Setting up ssl-cert (1.1.2ubuntu2) ... 109s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 109s Setting up python3-psycopg2 (2.9.9-2) ... 109s Setting up libipc-run-perl (20231003.0-2) ... 109s Setting up libtime-duration-perl (1.21-2) ... 109s Setting up libtimedate-perl (2.3300-2) ... 110s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 110s Setting up python3-parse (1.20.2-1) ... 110s Setting up libjson-perl (4.10000-1) ... 110s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 110s Setting up python3-dateutil (2.9.0-2) ... 110s Setting up etcd-server (3.5.15-7) ... 110s info: Selecting UID from range 100 to 999 ... 110s 110s info: Selecting GID from range 100 to 999 ... 110s info: Adding system user `etcd' (UID 107) ... 110s info: Adding new group `etcd' (GID 111) ... 110s info: Adding new user `etcd' (UID 107) with group `etcd' ... 110s info: Creating home directory `/var/lib/etcd/' ... 111s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 111s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 112s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 112s Setting up python3-prettytable (3.10.1-1) ... 112s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 112s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 112s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 112s Setting up moreutils (0.69-1) ... 112s Setting up python3-etcd (0.4.5-4) ... 112s Setting up postgresql-client-16 (16.4-3) ... 113s 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 113s Setting up python3-cdiff (1.3-1) ... 113s Setting up python3-parse-type (0.6.4-1) ... 113s Setting up postgresql-common (262) ... 113s 113s Creating config file /etc/postgresql-common/createcluster.conf with new version 113s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 113s Removing obsolete dictionary files: 114s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 114s Setting up libjs-sphinxdoc (7.4.7-3) ... 114s Setting up python3-behave (1.2.6-5) ... 115s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 115s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 115s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 115s """Registers a custom type that will be available to "parse" 115s Setting up patroni (3.3.1-1) ... 115s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 115s Setting up postgresql-16 (16.4-3) ... 116s Creating new PostgreSQL cluster 16/main ... 116s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 116s The files belonging to this database system will be owned by user "postgres". 116s This user must also own the server process. 116s 116s The database cluster will be initialized with locale "C.UTF-8". 116s The default database encoding has accordingly been set to "UTF8". 116s The default text search configuration will be set to "english". 116s 116s Data page checksums are disabled. 116s 116s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 116s creating subdirectories ... ok 116s selecting dynamic shared memory implementation ... posix 116s selecting default max_connections ... 100 116s selecting default shared_buffers ... 128MB 116s selecting default time zone ... Etc/UTC 116s creating configuration files ... ok 116s running bootstrap script ... ok 116s performing post-bootstrap initialization ... ok 116s syncing data to disk ... ok 120s Setting up patroni-doc (3.3.1-1) ... 120s Setting up postgresql (16+262) ... 120s Setting up autopkgtest-satdep (0) ... 120s Processing triggers for man-db (2.12.1-3) ... 121s Processing triggers for libc-bin (2.40-1ubuntu3) ... 125s (Reading database ... 82917 files and directories currently installed.) 125s Removing autopkgtest-satdep (0) ... 126s autopkgtest [13:04:24]: test acceptance-etcd3: debian/tests/acceptance etcd3 126s autopkgtest [13:04:24]: test acceptance-etcd3: [----------------------- 126s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 126s ++ ls -1r /usr/lib/postgresql/ 126s ### PostgreSQL 16 acceptance-etcd3 ### 126s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 126s + '[' 16 == 10 -o 16 == 11 ']' 126s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 126s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=etcd3 PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 127s Nov 06 13:04:25 Feature: basic replication # features/basic_replication.feature:1 127s Nov 06 13:04:25 We should check that the basic bootstrapping, replication and failover works. 127s Nov 06 13:04:25 Scenario: check replication of a single table # features/basic_replication.feature:4 127s Nov 06 13:04:25 Given I start postgres0 # features/steps/basic_replication.py:8 131s Nov 06 13:04:29 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 131s Nov 06 13:04:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 131s Nov 06 13:04:29 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 131s Nov 06 13:04:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 131s Nov 06 13:04:29 When I start postgres1 # features/steps/basic_replication.py:8 136s Nov 06 13:04:33 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 140s Nov 06 13:04:38 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 140s Nov 06 13:04:38 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 140s Nov 06 13:04:38 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 141s Nov 06 13:04:39 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 141s Nov 06 13:04:39 141s Nov 06 13:04:39 Scenario: check restart of sync replica # features/basic_replication.feature:17 141s Nov 06 13:04:39 Given I shut down postgres2 # features/steps/basic_replication.py:29 142s Nov 06 13:04:40 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 142s Nov 06 13:04:40 When I start postgres2 # features/steps/basic_replication.py:8 145s Nov 06 13:04:43 And I shut down postgres1 # features/steps/basic_replication.py:29 148s Nov 06 13:04:46 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 149s Nov 06 13:04:47 When I start postgres1 # features/steps/basic_replication.py:8 152s Nov 06 13:04:50 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 153s Nov 06 13:04:51 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 153s Nov 06 13:04:51 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 153s Nov 06 13:04:51 153s Nov 06 13:04:51 Scenario: check stuck sync replica # features/basic_replication.feature:28 153s Nov 06 13:04:51 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 153s Nov 06 13:04:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 153s Nov 06 13:04:51 And I create table on postgres0 # features/steps/basic_replication.py:73 153s Nov 06 13:04:51 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 154s Nov 06 13:04:52 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 154s Nov 06 13:04:52 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 154s Nov 06 13:04:52 And I load data on postgres0 # features/steps/basic_replication.py:84 154s Nov 06 13:04:52 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 157s Nov 06 13:04:55 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 157s Nov 06 13:04:55 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 159s Nov 06 13:04:57 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 159s Nov 06 13:04:57 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 159s Nov 06 13:04:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 159s Nov 06 13:04:57 And I drop table on postgres0 # features/steps/basic_replication.py:73 159s Nov 06 13:04:57 159s Nov 06 13:04:57 Scenario: check multi sync replication # features/basic_replication.feature:44 159s Nov 06 13:04:57 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 159s Nov 06 13:04:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 159s Nov 06 13:04:57 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 163s Nov 06 13:05:01 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 163s Nov 06 13:05:01 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 163s Nov 06 13:05:01 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 163s Nov 06 13:05:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 163s Nov 06 13:05:01 And I shut down postgres1 # features/steps/basic_replication.py:29 166s Nov 06 13:05:04 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 167s Nov 06 13:05:05 When I start postgres1 # features/steps/basic_replication.py:8 171s Nov 06 13:05:09 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 171s Nov 06 13:05:09 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 171s Nov 06 13:05:09 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 171s Nov 06 13:05:09 171s Nov 06 13:05:09 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 171s Nov 06 13:05:09 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 173s Nov 06 13:05:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 173s Nov 06 13:05:11 When I sleep for 2 seconds # features/steps/patroni_api.py:39 175s Nov 06 13:05:13 And I shut down postgres0 # features/steps/basic_replication.py:29 176s Nov 06 13:05:14 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 178s Nov 06 13:05:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 178s Nov 06 13:05:16 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 197s Nov 06 13:05:35 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 199s Nov 06 13:05:37 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 199s Nov 06 13:05:37 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 199s Nov 06 13:05:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 199s Nov 06 13:05:37 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 199s Nov 06 13:05:37 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 202s Nov 06 13:05:40 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 202s Nov 06 13:05:40 202s Nov 06 13:05:40 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 202s Nov 06 13:05:40 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 202s Nov 06 13:05:40 And I start postgres0 # features/steps/basic_replication.py:8 202s Nov 06 13:05:40 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 210s Nov 06 13:05:48 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 210s Nov 06 13:05:48 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 210s Nov 06 13:05:48 210s Nov 06 13:05:48 @reject-duplicate-name 210s Nov 06 13:05:48 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 210s Nov 06 13:05:48 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 213s Nov 06 13:05:51 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 218s Nov 06 13:05:56 218s Nov 06 13:05:56 Feature: cascading replication # features/cascading_replication.feature:1 218s Nov 06 13:05:56 We should check that patroni can do base backup and streaming from the replica 218s Nov 06 13:05:56 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 218s Nov 06 13:05:56 Given I start postgres0 # features/steps/basic_replication.py:8 222s Nov 06 13:06:00 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 222s Nov 06 13:06:00 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 226s Nov 06 13:06:04 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 227s Nov 06 13:06:05 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 227s Nov 06 13:06:05 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 227s Nov 06 13:06:05 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 227s Nov 06 13:06:05 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 231s Nov 06 13:06:09 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 232s Nov 06 13:06:10 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 237s Nov 06 13:06:15 237s Nov 06 13:06:15 Feature: citus # features/citus.feature:1 237s Nov 06 13:06:15 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 237s Nov 06 13:06:15 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 237s Nov 06 13:06:15 Given I start postgres0 in citus group 0 # None 237s Nov 06 13:06:15 And I start postgres2 in citus group 1 # None 237s Nov 06 13:06:15 Then postgres0 is a leader in a group 0 after 10 seconds # None 237s Nov 06 13:06:15 And postgres2 is a leader in a group 1 after 10 seconds # None 237s Nov 06 13:06:15 When I start postgres1 in citus group 0 # None 237s Nov 06 13:06:15 And I start postgres3 in citus group 1 # None 237s Nov 06 13:06:15 Then replication works from postgres0 to postgres1 after 15 seconds # None 237s Nov 06 13:06:15 Then replication works from postgres2 to postgres3 after 15 seconds # None 237s Nov 06 13:06:15 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 237s Nov 06 13:06:15 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 237s Nov 06 13:06:15 237s Nov 06 13:06:15 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 237s Nov 06 13:06:15 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 237s Nov 06 13:06:15 Then postgres1 role is the primary after 10 seconds # None 237s Nov 06 13:06:15 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 237s Nov 06 13:06:15 And replication works from postgres1 to postgres0 after 15 seconds # None 237s Nov 06 13:06:15 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 237s Nov 06 13:06:15 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 237s Nov 06 13:06:15 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 237s Nov 06 13:06:15 Then postgres0 role is the primary after 10 seconds # None 237s Nov 06 13:06:15 And replication works from postgres0 to postgres1 after 15 seconds # None 237s Nov 06 13:06:15 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 237s Nov 06 13:06:15 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 237s Nov 06 13:06:15 237s Nov 06 13:06:15 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 237s Nov 06 13:06:15 Given I create a distributed table on postgres0 # None 237s Nov 06 13:06:15 And I start a thread inserting data on postgres0 # None 237s Nov 06 13:06:15 When I run patronictl.py switchover batman --group 1 --force # None 237s Nov 06 13:06:15 Then I receive a response returncode 0 # None 237s Nov 06 13:06:15 And postgres3 role is the primary after 10 seconds # None 237s Nov 06 13:06:15 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 237s Nov 06 13:06:15 And replication works from postgres3 to postgres2 after 15 seconds # None 237s Nov 06 13:06:15 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 237s Nov 06 13:06:15 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 237s Nov 06 13:06:15 And a thread is still alive # None 237s Nov 06 13:06:15 When I run patronictl.py switchover batman --group 1 --force # None 237s Nov 06 13:06:15 Then I receive a response returncode 0 # None 237s Nov 06 13:06:15 And postgres2 role is the primary after 10 seconds # None 237s Nov 06 13:06:15 And replication works from postgres2 to postgres3 after 15 seconds # None 237s Nov 06 13:06:15 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 237s Nov 06 13:06:15 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 237s Nov 06 13:06:15 And a thread is still alive # None 237s Nov 06 13:06:15 When I stop a thread # None 237s Nov 06 13:06:15 Then a distributed table on postgres0 has expected rows # None 237s Nov 06 13:06:15 237s Nov 06 13:06:15 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 237s Nov 06 13:06:15 Given I cleanup a distributed table on postgres0 # None 237s Nov 06 13:06:15 And I start a thread inserting data on postgres0 # None 237s Nov 06 13:06:15 When I run patronictl.py restart batman postgres2 --group 1 --force # None 237s Nov 06 13:06:15 Then I receive a response returncode 0 # None 237s Nov 06 13:06:15 And postgres2 role is the primary after 10 seconds # None 237s Nov 06 13:06:15 And replication works from postgres2 to postgres3 after 15 seconds # None 237s Nov 06 13:06:15 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 237s Nov 06 13:06:15 And a thread is still alive # None 237s Nov 06 13:06:15 When I stop a thread # None 237s Nov 06 13:06:15 Then a distributed table on postgres0 has expected rows # None 237s Nov 06 13:06:15 237s Nov 06 13:06:15 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 237s Nov 06 13:06:15 Given I start postgres4 in citus group 2 # None 237s Nov 06 13:06:15 Then postgres4 is a leader in a group 2 after 10 seconds # None 237s Nov 06 13:06:15 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 237s Nov 06 13:06:15 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 237s Nov 06 13:06:15 Then I receive a response returncode 0 # None 237s Nov 06 13:06:15 And I receive a response output "+ttl: 20" # None 237s Nov 06 13:06:15 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 237s Nov 06 13:06:15 When I shut down postgres4 # None 237s Nov 06 13:06:15 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 237s Nov 06 13:06:15 When I run patronictl.py restart batman postgres2 --group 1 --force # None 237s Nov 06 13:06:15 Then a transaction finishes in 20 seconds # None 237s Nov 06 13:06:15 237s Nov 06 13:06:15 Feature: custom bootstrap # features/custom_bootstrap.feature:1 237s Nov 06 13:06:15 We should check that patroni can bootstrap a new cluster from a backup 237s Nov 06 13:06:15 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 237s Nov 06 13:06:15 Given I start postgres0 # features/steps/basic_replication.py:8 237s SKIP FEATURE citus: Citus extenstion isn't available 237s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 237s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 237s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 237s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 237s 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 241s Nov 06 13:06:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 241s Nov 06 13:06:19 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 241s Nov 06 13:06:19 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 245s Nov 06 13:06:23 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 246s Nov 06 13:06:24 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 246s Nov 06 13:06:24 246s Nov 06 13:06:24 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 246s Nov 06 13:06:24 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 246s Nov 06 13:06:24 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 247s Nov 06 13:06:24 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 253s Nov 06 13:06:31 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 253s Nov 06 13:06:31 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 259s Nov 06 13:06:37 259s Nov 06 13:06:37 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 259s Nov 06 13:06:37 We should check the basic dcs failsafe mode functioning 259s Nov 06 13:06:37 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 259s Nov 06 13:06:37 Given I start postgres0 # features/steps/basic_replication.py:8 263s Nov 06 13:06:41 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 263s Nov 06 13:06:41 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 263s Nov 06 13:06:41 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 263s Nov 06 13:06:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 263s Nov 06 13:06:41 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 264s Nov 06 13:06:42 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 264s Nov 06 13:06:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 264s Nov 06 13:06:42 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 264s Nov 06 13:06:42 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 264s Nov 06 13:06:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 264s Nov 06 13:06:42 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 264s Nov 06 13:06:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 264s Nov 06 13:06:42 264s Nov 06 13:06:42 @dcs-failsafe 264s Nov 06 13:06:42 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 264s Nov 06 13:06:42 Given DCS is down # None 264s Nov 06 13:06:42 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 264s Nov 06 13:06:42 And postgres0 role is the primary after 10 seconds # None 264s Nov 06 13:06:42 264s Nov 06 13:06:42 @dcs-failsafe 264s Nov 06 13:06:42 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 264s Nov 06 13:06:42 Given DCS is up # None 264s Nov 06 13:06:42 When I do a backup of postgres0 # None 264s Nov 06 13:06:42 And I shut down postgres0 # None 264s Nov 06 13:06:42 When I start postgres1 in a cluster batman from backup with no_leader # None 264s Nov 06 13:06:42 Then postgres1 role is the replica after 12 seconds # None 264s Nov 06 13:06:42 264s Nov 06 13:06:42 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 264s Nov 06 13:06:42 Given I start postgres0 # features/steps/basic_replication.py:8 264s Nov 06 13:06:42 And I start postgres1 # features/steps/basic_replication.py:8 264s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 264s 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 268s Nov 06 13:06:46 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 268s Nov 06 13:06:46 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 268s Nov 06 13:06:46 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 268s Nov 06 13:06:46 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 268s Nov 06 13:06:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 268s Nov 06 13:06:46 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 268s Nov 06 13:06:46 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 268s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 268s 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 268s 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 268s Nov 06 13:06:46 268s Nov 06 13:06:46 @dcs-failsafe @slot-advance 268s Nov 06 13:06:46 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 268s Nov 06 13:06:46 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 268s Nov 06 13:06:46 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 268s Nov 06 13:06:46 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 268s Nov 06 13:06:46 And DCS is down # None 268s Nov 06 13:06:46 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 268s Nov 06 13:06:46 Then postgres0 role is the primary after 10 seconds # None 268s Nov 06 13:06:46 And postgres1 role is the replica after 2 seconds # None 268s Nov 06 13:06:46 And replication works from postgres0 to postgres1 after 10 seconds # None 268s Nov 06 13:06:46 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 268s Nov 06 13:06:46 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 268s Nov 06 13:06:46 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 268s Nov 06 13:06:46 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 268s Nov 06 13:06:46 268s Nov 06 13:06:46 @dcs-failsafe 268s Nov 06 13:06:46 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 268s Nov 06 13:06:46 Given DCS is down # None 268s Nov 06 13:06:46 And I kill postgres1 # None 268s Nov 06 13:06:46 And I kill postmaster on postgres1 # None 268s Nov 06 13:06:46 Then postgres0 role is the replica after 12 seconds # None 268s Nov 06 13:06:46 268s Nov 06 13:06:46 @dcs-failsafe 268s Nov 06 13:06:46 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 268s Nov 06 13:06:46 Given I kill postgres0 # None 268s Nov 06 13:06:46 And I shut down postmaster on postgres0 # None 268s Nov 06 13:06:46 And DCS is up # None 268s Nov 06 13:06:46 When I start postgres1 # None 268s Nov 06 13:06:46 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 268s Nov 06 13:06:46 And postgres1 role is the primary after 25 seconds # None 268s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 268s Nov 06 13:06:46 268s Nov 06 13:06:46 @dcs-failsafe 268s Nov 06 13:06:46 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 268s Nov 06 13:06:46 Given I start postgres0 # None 268s Nov 06 13:06:46 And I start postgres2 # None 268s Nov 06 13:06:46 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 268s Nov 06 13:06:46 And "members/postgres0" key in DCS has state=running after 20 seconds # None 268s Nov 06 13:06:46 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 268s Nov 06 13:06:46 And replication works from postgres1 to postgres0 after 10 seconds # None 268s Nov 06 13:06:46 And replication works from postgres1 to postgres2 after 10 seconds # None 268s Nov 06 13:06:46 268s Nov 06 13:06:46 @dcs-failsafe @slot-advance 268s Nov 06 13:06:46 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 268s Nov 06 13:06:46 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 268s Nov 06 13:06:46 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 268s Nov 06 13:06:46 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 268s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 268s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 268s Nov 06 13:06:46 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 268s Nov 06 13:06:46 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 268s Nov 06 13:06:46 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 268s Nov 06 13:06:46 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 268s Nov 06 13:06:46 268s Nov 06 13:06:46 @dcs-failsafe 268s Nov 06 13:06:46 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 268s Nov 06 13:06:46 Given DCS is down # None 268s Nov 06 13:06:46 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 268s Nov 06 13:06:46 Then postgres1 role is the primary after 10 seconds # None 268s Nov 06 13:06:46 And postgres0 role is the replica after 2 seconds # None 268s Nov 06 13:06:46 And postgres2 role is the replica after 2 seconds # None 268s 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 272s Nov 06 13:06:50 272s Nov 06 13:06:50 @dcs-failsafe @slot-advance 272s Nov 06 13:06:50 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 272s Nov 06 13:06:50 Given replication works from postgres1 to postgres0 after 10 seconds # None 272s Nov 06 13:06:50 And replication works from postgres1 to postgres2 after 10 seconds # None 272s Nov 06 13:06:50 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 272s Nov 06 13:06:50 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 272s Nov 06 13:06:50 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 272s Nov 06 13:06:50 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 272s Nov 06 13:06:50 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 272s Nov 06 13:06:50 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 272s Nov 06 13:06:50 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 272s Nov 06 13:06:50 272s Nov 06 13:06:50 Feature: ignored slots # features/ignored_slots.feature:1 272s Nov 06 13:06:50 272s Nov 06 13:06:50 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 272s Nov 06 13:06:50 Given I start postgres1 # features/steps/basic_replication.py:8 276s Nov 06 13:06:54 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 276s Nov 06 13:06:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 276s Nov 06 13:06:54 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 276s Nov 06 13:06:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 276s Nov 06 13:06:54 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 276s Nov 06 13:06:54 When I shut down postgres1 # features/steps/basic_replication.py:29 278s Nov 06 13:06:56 And I start postgres1 # features/steps/basic_replication.py:8 282s Nov 06 13:06:59 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 283s Nov 06 13:07:00 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 284s Nov 06 13:07:01 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 284s Nov 06 13:07:01 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 284s Nov 06 13:07:01 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 284s Nov 06 13:07:02 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 284s Nov 06 13:07:02 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 284s Nov 06 13:07:02 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 284s Nov 06 13:07:02 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 284s Nov 06 13:07:02 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 284s Nov 06 13:07:02 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 284s Nov 06 13:07:02 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 284s Nov 06 13:07:02 When I start postgres0 # features/steps/basic_replication.py:8 288s Nov 06 13:07:06 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 288s Nov 06 13:07:06 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 288s Nov 06 13:07:06 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 289s Nov 06 13:07:07 When I shut down postgres1 # features/steps/basic_replication.py:29 291s Nov 06 13:07:09 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 292s Nov 06 13:07:10 When I start postgres1 # features/steps/basic_replication.py:8 296s Nov 06 13:07:14 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 296s Nov 06 13:07:14 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 296s Nov 06 13:07:14 And I sleep for 2 seconds # features/steps/patroni_api.py:39 298s Nov 06 13:07:16 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 298s Nov 06 13:07:16 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 298s Nov 06 13:07:16 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 298s Nov 06 13:07:16 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 298s Nov 06 13:07:16 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 298s Nov 06 13:07:16 When I shut down postgres0 # features/steps/basic_replication.py:29 300s Nov 06 13:07:18 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 301s Nov 06 13:07: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 301s Nov 06 13:07: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 301s Nov 06 13:07: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 301s Nov 06 13:07: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 303s Nov 06 13:07:21 303s Nov 06 13:07:21 Feature: nostream node # features/nostream_node.feature:1 303s Nov 06 13:07:21 303s Nov 06 13:07:21 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 303s Nov 06 13:07:21 When I start postgres0 # features/steps/basic_replication.py:8 307s Nov 06 13:07:25 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 311s Nov 06 13:07:29 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 311s Nov 06 13:07:29 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 316s Nov 06 13:07:34 316s Nov 06 13:07:34 @slot-advance 316s Nov 06 13:07:34 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 316s Nov 06 13:07:34 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 316s Nov 06 13:07:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 316s Nov 06 13:07:34 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 319s Nov 06 13:07:37 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 320s Nov 06 13:07:38 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 324s Nov 06 13:07:42 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 331s Nov 06 13:07:49 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 331s Nov 06 13:07:49 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 336s Nov 06 13:07:54 336s Nov 06 13:07:54 Feature: patroni api # features/patroni_api.feature:1 336s Nov 06 13:07:54 We should check that patroni correctly responds to valid and not-valid API requests. 336s Nov 06 13:07:54 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 336s Nov 06 13:07:54 Given I start postgres0 # features/steps/basic_replication.py:8 340s Nov 06 13:07:58 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 340s Nov 06 13:07:58 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 340s Nov 06 13:07:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 340s Nov 06 13:07:58 And I receive a response state running # features/steps/patroni_api.py:98 340s Nov 06 13:07:58 And I receive a response role master # features/steps/patroni_api.py:98 340s Nov 06 13:07:58 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 340s Nov 06 13:07:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 340s Nov 06 13:07:58 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 340s Nov 06 13:07:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 340s Nov 06 13:07:58 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 340s Nov 06 13:07:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 340s Nov 06 13:07:58 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 340s Nov 06 13:07:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 340s Nov 06 13:07:58 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 340s Nov 06 13:07:58 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 342s Nov 06 13:08:00 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 342s Nov 06 13:08:00 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 342s Nov 06 13:08:00 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 342s Nov 06 13:08:00 Then I receive a response code 412 # features/steps/patroni_api.py:98 342s Nov 06 13:08:00 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 342s Nov 06 13:08:00 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 342s Nov 06 13:08:00 Then I receive a response code 400 # features/steps/patroni_api.py:98 342s Nov 06 13:08:00 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 342s Nov 06 13:08:00 Then I receive a response code 400 # features/steps/patroni_api.py:98 342s Nov 06 13:08:00 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 342s Nov 06 13:08:00 342s Nov 06 13:08:00 Scenario: check local configuration reload # features/patroni_api.feature:32 342s Nov 06 13:08:00 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 342s Nov 06 13:08:00 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 342s Nov 06 13:08:00 Then I receive a response code 202 # features/steps/patroni_api.py:98 342s Nov 06 13:08:00 342s Nov 06 13:08:00 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 342s Nov 06 13:08:00 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 342s Nov 06 13:08:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 342s Nov 06 13:08:00 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 346s Nov 06 13:08:04 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 346s Nov 06 13:08:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 346s Nov 06 13:08:04 And I receive a response ttl 20 # features/steps/patroni_api.py:98 346s Nov 06 13:08:04 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 346s Nov 06 13:08:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 346s Nov 06 13:08:04 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 346s Nov 06 13:08:04 And I sleep for 4 seconds # features/steps/patroni_api.py:39 350s Nov 06 13:08:08 350s Nov 06 13:08:08 Scenario: check the scheduled restart # features/patroni_api.feature:49 350s Nov 06 13:08:08 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 352s Nov 06 13:08:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 352s Nov 06 13:08:10 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 352s Nov 06 13:08:10 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 352s Nov 06 13:08:10 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 352s Nov 06 13:08:10 Then I receive a response code 202 # features/steps/patroni_api.py:98 352s Nov 06 13:08:10 And I sleep for 8 seconds # features/steps/patroni_api.py:39 360s Nov 06 13:08:18 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 360s Nov 06 13:08:18 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 360s Nov 06 13:08:18 Then I receive a response code 202 # features/steps/patroni_api.py:98 360s Nov 06 13:08:18 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 366s Nov 06 13:08:24 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 367s Nov 06 13:08:25 367s Nov 06 13:08:25 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 367s Nov 06 13:08:25 Given I start postgres1 # features/steps/basic_replication.py:8 371s Nov 06 13:08:29 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 373s Nov 06 13:08:30 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 375s Nov 06 13:08:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 375s Nov 06 13:08:32 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 375s Nov 06 13:08:33 waiting for server to shut down.... done 375s Nov 06 13:08:33 server stopped 375s Nov 06 13:08:33 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 375s Nov 06 13:08:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 375s Nov 06 13:08:33 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 377s Nov 06 13:08:35 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 380s Nov 06 13:08:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 380s Nov 06 13:08:38 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 381s Nov 06 13:08:39 And I sleep for 2 seconds # features/steps/patroni_api.py:39 383s Nov 06 13:08:41 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 383s Nov 06 13:08:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 383s Nov 06 13:08:41 And I receive a response state running # features/steps/patroni_api.py:98 383s Nov 06 13:08:41 And I receive a response role replica # features/steps/patroni_api.py:98 383s Nov 06 13:08:41 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 387s Nov 06 13:08:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 387s Nov 06 13:08:45 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 387s Nov 06 13:08:45 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 388s Nov 06 13:08:46 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 389s Nov 06 13:08:47 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 392s Nov 06 13:08:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 392s Nov 06 13:08:50 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 392s Nov 06 13:08:50 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 393s Nov 06 13:08:51 393s Nov 06 13:08:51 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 393s Nov 06 13:08:51 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 395s Nov 06 13:08:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 395s Nov 06 13:08:53 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 395s Nov 06 13:08:53 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 396s Nov 06 13:08:54 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 401s Nov 06 13:08:59 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 401s Nov 06 13:08:59 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 402s Nov 06 13:09:00 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 402s Nov 06 13:09:00 Then I receive a response code 503 # features/steps/patroni_api.py:98 402s Nov 06 13:09:00 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 402s Nov 06 13:09:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 402s Nov 06 13:09:00 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 402s Nov 06 13:09:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 402s Nov 06 13:09:00 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 402s Nov 06 13:09:00 Then I receive a response code 503 # features/steps/patroni_api.py:98 402s Nov 06 13:09:00 402s Nov 06 13:09:00 Scenario: check the scheduled switchover # features/patroni_api.feature:107 402s Nov 06 13:09:00 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 404s Nov 06 13:09:02 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 404s Nov 06 13:09:02 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 404s Nov 06 13:09:02 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 406s Nov 06 13:09:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 406s Nov 06 13:09:04 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 408s Nov 06 13:09:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 408s Nov 06 13:09:06 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 418s Nov 06 13:09:16 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 419s Nov 06 13:09:17 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 421s Nov 06 13:09:19 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 421s Nov 06 13:09:19 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 422s Nov 06 13:09:20 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 422s Nov 06 13:09:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 422s Nov 06 13:09:20 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 422s Nov 06 13:09:20 Then I receive a response code 503 # features/steps/patroni_api.py:98 422s Nov 06 13:09:20 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 422s Nov 06 13:09:20 Then I receive a response code 503 # features/steps/patroni_api.py:98 422s Nov 06 13:09:20 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 422s Nov 06 13:09:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 427s Nov 06 13:09:24 427s Nov 06 13:09:24 Feature: permanent slots # features/permanent_slots.feature:1 427s Nov 06 13:09:24 427s Nov 06 13:09:24 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 427s Nov 06 13:09:24 Given I start postgres0 # features/steps/basic_replication.py:8 431s Nov 06 13:09:29 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 431s Nov 06 13:09:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 431s Nov 06 13:09:29 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 431s Nov 06 13:09:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 431s Nov 06 13:09:29 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 431s Nov 06 13:09:29 When I start postgres1 # features/steps/basic_replication.py:8 435s Nov 06 13:09:33 And I start postgres2 # features/steps/basic_replication.py:8 439s Nov 06 13:09:37 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 443s Nov 06 13:09:41 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 443s Nov 06 13:09:41 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 443s Nov 06 13:09:41 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 443s Nov 06 13:09:41 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 443s Nov 06 13:09:41 443s Nov 06 13:09:41 @slot-advance 443s Nov 06 13:09:41 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 443s Nov 06 13:09:41 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 446s Nov 06 13:09:44 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 446s Nov 06 13:09:44 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 447s Nov 06 13:09:45 447s Nov 06 13:09:45 @slot-advance 447s Nov 06 13:09:45 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 447s Nov 06 13:09:45 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 452s Nov 06 13:09:50 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 452s Nov 06 13:09:50 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 453s Nov 06 13:09:51 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 454s Nov 06 13:09:52 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 454s Nov 06 13:09:52 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 454s Nov 06 13:09:52 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 454s Nov 06 13:09:52 454s Nov 06 13:09:52 @slot-advance 454s Nov 06 13:09:52 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 454s Nov 06 13:09:52 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 454s Nov 06 13:09:52 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 454s Nov 06 13:09:52 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 454s Nov 06 13:09:52 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 454s Nov 06 13:09:52 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 454s Nov 06 13:09:52 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 454s Nov 06 13:09:52 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 454s Nov 06 13:09:52 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 454s Nov 06 13:09:52 454s Nov 06 13:09:52 @slot-advance 454s Nov 06 13:09:52 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 454s Nov 06 13:09:52 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 454s Nov 06 13:09:52 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 454s Nov 06 13:09:52 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 454s Nov 06 13:09:52 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 456s Nov 06 13:09:54 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 456s Nov 06 13:09:54 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 456s Nov 06 13:09:54 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 456s Nov 06 13:09:54 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 456s Nov 06 13:09:54 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 456s Nov 06 13:09:54 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 456s Nov 06 13:09:54 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 456s Nov 06 13:09:54 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 456s Nov 06 13:09:54 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 456s Nov 06 13:09:54 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 456s Nov 06 13:09:54 456s Nov 06 13:09:54 @slot-advance 456s Nov 06 13:09:54 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 456s Nov 06 13:09:54 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 456s Nov 06 13:09:54 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 456s Nov 06 13:09:54 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 456s Nov 06 13:09:54 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 456s Nov 06 13:09:54 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 456s Nov 06 13:09:54 456s Nov 06 13:09:54 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 456s Nov 06 13:09:54 Given I shut down postgres3 # features/steps/basic_replication.py:29 457s Nov 06 13:09:55 And I shut down postgres2 # features/steps/basic_replication.py:29 458s Nov 06 13:09:56 And I shut down postgres0 # features/steps/basic_replication.py:29 460s Nov 06 13:09:58 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 460s Nov 06 13:09:58 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 460s Nov 06 13:09:58 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 462s Nov 06 13:10:00 462s Nov 06 13:10:00 Feature: priority replication # features/priority_failover.feature:1 462s Nov 06 13:10:00 We should check that we can give nodes priority during failover 462s Nov 06 13:10:00 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 462s Nov 06 13:10:00 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 466s Nov 06 13:10:04 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 470s Nov 06 13:10:08 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 471s Nov 06 13:10:09 When I shut down postgres0 # features/steps/basic_replication.py:29 473s Nov 06 13:10:11 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 475s Nov 06 13:10:13 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 475s Nov 06 13:10:13 When I start postgres0 # features/steps/basic_replication.py:8 478s Nov 06 13:10:16 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 480s Nov 06 13:10:18 480s Nov 06 13:10:18 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 480s Nov 06 13:10:18 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 484s Nov 06 13:10:22 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 488s Nov 06 13:10:26 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 489s Nov 06 13:10:27 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 490s Nov 06 13:10:28 When I shut down postgres0 # features/steps/basic_replication.py:29 492s Nov 06 13:10:30 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 493s Nov 06 13:10:31 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 493s Nov 06 13:10:31 493s Nov 06 13:10:31 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 493s Nov 06 13:10:31 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 494s Nov 06 13:10:31 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 494s Nov 06 13:10:32 Then I receive a response code 202 # features/steps/patroni_api.py:98 494s Nov 06 13:10:32 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 497s Nov 06 13:10:35 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 498s Nov 06 13:10:36 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 498s Nov 06 13:10:36 Then I receive a response code 412 # features/steps/patroni_api.py:98 498s Nov 06 13:10:36 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 498s Nov 06 13:10:36 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 498s Nov 06 13:10:36 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 498s Nov 06 13:10:36 Then I receive a response code 202 # features/steps/patroni_api.py:98 498s Nov 06 13:10:36 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 499s Nov 06 13:10:37 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 500s Nov 06 13:10:38 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 503s Nov 06 13:10:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 503s Nov 06 13:10:41 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 508s Nov 06 13:10:46 508s Nov 06 13:10:46 Feature: recovery # features/recovery.feature:1 508s Nov 06 13:10:46 We want to check that crashed postgres is started back 508s Nov 06 13:10:46 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 508s Nov 06 13:10:46 Given I start postgres0 # features/steps/basic_replication.py:8 512s Nov 06 13:10:50 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 512s Nov 06 13:10:50 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 512s Nov 06 13:10:50 When I start postgres1 # features/steps/basic_replication.py:8 516s Nov 06 13:10:54 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 516s Nov 06 13:10:54 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 517s Nov 06 13:10:55 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 517s Nov 06 13:10:55 waiting for server to shut down.... done 517s Nov 06 13:10:55 server stopped 517s Nov 06 13:10:55 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 518s Nov 06 13:10:56 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 518s Nov 06 13:10:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 518s Nov 06 13:10:56 And I receive a response role master # features/steps/patroni_api.py:98 518s Nov 06 13:10:56 And I receive a response timeline 1 # features/steps/patroni_api.py:98 518s Nov 06 13:10:56 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 519s Nov 06 13:10:57 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 521s Nov 06 13:10:59 521s Nov 06 13:10:59 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 521s Nov 06 13:10:59 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 521s Nov 06 13:10:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 521s Nov 06 13:10:59 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 522s Nov 06 13:10:59 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 522s Nov 06 13:11:00 waiting for server to shut down.... done 522s Nov 06 13:11:00 server stopped 522s Nov 06 13:11:00 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 525s Nov 06 13:11:03 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 528s Nov 06 13:11:06 528s Nov 06 13:11:06 Feature: standby cluster # features/standby_cluster.feature:1 528s Nov 06 13:11:06 528s Nov 06 13:11:06 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 528s Nov 06 13:11:06 Given I start postgres1 # features/steps/basic_replication.py:8 532s Nov 06 13:11:10 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 532s Nov 06 13:11:10 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 532s Nov 06 13:11:10 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 532s Nov 06 13:11:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 532s Nov 06 13:11:10 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 532s Nov 06 13:11:10 And I sleep for 3 seconds # features/steps/patroni_api.py:39 535s Nov 06 13:11:13 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 535s Nov 06 13:11:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 535s Nov 06 13:11:13 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 535s Nov 06 13:11:13 When I start postgres0 # features/steps/basic_replication.py:8 539s Nov 06 13:11:17 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 539s Nov 06 13:11:17 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 540s Nov 06 13:11:18 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 541s Nov 06 13:11:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 541s Nov 06 13:11:18 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 541s Nov 06 13:11:18 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 541s Nov 06 13:11:18 541s Nov 06 13:11:18 @slot-advance 541s Nov 06 13:11:18 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 541s Nov 06 13:11:18 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 543s Nov 06 13:11:21 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 549s Nov 06 13:11:27 549s Nov 06 13:11:27 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 549s Nov 06 13:11:27 When I shut down postgres1 # features/steps/basic_replication.py:29 551s Nov 06 13:11:29 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 551s Nov 06 13:11:29 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 552s Nov 06 13:11:30 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 552s Nov 06 13:11:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 552s Nov 06 13:11:30 552s Nov 06 13:11:30 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 552s Nov 06 13:11:30 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 556s Nov 06 13:11:34 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 556s Nov 06 13:11:34 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 556s Nov 06 13:11:34 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 556s Nov 06 13:11:34 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 556s Nov 06 13:11:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 556s Nov 06 13:11:34 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 556s Nov 06 13:11:34 And I sleep for 3 seconds # features/steps/patroni_api.py:39 559s Nov 06 13:11:37 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 559s Nov 06 13:11:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 559s Nov 06 13:11:37 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 560s Nov 06 13:11:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 560s Nov 06 13:11:37 And I receive a response role standby_leader # features/steps/patroni_api.py:98 560s Nov 06 13:11:37 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 560s Nov 06 13:11:37 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 564s Nov 06 13:11:42 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 564s Nov 06 13:11:42 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 564s Nov 06 13:11:42 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 564s Nov 06 13:11:42 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 564s Nov 06 13:11:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 564s Nov 06 13:11:42 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 564s Nov 06 13:11:42 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 564s Nov 06 13:11:42 564s Nov 06 13:11:42 Scenario: check switchover # features/standby_cluster.feature:57 564s Nov 06 13:11:42 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 568s Nov 06 13:11:46 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 568s Nov 06 13:11:46 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 570s Nov 06 13:11:48 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 570s Nov 06 13:11:48 570s Nov 06 13:11:48 Scenario: check failover # features/standby_cluster.feature:63 570s Nov 06 13:11:48 When I kill postgres2 # features/steps/basic_replication.py:34 571s Nov 06 13:11:49 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 571s Nov 06 13:11:49 waiting for server to shut down.... done 571s Nov 06 13:11:49 server stopped 571s Nov 06 13:11:49 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 590s Nov 06 13:12:08 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 590s Nov 06 13:12:08 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 590s Nov 06 13:12:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 590s Nov 06 13:12:08 And I receive a response role standby_leader # features/steps/patroni_api.py:98 590s Nov 06 13:12:08 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 591s Nov 06 13:12:09 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 595s Nov 06 13:12:13 595s Nov 06 13:12:13 Feature: watchdog # features/watchdog.feature:1 595s Nov 06 13:12:13 Verify that watchdog gets pinged and triggered under appropriate circumstances. 595s Nov 06 13:12:13 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 595s Nov 06 13:12:13 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 599s Nov 06 13:12:17 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 599s Nov 06 13:12:17 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 599s Nov 06 13:12:17 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 599s Nov 06 13:12:17 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 599s Nov 06 13:12:17 599s Nov 06 13:12:17 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 599s Nov 06 13:12:17 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 601s Nov 06 13:12:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 601s Nov 06 13:12:19 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 601s Nov 06 13:12:19 When I sleep for 4 seconds # features/steps/patroni_api.py:39 605s Nov 06 13:12:23 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 605s Nov 06 13:12:23 605s Nov 06 13:12:23 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 605s Nov 06 13:12:23 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 608s Nov 06 13:12:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 608s Nov 06 13:12:26 When I sleep for 2 seconds # features/steps/patroni_api.py:39 610s Nov 06 13:12:28 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 610s Nov 06 13:12:28 610s Nov 06 13:12:28 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 610s Nov 06 13:12:28 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 610s Nov 06 13:12:28 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 612s Nov 06 13:12:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 612s Nov 06 13:12:30 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 613s Nov 06 13:12:31 613s Nov 06 13:12:31 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 613s Nov 06 13:12:31 Given I shut down postgres0 # features/steps/basic_replication.py:29 615s Nov 06 13:12:33 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 615s Nov 06 13:12:33 615s Nov 06 13:12:33 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 615s Nov 06 13:12:33 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 615s Nov 06 13:12:33 And I start postgres0 with watchdog # features/steps/watchdog.py:16 619s Nov 06 13:12:37 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 622s Nov 06 13:12:40 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 622s Nov 06 13:12:40 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 649s Nov 06 13:13:07 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.4700.XkObHWZx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.4744.XsvHHBVx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.4791.XaAJvCNx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.4841.XuYFwntx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.4888.XDWvAGax 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.4963.XHzqiSzx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5012.Xnunsxqx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5015.XjZvJsax 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5102.XkJWDvJx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5199.XwCXctdx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5207.Xdcbxctx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5250.XldqdELx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5305.XwKCyYRx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5419.XAgkWxXx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5465.XxtXDKOx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5520.XGOWSPGx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5607.XMAQWwQx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5656.XzbEShIx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5768.XelDkNHx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5820.XSPcCEUx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5882.XWUDtpzx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.5976.XvxKLXcx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6074.XNJjzpxx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6117.XbqYOfux 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6181.XUpORYKx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6216.XzOTnTix 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6345.XJqoYMDx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6394.XJTYCoyx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6412.XxjMcPmx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6450.XhJmQROx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6499.XApvoBNx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6504.XBWwgDsx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6539.XkMHjZUx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6581.XxnsEZBx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6743.XHuzaCRx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6745.XGAOhzRx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6751.XHBtytLx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6884.XtMpAMgx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6929.XytIZisx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.6978.XosFMXWx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.7031.XiBsFFOx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.7084.XPTRraCx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.7286.XyZnRFdx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.7329.XLwSfvGx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.7407.XjKQsMcx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.7487.XYoHAZIx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.7561.XLXDtUXx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.7904.XeNzcFsx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.7947.XNfisEGx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.8086.XycRvZJx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.8148.XmcOKMOx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.8203.XYJsYdFx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.8302.XJipysyx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.8418.XEQhAeyx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.8551.XtXBxDkx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.8595.XxQWUcsx 649s Nov 06 13:13:07 Skipping duplicate data .coverage.autopkgtest.8597.XxUVosZx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.8600.XyLLBFyx 649s Nov 06 13:13:07 Combined data file .coverage.autopkgtest.8611.XLFIAopx 652s Nov 06 13:13:10 Name Stmts Miss Cover 652s Nov 06 13:13:10 ------------------------------------------------------------------------------------------------------------- 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/idna/core.py 293 258 12% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/api.py 770 285 63% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 79 88% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/ha.py 1244 361 71% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 170 79% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 215 74% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 18 86% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/utils.py 350 106 70% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/six.py 504 250 50% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/response.py 562 280 50% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 652s Nov 06 13:13:10 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 652s Nov 06 13:13:10 patroni/__init__.py 13 2 85% 652s Nov 06 13:13:10 patroni/__main__.py 199 199 0% 652s Nov 06 13:13:10 patroni/api.py 770 770 0% 652s Nov 06 13:13:10 patroni/async_executor.py 96 69 28% 652s Nov 06 13:13:10 patroni/collections.py 56 15 73% 652s Nov 06 13:13:10 patroni/config.py 371 196 47% 652s Nov 06 13:13:10 patroni/config_generator.py 212 212 0% 652s Nov 06 13:13:10 patroni/ctl.py 936 411 56% 652s Nov 06 13:13:10 patroni/daemon.py 76 76 0% 652s Nov 06 13:13:10 patroni/dcs/__init__.py 646 269 58% 652s Nov 06 13:13:10 patroni/dcs/consul.py 485 485 0% 652s Nov 06 13:13:10 patroni/dcs/etcd3.py 679 346 49% 652s Nov 06 13:13:10 patroni/dcs/etcd.py 603 277 54% 652s Nov 06 13:13:10 patroni/dcs/exhibitor.py 61 61 0% 652s Nov 06 13:13:10 patroni/dcs/kubernetes.py 938 938 0% 652s Nov 06 13:13:10 patroni/dcs/raft.py 319 319 0% 652s Nov 06 13:13:10 patroni/dcs/zookeeper.py 288 288 0% 652s Nov 06 13:13:10 patroni/dynamic_loader.py 35 7 80% 652s Nov 06 13:13:10 patroni/exceptions.py 16 1 94% 652s Nov 06 13:13:10 patroni/file_perm.py 43 15 65% 652s Nov 06 13:13:10 patroni/global_config.py 81 18 78% 652s Nov 06 13:13:10 patroni/ha.py 1244 1244 0% 652s Nov 06 13:13:10 patroni/log.py 219 173 21% 652s Nov 06 13:13:10 patroni/postgresql/__init__.py 821 651 21% 652s Nov 06 13:13:10 patroni/postgresql/available_parameters/__init__.py 21 1 95% 652s Nov 06 13:13:10 patroni/postgresql/bootstrap.py 252 222 12% 652s Nov 06 13:13:10 patroni/postgresql/callback_executor.py 55 34 38% 652s Nov 06 13:13:10 patroni/postgresql/cancellable.py 104 84 19% 652s Nov 06 13:13:10 patroni/postgresql/config.py 813 698 14% 652s Nov 06 13:13:10 patroni/postgresql/connection.py 75 50 33% 652s Nov 06 13:13:10 patroni/postgresql/misc.py 41 29 29% 652s Nov 06 13:13:10 patroni/postgresql/mpp/__init__.py 89 21 76% 652s Nov 06 13:13:10 patroni/postgresql/mpp/citus.py 259 259 0% 652s Nov 06 13:13:10 patroni/postgresql/postmaster.py 170 139 18% 652s Nov 06 13:13:10 patroni/postgresql/rewind.py 416 416 0% 652s Nov 06 13:13:10 patroni/postgresql/slots.py 334 285 15% 652s Nov 06 13:13:10 patroni/postgresql/sync.py 130 96 26% 652s Nov 06 13:13:10 patroni/postgresql/validator.py 157 52 67% 652s Nov 06 13:13:10 patroni/psycopg.py 42 28 33% 652s Nov 06 13:13:10 patroni/raft_controller.py 22 22 0% 652s Nov 06 13:13:10 patroni/request.py 62 6 90% 652s Nov 06 13:13:10 patroni/scripts/__init__.py 0 0 100% 652s Nov 06 13:13:10 patroni/scripts/aws.py 59 59 0% 652s Nov 06 13:13:10 patroni/scripts/barman/__init__.py 0 0 100% 652s Nov 06 13:13:10 patroni/scripts/barman/cli.py 51 51 0% 652s Nov 06 13:13:10 patroni/scripts/barman/config_switch.py 51 51 0% 652s Nov 06 13:13:10 patroni/scripts/barman/recover.py 37 37 0% 652s Nov 06 13:13:10 patroni/scripts/barman/utils.py 94 94 0% 652s Nov 06 13:13:10 patroni/scripts/wale_restore.py 207 207 0% 652s Nov 06 13:13:10 patroni/tags.py 38 11 71% 652s Nov 06 13:13:10 patroni/utils.py 350 177 49% 652s Nov 06 13:13:10 patroni/validator.py 301 215 29% 652s Nov 06 13:13:10 patroni/version.py 1 0 100% 652s Nov 06 13:13:10 patroni/watchdog/__init__.py 2 2 0% 652s Nov 06 13:13:10 patroni/watchdog/base.py 203 203 0% 652s Nov 06 13:13:10 patroni/watchdog/linux.py 135 135 0% 652s Nov 06 13:13:10 ------------------------------------------------------------------------------------------------------------- 652s Nov 06 13:13:10 TOTAL 53740 32248 40% 652s Nov 06 13:13:10 12 features passed, 0 failed, 1 skipped 652s Nov 06 13:13:10 46 scenarios passed, 0 failed, 14 skipped 652s Nov 06 13:13:10 466 steps passed, 0 failed, 119 skipped, 0 undefined 652s Nov 06 13:13:10 Took 7m54.521s 653s ### End 16 acceptance-etcd3 ### 653s + echo '### End 16 acceptance-etcd3 ###' 653s + rm -f '/tmp/pgpass?' 653s ++ id -u 653s + '[' 1000 -eq 0 ']' 653s autopkgtest [13:13:11]: test acceptance-etcd3: -----------------------] 654s autopkgtest [13:13:12]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 654s acceptance-etcd3 PASS 654s autopkgtest [13:13:12]: test acceptance-etcd-basic: preparing testbed 727s autopkgtest [13:14:25]: testbed dpkg architecture: arm64 727s autopkgtest [13:14:25]: testbed apt version: 2.9.8 727s autopkgtest [13:14:25]: @@@@@@@@@@@@@@@@@@@@ test bed setup 728s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 728s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [175 kB] 728s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [1652 kB] 728s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [19.4 kB] 728s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 728s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [241 kB] 728s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 728s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [1295 kB] 729s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [19.4 kB] 729s Fetched 3533 kB in 1s (3497 kB/s) 729s Reading package lists... 731s Reading package lists... 732s Building dependency tree... 732s Reading state information... 732s Calculating upgrade... 733s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 733s Reading package lists... 733s Building dependency tree... 733s Reading state information... 733s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 734s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 734s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 734s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 734s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 735s Reading package lists... 735s Reading package lists... 735s Building dependency tree... 735s Reading state information... 736s Calculating upgrade... 736s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 736s Reading package lists... 737s Building dependency tree... 737s Reading state information... 737s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 741s Reading package lists... 742s Building dependency tree... 742s Reading state information... 742s Starting pkgProblemResolver with broken count: 0 742s Starting 2 pkgProblemResolver with broken count: 0 742s Done 743s The following additional packages will be installed: 743s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 743s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 743s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 743s patroni-doc postgresql postgresql-16 postgresql-client-16 743s postgresql-client-common postgresql-common python3-behave python3-cdiff 743s python3-click python3-colorama python3-coverage python3-dateutil 743s python3-dnspython python3-etcd python3-parse python3-parse-type 743s python3-prettytable python3-psutil python3-psycopg2 python3-six 743s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 743s Suggested packages: 743s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 743s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 743s python3-httpcore etcd python-psycopg2-doc 743s Recommended packages: 743s javascript-common libjson-xs-perl 743s The following NEW packages will be installed: 743s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 743s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 743s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 743s patroni-doc postgresql postgresql-16 postgresql-client-16 743s postgresql-client-common postgresql-common python3-behave python3-cdiff 743s python3-click python3-colorama python3-coverage python3-dateutil 743s python3-dnspython python3-etcd python3-parse python3-parse-type 743s python3-prettytable python3-psutil python3-psycopg2 python3-six 743s python3-wcwidth python3-ydiff sphinx-rtd-theme-common ssl-cert 743s 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. 743s Need to get 34.5 MB/34.5 MB of archives. 743s After this operation, 126 MB of additional disk space will be used. 743s Get:1 /tmp/autopkgtest.QdIpNW/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 743s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 744s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 744s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 744s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 744s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 744s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.15-7 [10.5 MB] 745s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 745s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 745s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 745s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 745s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 745s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 745s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 745s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 745s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 745s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 745s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 745s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 745s Get:20 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 745s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 745s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 745s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 745s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 745s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 745s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 745s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 745s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 745s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 745s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 745s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 745s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-2 [1012 kB] 745s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 745s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 745s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 746s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 746s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 746s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 746s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 746s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 746s Preconfiguring packages ... 746s Fetched 34.5 MB in 3s (11.7 MB/s) 746s Selecting previously unselected package fonts-lato. 747s (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 ... 79706 files and directories currently installed.) 747s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 747s Unpacking fonts-lato (2.015-1) ... 747s Selecting previously unselected package libjson-perl. 747s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 747s Unpacking libjson-perl (4.10000-1) ... 747s Selecting previously unselected package postgresql-client-common. 747s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 747s Unpacking postgresql-client-common (262) ... 747s Selecting previously unselected package ssl-cert. 747s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 747s Unpacking ssl-cert (1.1.2ubuntu2) ... 747s Selecting previously unselected package postgresql-common. 747s Preparing to unpack .../04-postgresql-common_262_all.deb ... 747s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 747s Unpacking postgresql-common (262) ... 747s Selecting previously unselected package etcd-server. 747s Preparing to unpack .../05-etcd-server_3.5.15-7_arm64.deb ... 747s Unpacking etcd-server (3.5.15-7) ... 747s Selecting previously unselected package fonts-font-awesome. 747s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 747s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 747s Selecting previously unselected package libio-pty-perl. 747s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 747s Unpacking libio-pty-perl (1:1.20-1build3) ... 747s Selecting previously unselected package libipc-run-perl. 747s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 747s Unpacking libipc-run-perl (20231003.0-2) ... 747s Selecting previously unselected package libjs-jquery. 747s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 747s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 747s Selecting previously unselected package libjs-underscore. 748s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 748s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 748s Selecting previously unselected package libjs-sphinxdoc. 748s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-3_all.deb ... 748s Unpacking libjs-sphinxdoc (7.4.7-3) ... 748s Selecting previously unselected package libpq5:arm64. 748s Preparing to unpack .../12-libpq5_17.0-1_arm64.deb ... 748s Unpacking libpq5:arm64 (17.0-1) ... 748s Selecting previously unselected package libtime-duration-perl. 748s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 748s Unpacking libtime-duration-perl (1.21-2) ... 748s Selecting previously unselected package libtimedate-perl. 748s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 748s Unpacking libtimedate-perl (2.3300-2) ... 748s Selecting previously unselected package libxslt1.1:arm64. 748s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 748s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 748s Selecting previously unselected package moreutils. 748s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 748s Unpacking moreutils (0.69-1) ... 748s Selecting previously unselected package python3-ydiff. 748s Preparing to unpack .../17-python3-ydiff_1.3-1_all.deb ... 748s Unpacking python3-ydiff (1.3-1) ... 748s Selecting previously unselected package python3-cdiff. 748s Preparing to unpack .../18-python3-cdiff_1.3-1_all.deb ... 748s Unpacking python3-cdiff (1.3-1) ... 748s Selecting previously unselected package python3-colorama. 748s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 748s Unpacking python3-colorama (0.4.6-4) ... 748s Selecting previously unselected package python3-click. 748s Preparing to unpack .../20-python3-click_8.1.7-2_all.deb ... 748s Unpacking python3-click (8.1.7-2) ... 748s Selecting previously unselected package python3-six. 748s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 748s Unpacking python3-six (1.16.0-7) ... 748s Selecting previously unselected package python3-dateutil. 748s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 748s Unpacking python3-dateutil (2.9.0-2) ... 748s Selecting previously unselected package python3-wcwidth. 748s Preparing to unpack .../23-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 748s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 748s Selecting previously unselected package python3-prettytable. 748s Preparing to unpack .../24-python3-prettytable_3.10.1-1_all.deb ... 748s Unpacking python3-prettytable (3.10.1-1) ... 748s Selecting previously unselected package python3-psutil. 748s Preparing to unpack .../25-python3-psutil_5.9.8-2build2_arm64.deb ... 748s Unpacking python3-psutil (5.9.8-2build2) ... 748s Selecting previously unselected package python3-psycopg2. 748s Preparing to unpack .../26-python3-psycopg2_2.9.9-2_arm64.deb ... 748s Unpacking python3-psycopg2 (2.9.9-2) ... 748s Selecting previously unselected package python3-dnspython. 748s Preparing to unpack .../27-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 748s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 748s Selecting previously unselected package python3-etcd. 748s Preparing to unpack .../28-python3-etcd_0.4.5-4_all.deb ... 748s Unpacking python3-etcd (0.4.5-4) ... 748s Selecting previously unselected package patroni. 748s Preparing to unpack .../29-patroni_3.3.1-1_all.deb ... 748s Unpacking patroni (3.3.1-1) ... 748s Selecting previously unselected package sphinx-rtd-theme-common. 748s Preparing to unpack .../30-sphinx-rtd-theme-common_2.0.0+dfsg-2_all.deb ... 748s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 748s Selecting previously unselected package patroni-doc. 748s Preparing to unpack .../31-patroni-doc_3.3.1-1_all.deb ... 748s Unpacking patroni-doc (3.3.1-1) ... 748s Selecting previously unselected package postgresql-client-16. 748s Preparing to unpack .../32-postgresql-client-16_16.4-3_arm64.deb ... 748s Unpacking postgresql-client-16 (16.4-3) ... 749s Selecting previously unselected package postgresql-16. 749s Preparing to unpack .../33-postgresql-16_16.4-3_arm64.deb ... 749s Unpacking postgresql-16 (16.4-3) ... 749s Selecting previously unselected package postgresql. 749s Preparing to unpack .../34-postgresql_16+262_all.deb ... 749s Unpacking postgresql (16+262) ... 749s Selecting previously unselected package python3-parse. 749s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 749s Unpacking python3-parse (1.20.2-1) ... 749s Selecting previously unselected package python3-parse-type. 749s Preparing to unpack .../36-python3-parse-type_0.6.4-1_all.deb ... 749s Unpacking python3-parse-type (0.6.4-1) ... 749s Selecting previously unselected package python3-behave. 749s Preparing to unpack .../37-python3-behave_1.2.6-5_all.deb ... 749s Unpacking python3-behave (1.2.6-5) ... 749s Selecting previously unselected package python3-coverage. 749s Preparing to unpack .../38-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 749s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 749s Selecting previously unselected package autopkgtest-satdep. 749s Preparing to unpack .../39-2-autopkgtest-satdep.deb ... 749s Unpacking autopkgtest-satdep (0) ... 749s Setting up postgresql-client-common (262) ... 749s Setting up fonts-lato (2.015-1) ... 749s Setting up libio-pty-perl (1:1.20-1build3) ... 749s Setting up python3-colorama (0.4.6-4) ... 749s Setting up python3-ydiff (1.3-1) ... 749s Setting up libpq5:arm64 (17.0-1) ... 749s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 750s Setting up python3-click (8.1.7-2) ... 750s Setting up python3-psutil (5.9.8-2build2) ... 750s Setting up python3-six (1.16.0-7) ... 750s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 750s Setting up ssl-cert (1.1.2ubuntu2) ... 751s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 751s Setting up python3-psycopg2 (2.9.9-2) ... 751s Setting up libipc-run-perl (20231003.0-2) ... 751s Setting up libtime-duration-perl (1.21-2) ... 751s Setting up libtimedate-perl (2.3300-2) ... 752s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 752s Setting up python3-parse (1.20.2-1) ... 752s Setting up libjson-perl (4.10000-1) ... 752s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 752s Setting up python3-dateutil (2.9.0-2) ... 752s Setting up etcd-server (3.5.15-7) ... 752s info: Selecting UID from range 100 to 999 ... 752s 752s info: Selecting GID from range 100 to 999 ... 752s info: Adding system user `etcd' (UID 107) ... 752s info: Adding new group `etcd' (GID 111) ... 752s info: Adding new user `etcd' (UID 107) with group `etcd' ... 752s info: Creating home directory `/var/lib/etcd/' ... 753s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 753s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 754s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 754s Setting up python3-prettytable (3.10.1-1) ... 754s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 754s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 754s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 754s Setting up moreutils (0.69-1) ... 754s Setting up python3-etcd (0.4.5-4) ... 754s Setting up postgresql-client-16 (16.4-3) ... 755s 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 755s Setting up python3-cdiff (1.3-1) ... 755s Setting up python3-parse-type (0.6.4-1) ... 755s Setting up postgresql-common (262) ... 755s 755s Creating config file /etc/postgresql-common/createcluster.conf with new version 755s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 755s Removing obsolete dictionary files: 756s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 756s Setting up libjs-sphinxdoc (7.4.7-3) ... 756s Setting up python3-behave (1.2.6-5) ... 756s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 756s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 756s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 756s """Registers a custom type that will be available to "parse" 757s Setting up patroni (3.3.1-1) ... 757s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 757s Setting up postgresql-16 (16.4-3) ... 758s Creating new PostgreSQL cluster 16/main ... 758s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 758s The files belonging to this database system will be owned by user "postgres". 758s This user must also own the server process. 758s 758s The database cluster will be initialized with locale "C.UTF-8". 758s The default database encoding has accordingly been set to "UTF8". 758s The default text search configuration will be set to "english". 758s 758s Data page checksums are disabled. 758s 758s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 758s creating subdirectories ... ok 758s selecting dynamic shared memory implementation ... posix 758s selecting default max_connections ... 100 758s selecting default shared_buffers ... 128MB 758s selecting default time zone ... Etc/UTC 758s creating configuration files ... ok 758s running bootstrap script ... ok 758s performing post-bootstrap initialization ... ok 758s syncing data to disk ... ok 762s Setting up patroni-doc (3.3.1-1) ... 762s Setting up postgresql (16+262) ... 762s Setting up autopkgtest-satdep (0) ... 762s Processing triggers for man-db (2.12.1-3) ... 764s Processing triggers for libc-bin (2.40-1ubuntu3) ... 768s (Reading database ... 82917 files and directories currently installed.) 768s Removing autopkgtest-satdep (0) ... 770s autopkgtest [13:15:08]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 770s autopkgtest [13:15:08]: test acceptance-etcd-basic: [----------------------- 770s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 771s ++ ls -1r /usr/lib/postgresql/ 771s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 771s + '[' 16 == 10 -o 16 == 11 ']' 771s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 771s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave features/basic_replication.feature | ts' 771s ○ etcd.service - etcd - highly-available key value store 771s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 771s Active: inactive (dead) since Wed 2024-11-06 13:15:08 UTC; 13ms ago 771s Duration: 16.685s 771s Invocation: 2b34f7fee49547a195ad34529dad0c7d 771s Docs: https://etcd.io/docs 771s man:etcd 771s Process: 2407 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 771s Main PID: 2407 (code=killed, signal=TERM) 771s Mem peak: 7.2M 771s CPU: 174ms 771s 771s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.968987Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 771s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.969044Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 771s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"warn","ts":"2024-11-06T13:15:08.969146Z","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"} 771s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"warn","ts":"2024-11-06T13:15:08.969516Z","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"} 771s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.969538Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 771s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.973432Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 771s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.974074Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 771s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.974104Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 771s Nov 06 13:15:08 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 771s Nov 06 13:15:08 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 771s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 772s Nov 06 13:15:10 Feature: basic replication # features/basic_replication.feature:1 772s Nov 06 13:15:10 We should check that the basic bootstrapping, replication and failover works. 772s Nov 06 13:15:10 Scenario: check replication of a single table # features/basic_replication.feature:4 772s Nov 06 13:15:10 Given I start postgres0 # features/steps/basic_replication.py:8 775s Nov 06 13:15:13 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 775s Nov 06 13:15:13 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 775s Nov 06 13:15: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 776s Nov 06 13:15:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 776s Nov 06 13:15:13 When I start postgres1 # features/steps/basic_replication.py:8 780s Nov 06 13:15:18 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 784s Nov 06 13:15:22 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 784s Nov 06 13:15:22 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 784s Nov 06 13:15:22 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 785s Nov 06 13:15:23 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 785s Nov 06 13:15:23 785s Nov 06 13:15:23 Scenario: check restart of sync replica # features/basic_replication.feature:17 785s Nov 06 13:15:23 Given I shut down postgres2 # features/steps/basic_replication.py:29 786s Nov 06 13:15:24 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 786s Nov 06 13:15:24 When I start postgres2 # features/steps/basic_replication.py:8 789s Nov 06 13:15:27 And I shut down postgres1 # features/steps/basic_replication.py:29 792s Nov 06 13:15:30 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 793s Nov 06 13:15:31 When I start postgres1 # features/steps/basic_replication.py:8 796s Nov 06 13:15:34 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 797s Nov 06 13:15:35 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 797s Nov 06 13:15:35 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 797s Nov 06 13:15:35 797s Nov 06 13:15:35 Scenario: check stuck sync replica # features/basic_replication.feature:28 797s Nov 06 13:15:35 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 797s Nov 06 13:15:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 797s Nov 06 13:15:35 And I create table on postgres0 # features/steps/basic_replication.py:73 797s Nov 06 13:15:35 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 798s Nov 06 13:15:36 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 798s Nov 06 13:15:36 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 798s Nov 06 13:15:36 And I load data on postgres0 # features/steps/basic_replication.py:84 798s Nov 06 13:15:36 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 801s Nov 06 13:15:39 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 801s Nov 06 13:15:39 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 801s Nov 06 13:15:39 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 802s Nov 06 13:15:39 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 802s Nov 06 13:15:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 802s Nov 06 13:15:40 And I drop table on postgres0 # features/steps/basic_replication.py:73 802s Nov 06 13:15:40 802s Nov 06 13:15:40 Scenario: check multi sync replication # features/basic_replication.feature:44 802s Nov 06 13:15:40 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 802s Nov 06 13:15:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 802s Nov 06 13:15:40 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 806s Nov 06 13:15:44 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 806s Nov 06 13:15:44 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 806s Nov 06 13:15:44 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 806s Nov 06 13:15:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 806s Nov 06 13:15:44 And I shut down postgres1 # features/steps/basic_replication.py:29 809s Nov 06 13:15:47 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 810s Nov 06 13:15:48 When I start postgres1 # features/steps/basic_replication.py:8 814s Nov 06 13:15:52 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 814s Nov 06 13:15:52 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 814s Nov 06 13:15:52 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 814s Nov 06 13:15:52 814s Nov 06 13:15:52 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 814s Nov 06 13:15:52 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 816s Nov 06 13:15:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 816s Nov 06 13:15:54 When I sleep for 2 seconds # features/steps/patroni_api.py:39 818s Nov 06 13:15:56 And I shut down postgres0 # features/steps/basic_replication.py:29 819s Nov 06 13:15:57 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 821s Nov 06 13:15:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 821s Nov 06 13:15:59 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 839s Nov 06 13:16:17 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 841s Nov 06 13:16:19 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 841s Nov 06 13:16:19 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 841s Nov 06 13:16:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 841s Nov 06 13:16:19 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 841s Nov 06 13:16:19 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 845s Nov 06 13:16:23 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 845s Nov 06 13:16:23 845s Nov 06 13:16:23 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 845s Nov 06 13:16:23 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 845s Nov 06 13:16:23 And I start postgres0 # features/steps/basic_replication.py:8 845s Nov 06 13:16:23 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 849s Nov 06 13:16:27 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 849s Nov 06 13:16:27 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 853s Nov 06 13:16:31 853s Nov 06 13:16:31 @reject-duplicate-name 853s Nov 06 13:16:31 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 853s Nov 06 13:16:31 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 855s Nov 06 13:16:33 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 859s Nov 06 13:16:37 859s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 860s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 860s 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'))") 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.4613.XcXpNjKx 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.4657.XOYIfuUx 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.4704.XYdeiKXx 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.4752.XEivjibx 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.4797.XjyHnmOx 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.4867.XeSiOPSx 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.4915.XhDtZVKx 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.4918.XmJKAkkx 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.5005.XZsvocKx 861s Nov 06 13:16:39 Combined data file .coverage.autopkgtest.5108.XhykjJEx 863s Nov 06 13:16:41 Name Stmts Miss Cover 863s Nov 06 13:16:41 ------------------------------------------------------------------------------------------------------------- 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 603 45% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/idna/core.py 293 258 12% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/api.py 770 430 44% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 149 77% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/ha.py 1244 617 50% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/log.py 219 71 68% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 239 71% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 91 64% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 256 69% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 174 48% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/utils.py 350 140 60% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/validator.py 301 211 30% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/six.py 504 250 50% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 863s Nov 06 13:16:41 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 863s Nov 06 13:16:41 patroni/__init__.py 13 2 85% 863s Nov 06 13:16:41 patroni/__main__.py 199 199 0% 863s Nov 06 13:16:41 patroni/api.py 770 770 0% 863s Nov 06 13:16:41 patroni/async_executor.py 96 69 28% 863s Nov 06 13:16:41 patroni/collections.py 56 15 73% 863s Nov 06 13:16:41 patroni/config.py 371 196 47% 863s Nov 06 13:16:41 patroni/config_generator.py 212 212 0% 863s Nov 06 13:16:41 patroni/ctl.py 936 663 29% 863s Nov 06 13:16:41 patroni/daemon.py 76 76 0% 863s Nov 06 13:16:41 patroni/dcs/__init__.py 646 308 52% 863s Nov 06 13:16:41 patroni/dcs/consul.py 485 485 0% 863s Nov 06 13:16:41 patroni/dcs/etcd3.py 679 679 0% 863s Nov 06 13:16:41 patroni/dcs/etcd.py 603 232 62% 863s Nov 06 13:16:41 patroni/dcs/exhibitor.py 61 61 0% 863s Nov 06 13:16:41 patroni/dcs/kubernetes.py 938 938 0% 863s Nov 06 13:16:41 patroni/dcs/raft.py 319 319 0% 863s Nov 06 13:16:41 patroni/dcs/zookeeper.py 288 288 0% 863s Nov 06 13:16:41 patroni/dynamic_loader.py 35 7 80% 863s Nov 06 13:16:41 patroni/exceptions.py 16 1 94% 863s Nov 06 13:16:41 patroni/file_perm.py 43 15 65% 863s Nov 06 13:16:41 patroni/global_config.py 81 23 72% 863s Nov 06 13:16:41 patroni/ha.py 1244 1244 0% 863s Nov 06 13:16:41 patroni/log.py 219 173 21% 863s Nov 06 13:16:41 patroni/postgresql/__init__.py 821 651 21% 863s Nov 06 13:16:41 patroni/postgresql/available_parameters/__init__.py 21 3 86% 863s Nov 06 13:16:41 patroni/postgresql/bootstrap.py 252 222 12% 863s Nov 06 13:16:41 patroni/postgresql/callback_executor.py 55 34 38% 863s Nov 06 13:16:41 patroni/postgresql/cancellable.py 104 84 19% 863s Nov 06 13:16:41 patroni/postgresql/config.py 813 698 14% 863s Nov 06 13:16:41 patroni/postgresql/connection.py 75 50 33% 863s Nov 06 13:16:41 patroni/postgresql/misc.py 41 29 29% 863s Nov 06 13:16:41 patroni/postgresql/mpp/__init__.py 89 21 76% 863s Nov 06 13:16:41 patroni/postgresql/mpp/citus.py 259 259 0% 863s Nov 06 13:16:41 patroni/postgresql/postmaster.py 170 139 18% 863s Nov 06 13:16:41 patroni/postgresql/rewind.py 416 416 0% 863s Nov 06 13:16:41 patroni/postgresql/slots.py 334 285 15% 863s Nov 06 13:16:41 patroni/postgresql/sync.py 130 96 26% 863s Nov 06 13:16:41 patroni/postgresql/validator.py 157 52 67% 863s Nov 06 13:16:41 patroni/psycopg.py 42 28 33% 863s Nov 06 13:16:41 patroni/raft_controller.py 22 22 0% 863s Nov 06 13:16:41 patroni/request.py 62 6 90% 863s Nov 06 13:16:41 patroni/scripts/__init__.py 0 0 100% 863s Nov 06 13:16:41 patroni/scripts/aws.py 59 59 0% 863s Nov 06 13:16:41 patroni/scripts/barman/__init__.py 0 0 100% 863s Nov 06 13:16:41 patroni/scripts/barman/cli.py 51 51 0% 863s Nov 06 13:16:41 patroni/scripts/barman/config_switch.py 51 51 0% 863s Nov 06 13:16:41 patroni/scripts/barman/recover.py 37 37 0% 863s Nov 06 13:16:41 patroni/scripts/barman/utils.py 94 94 0% 863s Nov 06 13:16:41 patroni/scripts/wale_restore.py 207 207 0% 863s Nov 06 13:16:41 patroni/tags.py 38 15 61% 863s Nov 06 13:16:41 patroni/utils.py 350 246 30% 863s Nov 06 13:16:41 patroni/validator.py 301 215 29% 863s Nov 06 13:16:41 patroni/version.py 1 0 100% 863s Nov 06 13:16:41 patroni/watchdog/__init__.py 2 2 0% 863s Nov 06 13:16:41 patroni/watchdog/base.py 203 203 0% 863s Nov 06 13:16:41 patroni/watchdog/linux.py 135 135 0% 863s Nov 06 13:16:41 ------------------------------------------------------------------------------------------------------------- 863s Nov 06 13:16:41 TOTAL 53061 33817 36% 863s Nov 06 13:16:41 1 feature passed, 0 failed, 0 skipped 863s Nov 06 13:16:41 7 scenarios passed, 0 failed, 0 skipped 863s Nov 06 13:16:41 68 steps passed, 0 failed, 0 skipped, 0 undefined 863s Nov 06 13:16:41 Took 1m22.848s 863s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 863s + rm -f '/tmp/pgpass?' 863s ++ id -u 863s ### End 16 acceptance-etcd features/basic_replication.feature ### 863s + '[' 0 -eq 0 ']' 863s + '[' -x /etc/init.d/zookeeper ']' 864s autopkgtest [13:16:42]: test acceptance-etcd-basic: -----------------------] 864s autopkgtest [13:16:42]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 864s acceptance-etcd-basic PASS 865s autopkgtest [13:16:43]: test acceptance-etcd: preparing testbed 867s Reading package lists... 867s Building dependency tree... 867s Reading state information... 867s Starting pkgProblemResolver with broken count: 0 867s Starting 2 pkgProblemResolver with broken count: 0 867s Done 868s The following NEW packages will be installed: 868s autopkgtest-satdep 868s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 868s Need to get 0 B/768 B of archives. 868s After this operation, 0 B of additional disk space will be used. 868s Get:1 /tmp/autopkgtest.QdIpNW/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 868s Selecting previously unselected package autopkgtest-satdep. 868s (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 ... 82917 files and directories currently installed.) 868s Preparing to unpack .../3-autopkgtest-satdep.deb ... 868s Unpacking autopkgtest-satdep (0) ... 869s Setting up autopkgtest-satdep (0) ... 871s (Reading database ... 82917 files and directories currently installed.) 871s Removing autopkgtest-satdep (0) ... 872s autopkgtest [13:16:50]: test acceptance-etcd: debian/tests/acceptance etcd 872s autopkgtest [13:16:50]: test acceptance-etcd: [----------------------- 872s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 873s ++ ls -1r /usr/lib/postgresql/ 873s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 873s + '[' 16 == 10 -o 16 == 11 ']' 873s + echo '### PostgreSQL 16 acceptance-etcd ###' 873s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=etcd PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 873s ○ etcd.service - etcd - highly-available key value store 873s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 873s Active: inactive (dead) since Wed 2024-11-06 13:15:08 UTC; 1min 42s ago 873s Duration: 16.685s 873s Invocation: 2b34f7fee49547a195ad34529dad0c7d 873s Docs: https://etcd.io/docs 873s man:etcd 873s Process: 2407 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 873s Main PID: 2407 (code=killed, signal=TERM) 873s Mem peak: 7.2M 873s CPU: 174ms 873s 873s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.968987Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 873s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.969044Z","caller":"embed/etcd.go:377","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 873s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"warn","ts":"2024-11-06T13:15:08.969146Z","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"} 873s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"warn","ts":"2024-11-06T13:15:08.969516Z","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"} 873s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.969538Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 873s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.973432Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 873s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.974074Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 873s Nov 06 13:15:08 autopkgtest etcd[2407]: {"level":"info","ts":"2024-11-06T13:15:08.974104Z","caller":"embed/etcd.go:379","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 873s Nov 06 13:15:08 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 873s Nov 06 13:15:08 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 873s ### PostgreSQL 16 acceptance-etcd ### 875s Nov 06 13:16:52 Feature: basic replication # features/basic_replication.feature:1 875s Nov 06 13:16:52 We should check that the basic bootstrapping, replication and failover works. 875s Nov 06 13:16:52 Scenario: check replication of a single table # features/basic_replication.feature:4 875s Nov 06 13:16:52 Given I start postgres0 # features/steps/basic_replication.py:8 878s Nov 06 13:16:56 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 878s Nov 06 13:16:56 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 878s Nov 06 13:16:56 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 878s Nov 06 13:16:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 878s Nov 06 13:16:56 When I start postgres1 # features/steps/basic_replication.py:8 881s Nov 06 13:16:59 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 884s Nov 06 13:17:02 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 884s Nov 06 13:17:02 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 884s Nov 06 13:17:02 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 885s Nov 06 13:17:03 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 885s Nov 06 13:17:03 885s Nov 06 13:17:03 Scenario: check restart of sync replica # features/basic_replication.feature:17 885s Nov 06 13:17:03 Given I shut down postgres2 # features/steps/basic_replication.py:29 886s Nov 06 13:17:04 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 886s Nov 06 13:17:04 When I start postgres2 # features/steps/basic_replication.py:8 889s Nov 06 13:17:07 And I shut down postgres1 # features/steps/basic_replication.py:29 892s Nov 06 13:17:10 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 893s Nov 06 13:17:11 When I start postgres1 # features/steps/basic_replication.py:8 896s Nov 06 13:17:14 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 897s Nov 06 13:17:15 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 897s Nov 06 13:17:15 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 897s Nov 06 13:17:15 897s Nov 06 13:17:15 Scenario: check stuck sync replica # features/basic_replication.feature:28 897s Nov 06 13:17:15 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 897s Nov 06 13:17:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 897s Nov 06 13:17:15 And I create table on postgres0 # features/steps/basic_replication.py:73 897s Nov 06 13:17:15 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 898s Nov 06 13:17:16 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 898s Nov 06 13:17:16 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 898s Nov 06 13:17:16 And I load data on postgres0 # features/steps/basic_replication.py:84 898s Nov 06 13:17:16 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 901s Nov 06 13:17:19 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 901s Nov 06 13:17:19 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 902s Nov 06 13:17:20 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 902s Nov 06 13:17:20 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 902s Nov 06 13:17:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 902s Nov 06 13:17:20 And I drop table on postgres0 # features/steps/basic_replication.py:73 902s Nov 06 13:17:20 902s Nov 06 13:17:20 Scenario: check multi sync replication # features/basic_replication.feature:44 902s Nov 06 13:17:20 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 902s Nov 06 13:17:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 902s Nov 06 13:17:20 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 906s Nov 06 13:17:24 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 906s Nov 06 13:17:24 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 906s Nov 06 13:17:24 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 906s Nov 06 13:17:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 906s Nov 06 13:17:24 And I shut down postgres1 # features/steps/basic_replication.py:29 909s Nov 06 13:17:27 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 910s Nov 06 13:17:28 When I start postgres1 # features/steps/basic_replication.py:8 913s Nov 06 13:17:31 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 914s Nov 06 13:17:32 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 914s Nov 06 13:17:32 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 914s Nov 06 13:17:32 914s Nov 06 13:17:32 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 914s Nov 06 13:17:32 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 916s Nov 06 13:17:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 916s Nov 06 13:17:34 When I sleep for 2 seconds # features/steps/patroni_api.py:39 918s Nov 06 13:17:36 And I shut down postgres0 # features/steps/basic_replication.py:29 919s Nov 06 13:17:37 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 921s Nov 06 13:17:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 921s Nov 06 13:17:39 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 940s Nov 06 13:17:58 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 942s Nov 06 13:18:00 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 942s Nov 06 13:18:00 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 942s Nov 06 13:18:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 942s Nov 06 13:18:00 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 942s Nov 06 13:18:00 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 945s Nov 06 13:18:03 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 945s Nov 06 13:18:03 945s Nov 06 13:18:03 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 945s Nov 06 13:18:03 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 945s Nov 06 13:18:03 And I start postgres0 # features/steps/basic_replication.py:8 945s Nov 06 13:18:03 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 949s Nov 06 13:18:07 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 949s Nov 06 13:18:07 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 952s Nov 06 13:18:10 952s Nov 06 13:18:10 @reject-duplicate-name 952s Nov 06 13:18:10 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 952s Nov 06 13:18:10 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 955s Nov 06 13:18:13 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 960s Nov 06 13:18:18 960s Nov 06 13:18:18 Feature: cascading replication # features/cascading_replication.feature:1 960s Nov 06 13:18:18 We should check that patroni can do base backup and streaming from the replica 960s Nov 06 13:18:18 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 960s Nov 06 13:18:18 Given I start postgres0 # features/steps/basic_replication.py:8 963s Nov 06 13:18:21 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 963s Nov 06 13:18:21 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 966s Nov 06 13:18:24 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 967s Nov 06 13:18:25 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 967s Nov 06 13:18:25 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 967s Nov 06 13:18:25 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 967s Nov 06 13:18:25 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 970s Nov 06 13:18:28 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 971s Nov 06 13:18:29 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 976s Nov 06 13:18:34 976s Nov 06 13:18:34 Feature: citus # features/citus.feature:1 976s Nov 06 13:18:34 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 976s Nov 06 13:18:34 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 976s Nov 06 13:18:34 Given I start postgres0 in citus group 0 # None 976s Nov 06 13:18:34 And I start postgres2 in citus group 1 # None 976s Nov 06 13:18:34 Then postgres0 is a leader in a group 0 after 10 seconds # None 976s Nov 06 13:18:34 And postgres2 is a leader in a group 1 after 10 seconds # None 976s Nov 06 13:18:34 When I start postgres1 in citus group 0 # None 976s Nov 06 13:18:34 And I start postgres3 in citus group 1 # None 976s Nov 06 13:18:34 Then replication works from postgres0 to postgres1 after 15 seconds # None 976s Nov 06 13:18:34 Then replication works from postgres2 to postgres3 after 15 seconds # None 976s Nov 06 13:18:34 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 976s Nov 06 13:18:34 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 976s Nov 06 13:18:34 976s Nov 06 13:18:34 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 976s Nov 06 13:18:34 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 976s Nov 06 13:18:34 Then postgres1 role is the primary after 10 seconds # None 976s Nov 06 13:18:34 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 976s Nov 06 13:18:34 And replication works from postgres1 to postgres0 after 15 seconds # None 976s Nov 06 13:18:34 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 976s Nov 06 13:18:34 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 976s Nov 06 13:18:34 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 976s Nov 06 13:18:34 Then postgres0 role is the primary after 10 seconds # None 976s Nov 06 13:18:34 And replication works from postgres0 to postgres1 after 15 seconds # None 976s Nov 06 13:18:34 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 976s Nov 06 13:18:34 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 976s Nov 06 13:18:34 976s Nov 06 13:18:34 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 976s Nov 06 13:18:34 Given I create a distributed table on postgres0 # None 976s Nov 06 13:18:34 And I start a thread inserting data on postgres0 # None 976s Nov 06 13:18:34 When I run patronictl.py switchover batman --group 1 --force # None 976s Nov 06 13:18:34 Then I receive a response returncode 0 # None 976s Nov 06 13:18:34 And postgres3 role is the primary after 10 seconds # None 976s Nov 06 13:18:34 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 976s Nov 06 13:18:34 And replication works from postgres3 to postgres2 after 15 seconds # None 976s Nov 06 13:18:34 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 976s Nov 06 13:18:34 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 976s Nov 06 13:18:34 And a thread is still alive # None 976s Nov 06 13:18:34 When I run patronictl.py switchover batman --group 1 --force # None 976s Nov 06 13:18:34 Then I receive a response returncode 0 # None 976s Nov 06 13:18:34 And postgres2 role is the primary after 10 seconds # None 976s Nov 06 13:18:34 And replication works from postgres2 to postgres3 after 15 seconds # None 976s Nov 06 13:18:34 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 976s Nov 06 13:18:34 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 976s Nov 06 13:18:34 And a thread is still alive # None 976s Nov 06 13:18:34 When I stop a thread # None 976s Nov 06 13:18:34 Then a distributed table on postgres0 has expected rows # None 976s Nov 06 13:18:34 976s Nov 06 13:18:34 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 976s Nov 06 13:18:34 Given I cleanup a distributed table on postgres0 # None 976s Nov 06 13:18:34 And I start a thread inserting data on postgres0 # None 976s Nov 06 13:18:34 When I run patronictl.py restart batman postgres2 --group 1 --force # None 976s Nov 06 13:18:34 Then I receive a response returncode 0 # None 976s Nov 06 13:18:34 And postgres2 role is the primary after 10 seconds # None 976s Nov 06 13:18:34 And replication works from postgres2 to postgres3 after 15 seconds # None 976s Nov 06 13:18:34 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 976s Nov 06 13:18:34 And a thread is still alive # None 976s Nov 06 13:18:34 When I stop a thread # None 976s Nov 06 13:18:34 Then a distributed table on postgres0 has expected rows # None 976s SKIP FEATURE citus: Citus extenstion isn't available 976s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 976s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 976s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 976s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 976s 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 976s Nov 06 13:18:34 976s Nov 06 13:18:34 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 976s Nov 06 13:18:34 Given I start postgres4 in citus group 2 # None 976s Nov 06 13:18:34 Then postgres4 is a leader in a group 2 after 10 seconds # None 976s Nov 06 13:18:34 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 976s Nov 06 13:18:34 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 976s Nov 06 13:18:34 Then I receive a response returncode 0 # None 976s Nov 06 13:18:34 And I receive a response output "+ttl: 20" # None 976s Nov 06 13:18:34 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 976s Nov 06 13:18:34 When I shut down postgres4 # None 976s Nov 06 13:18:34 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 976s Nov 06 13:18:34 When I run patronictl.py restart batman postgres2 --group 1 --force # None 976s Nov 06 13:18:34 Then a transaction finishes in 20 seconds # None 976s Nov 06 13:18:34 976s Nov 06 13:18:34 Feature: custom bootstrap # features/custom_bootstrap.feature:1 976s Nov 06 13:18:34 We should check that patroni can bootstrap a new cluster from a backup 976s Nov 06 13:18:34 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 976s Nov 06 13:18:34 Given I start postgres0 # features/steps/basic_replication.py:8 979s Nov 06 13:18:37 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 979s Nov 06 13:18:37 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 979s Nov 06 13:18:37 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 983s Nov 06 13:18:41 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 984s Nov 06 13:18:42 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 984s Nov 06 13:18:42 984s Nov 06 13:18:42 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 984s Nov 06 13:18:42 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 984s Nov 06 13:18:42 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 984s Nov 06 13:18:42 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 989s Nov 06 13:18:47 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 989s Nov 06 13:18:47 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 996s Nov 06 13:18:54 996s Nov 06 13:18:54 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 996s Nov 06 13:18:54 We should check the basic dcs failsafe mode functioning 996s Nov 06 13:18:54 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 996s Nov 06 13:18:54 Given I start postgres0 # features/steps/basic_replication.py:8 999s Nov 06 13:18:57 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 999s Nov 06 13:18:57 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 999s Nov 06 13:18:57 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 999s Nov 06 13:18:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 999s Nov 06 13:18:57 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 999s Nov 06 13:18:57 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 999s Nov 06 13:18:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 999s Nov 06 13:18:57 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 999s Nov 06 13:18:57 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 999s Nov 06 13:18:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 999s Nov 06 13:18:57 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 999s Nov 06 13:18:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 999s Nov 06 13:18:57 999s Nov 06 13:18:57 @dcs-failsafe 999s Nov 06 13:18:57 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 999s Nov 06 13:18:57 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 999s Nov 06 13:18:57 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 1005s Nov 06 13:19:03 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1005s Nov 06 13:19:03 1005s Nov 06 13:19:03 @dcs-failsafe 1005s Nov 06 13:19:03 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1005s Nov 06 13:19:03 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1005s Nov 06 13:19:03 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1006s Nov 06 13:19:04 And I shut down postgres0 # features/steps/basic_replication.py:29 1008s Nov 06 13:19:06 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1011s Nov 06 13:19:09 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1011s Nov 06 13:19:09 1011s Nov 06 13:19:09 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1011s Nov 06 13:19:09 Given I start postgres0 # features/steps/basic_replication.py:8 1014s Nov 06 13:19:12 And I start postgres1 # features/steps/basic_replication.py:8 1014s Nov 06 13:19:12 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1015s Nov 06 13:19:13 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1015s Nov 06 13:19:13 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1016s Nov 06 13:19:14 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1016s Nov 06 13:19:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1016s Nov 06 13:19:14 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1016s Nov 06 13:19:14 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1016s Nov 06 13:19:14 1016s Nov 06 13:19:14 @dcs-failsafe @slot-advance 1016s Nov 06 13:19:14 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1016s Nov 06 13:19:14 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1016s Nov 06 13:19:14 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1018s Nov 06 13:19:16 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1021s Nov 06 13:19:19 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1021s Nov 06 13:19:19 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 1026s Nov 06 13:19:24 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1026s Nov 06 13:19:24 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1026s Nov 06 13:19:24 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1026s Nov 06 13:19:24 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1026s Nov 06 13:19:24 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1026s Nov 06 13:19:24 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1030s Nov 06 13:19:28 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1030s Nov 06 13:19:28 1030s Nov 06 13:19:28 @dcs-failsafe 1030s Nov 06 13:19:28 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1030s Nov 06 13:19:28 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1030s Nov 06 13:19:28 And I kill postgres1 # features/steps/basic_replication.py:34 1031s Nov 06 13:19:29 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1031s Nov 06 13:19:29 waiting for server to shut down.... done 1031s Nov 06 13:19:29 server stopped 1031s Nov 06 13:19:29 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1033s Nov 06 13:19:31 1033s Nov 06 13:19:31 @dcs-failsafe 1033s Nov 06 13:19:31 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1033s Nov 06 13:19:31 Given I kill postgres0 # features/steps/basic_replication.py:34 1034s Nov 06 13:19:32 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1035s Nov 06 13:19:32 waiting for server to shut down.... done 1035s Nov 06 13:19:32 server stopped 1035s Nov 06 13:19:32 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1035s Nov 06 13:19:32 When I start postgres1 # features/steps/basic_replication.py:8 1038s Nov 06 13:19:36 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1039s Nov 06 13:19:37 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1041s Nov 06 13:19:39 1041s Nov 06 13:19:39 @dcs-failsafe 1041s Nov 06 13:19:39 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1041s Nov 06 13:19:39 Given I start postgres0 # features/steps/basic_replication.py:8 1045s Nov 06 13:19:43 And I start postgres2 # features/steps/basic_replication.py:8 1050s Nov 06 13:19:48 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1050s Nov 06 13:19:48 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1050s Nov 06 13:19:48 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1050s Nov 06 13:19:48 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1051s Nov 06 13:19:49 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1052s Nov 06 13:19:50 1052s Nov 06 13:19:50 @dcs-failsafe @slot-advance 1052s Nov 06 13:19:50 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1052s Nov 06 13:19:50 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 1052s Nov 06 13:19:50 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1058s Nov 06 13:19:56 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1059s Nov 06 13:19:57 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1059s Nov 06 13:19:57 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1060s Nov 06 13:19:58 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1060s Nov 06 13:19:58 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1060s Nov 06 13:19:58 1060s Nov 06 13:19:58 @dcs-failsafe 1060s Nov 06 13:19:58 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1060s Nov 06 13:19:58 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1060s Nov 06 13:19:58 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 1067s Nov 06 13:20:05 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1067s Nov 06 13:20:05 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1067s Nov 06 13:20:05 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1067s Nov 06 13:20:05 1067s Nov 06 13:20:05 @dcs-failsafe @slot-advance 1067s Nov 06 13:20:05 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1067s Nov 06 13:20:05 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1067s Nov 06 13:20:05 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1069s Nov 06 13:20:07 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1069s Nov 06 13:20:07 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1069s Nov 06 13:20:07 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1070s Nov 06 13:20:08 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1070s Nov 06 13:20:08 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1070s Nov 06 13:20:08 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1070s Nov 06 13:20:08 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1074s Nov 06 13:20:12 1074s Nov 06 13:20:12 Feature: ignored slots # features/ignored_slots.feature:1 1074s Nov 06 13:20:12 1074s Nov 06 13:20:12 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1074s Nov 06 13:20:12 Given I start postgres1 # features/steps/basic_replication.py:8 1078s Nov 06 13:20:16 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1078s Nov 06 13:20:16 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1078s Nov 06 13:20:16 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 1078s Nov 06 13:20:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 1078s Nov 06 13:20:16 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1078s Nov 06 13:20:16 When I shut down postgres1 # features/steps/basic_replication.py:29 1080s Nov 06 13:20:18 And I start postgres1 # features/steps/basic_replication.py:8 1083s Nov 06 13:20:21 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1084s Nov 06 13:20:22 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1085s Nov 06 13:20:23 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1085s Nov 06 13:20:23 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1085s Nov 06 13:20:23 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1085s Nov 06 13:20:23 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1085s Nov 06 13:20:23 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1085s Nov 06 13:20:23 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1085s Nov 06 13:20:23 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1085s Nov 06 13:20:23 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1085s Nov 06 13:20:23 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1085s Nov 06 13:20:23 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1085s Nov 06 13:20:23 When I start postgres0 # features/steps/basic_replication.py:8 1089s Nov 06 13:20:27 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1089s Nov 06 13:20:27 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1089s Nov 06 13:20:27 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1090s Nov 06 13:20:28 When I shut down postgres1 # features/steps/basic_replication.py:29 1092s Nov 06 13:20:30 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1093s Nov 06 13:20:31 When I start postgres1 # features/steps/basic_replication.py:8 1096s Nov 06 13:20:34 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1096s Nov 06 13:20:34 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1097s Nov 06 13:20:35 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1099s Nov 06 13:20: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 1099s Nov 06 13:20: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 1099s Nov 06 13:20: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 1099s Nov 06 13:20: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 1099s Nov 06 13:20:37 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1099s Nov 06 13:20:37 When I shut down postgres0 # features/steps/basic_replication.py:29 1101s Nov 06 13:20:39 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1102s Nov 06 13:20:40 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1102s Nov 06 13:20:40 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1102s Nov 06 13:20:40 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1102s Nov 06 13:20:40 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1104s Nov 06 13:20:42 1104s Nov 06 13:20:42 Feature: nostream node # features/nostream_node.feature:1 1104s Nov 06 13:20:42 1104s Nov 06 13:20:42 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1104s Nov 06 13:20:42 When I start postgres0 # features/steps/basic_replication.py:8 1107s Nov 06 13:20:45 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1110s Nov 06 13:20:48 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1111s Nov 06 13:20:49 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1116s Nov 06 13:20:54 1116s Nov 06 13:20:54 @slot-advance 1116s Nov 06 13:20:54 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1116s Nov 06 13:20:54 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 1116s Nov 06 13:20:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1116s Nov 06 13:20:54 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1119s Nov 06 13:20:57 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1120s Nov 06 13:20:58 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1124s Nov 06 13:21:02 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1129s Nov 06 13:21:07 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1129s Nov 06 13:21:07 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1135s Nov 06 13:21:13 1135s Nov 06 13:21:13 Feature: patroni api # features/patroni_api.feature:1 1135s Nov 06 13:21:13 We should check that patroni correctly responds to valid and not-valid API requests. 1135s Nov 06 13:21:13 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1135s Nov 06 13:21:13 Given I start postgres0 # features/steps/basic_replication.py:8 1138s Nov 06 13:21:16 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1139s Nov 06 13:21:17 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1139s Nov 06 13:21:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1139s Nov 06 13:21:17 And I receive a response state running # features/steps/patroni_api.py:98 1139s Nov 06 13:21:17 And I receive a response role master # features/steps/patroni_api.py:98 1139s Nov 06 13:21:17 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1139s Nov 06 13:21:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 1139s Nov 06 13:21:17 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1139s Nov 06 13:21:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1139s Nov 06 13:21:17 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1139s Nov 06 13:21:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 1139s Nov 06 13:21:17 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1139s Nov 06 13:21:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 1139s Nov 06 13:21:17 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1139s Nov 06 13:21:17 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1141s Nov 06 13:21:19 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1141s Nov 06 13:21:19 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1141s Nov 06 13:21:19 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1141s Nov 06 13:21:19 Then I receive a response code 412 # features/steps/patroni_api.py:98 1141s Nov 06 13:21:19 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1141s Nov 06 13:21:19 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1141s Nov 06 13:21:19 Then I receive a response code 400 # features/steps/patroni_api.py:98 1141s Nov 06 13:21:19 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1141s Nov 06 13:21:19 Then I receive a response code 400 # features/steps/patroni_api.py:98 1141s Nov 06 13:21:19 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1141s Nov 06 13:21:19 1141s Nov 06 13:21:19 Scenario: check local configuration reload # features/patroni_api.feature:32 1141s Nov 06 13:21:19 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1141s Nov 06 13:21:19 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1142s Nov 06 13:21:19 Then I receive a response code 202 # features/steps/patroni_api.py:98 1142s Nov 06 13:21:19 1142s Nov 06 13:21:19 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1142s Nov 06 13:21:19 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 1142s Nov 06 13:21:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 1142s Nov 06 13:21:20 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1144s Nov 06 13:21:22 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1144s Nov 06 13:21:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 1144s Nov 06 13:21:22 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1144s Nov 06 13:21:22 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1144s Nov 06 13:21:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 1144s Nov 06 13:21:22 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1144s Nov 06 13:21:22 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1148s Nov 06 13:21:26 1148s Nov 06 13:21:26 Scenario: check the scheduled restart # features/patroni_api.feature:49 1148s Nov 06 13:21:26 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1150s Nov 06 13:21:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1150s Nov 06 13:21:28 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1150s Nov 06 13:21:28 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1150s Nov 06 13:21:28 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 1150s Nov 06 13:21:28 Then I receive a response code 202 # features/steps/patroni_api.py:98 1150s Nov 06 13:21:28 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1158s Nov 06 13:21:36 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1158s Nov 06 13:21:36 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 1158s Nov 06 13:21:36 Then I receive a response code 202 # features/steps/patroni_api.py:98 1158s Nov 06 13:21:36 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 1165s Nov 06 13:21:43 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1166s Nov 06 13:21:44 1166s Nov 06 13:21:44 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1166s Nov 06 13:21:44 Given I start postgres1 # features/steps/basic_replication.py:8 1169s Nov 06 13:21:47 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1170s Nov 06 13:21:48 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1172s Nov 06 13:21:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1172s Nov 06 13:21:50 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1172s Nov 06 13:21:50 waiting for server to shut down.... done 1172s Nov 06 13:21:50 server stopped 1172s Nov 06 13:21:50 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1172s Nov 06 13:21:50 Then I receive a response code 503 # features/steps/patroni_api.py:98 1172s Nov 06 13:21:50 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1173s Nov 06 13:21:51 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1177s Nov 06 13:21:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1177s Nov 06 13:21:55 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1178s Nov 06 13:21:56 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1180s Nov 06 13:21:58 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1180s Nov 06 13:21:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1180s Nov 06 13:21:58 And I receive a response state running # features/steps/patroni_api.py:98 1180s Nov 06 13:21:58 And I receive a response role replica # features/steps/patroni_api.py:98 1180s Nov 06 13:21:58 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1184s Nov 06 13:22:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1184s Nov 06 13:22:02 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1184s Nov 06 13:22:02 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1185s Nov 06 13:22:03 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1185s Nov 06 13:22:03 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1187s Nov 06 13:22:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1187s Nov 06 13:22:05 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1187s Nov 06 13:22:05 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1188s Nov 06 13:22:06 1188s Nov 06 13:22:06 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1188s Nov 06 13:22:06 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 1191s Nov 06 13:22:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 1191s Nov 06 13:22:08 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1191s Nov 06 13:22:08 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1192s Nov 06 13:22:09 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1196s Nov 06 13:22:13 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1196s Nov 06 13:22:14 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1197s Nov 06 13:22:15 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1197s Nov 06 13:22:15 Then I receive a response code 503 # features/steps/patroni_api.py:98 1197s Nov 06 13:22:15 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1197s Nov 06 13:22:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 1197s Nov 06 13:22:15 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1197s Nov 06 13:22:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 1197s Nov 06 13:22:15 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1197s Nov 06 13:22:15 Then I receive a response code 503 # features/steps/patroni_api.py:98 1197s Nov 06 13:22:15 1197s Nov 06 13:22:15 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1197s Nov 06 13:22:15 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1199s Nov 06 13:22:17 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1199s Nov 06 13:22:17 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1199s Nov 06 13:22:17 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1201s Nov 06 13:22:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1201s Nov 06 13:22:19 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1203s Nov 06 13:22:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1203s Nov 06 13:22:21 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1214s Nov 06 13:22:32 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1214s Nov 06 13:22:32 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1215s Nov 06 13:22:33 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1216s Nov 06 13:22:34 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1216s Nov 06 13:22:34 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1216s Nov 06 13:22:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 1216s Nov 06 13:22:34 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1216s Nov 06 13:22:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 1216s Nov 06 13:22:34 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1216s Nov 06 13:22:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 1216s Nov 06 13:22:34 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1216s Nov 06 13:22:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 1220s Nov 06 13:22:38 1220s Nov 06 13:22:38 Feature: permanent slots # features/permanent_slots.feature:1 1220s Nov 06 13:22:38 1220s Nov 06 13:22:38 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1220s Nov 06 13:22:38 Given I start postgres0 # features/steps/basic_replication.py:8 1223s Nov 06 13:22:41 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1224s Nov 06 13:22:42 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1224s Nov 06 13:22:42 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 1224s Nov 06 13:22:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 1224s Nov 06 13:22:42 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1224s Nov 06 13:22:42 When I start postgres1 # features/steps/basic_replication.py:8 1228s Nov 06 13:22:46 And I start postgres2 # features/steps/basic_replication.py:8 1231s Nov 06 13:22:49 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1235s Nov 06 13:22:53 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1235s Nov 06 13:22:53 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1235s Nov 06 13:22:53 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1235s Nov 06 13:22:53 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1235s Nov 06 13:22:53 1235s Nov 06 13:22:53 @slot-advance 1235s Nov 06 13:22:53 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1235s Nov 06 13:22:53 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1238s Nov 06 13:22:56 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 1238s Nov 06 13:22:56 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1239s Nov 06 13:22:57 1239s Nov 06 13:22:57 @slot-advance 1239s Nov 06 13:22:57 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1239s Nov 06 13:22:57 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1244s Nov 06 13:23:02 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1244s Nov 06 13:23:02 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1245s Nov 06 13:23:03 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1246s Nov 06 13:23:04 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1246s Nov 06 13:23:04 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1246s Nov 06 13:23:04 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1246s Nov 06 13:23:04 1246s Nov 06 13:23:04 @slot-advance 1246s Nov 06 13:23:04 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1246s Nov 06 13:23:04 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1246s Nov 06 13:23:04 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1246s Nov 06 13:23:04 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1246s Nov 06 13:23:04 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1246s Nov 06 13:23:04 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1246s Nov 06 13:23:04 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1247s Nov 06 13:23:04 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1247s Nov 06 13:23:04 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1247s Nov 06 13:23:04 1247s Nov 06 13:23:04 @slot-advance 1247s Nov 06 13:23:04 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1247s Nov 06 13:23:04 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1247s Nov 06 13:23:04 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1247s Nov 06 13:23:04 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1247s Nov 06 13:23:04 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1249s Nov 06 13:23:06 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1249s Nov 06 13:23:06 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1249s Nov 06 13:23:06 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1249s Nov 06 13:23:06 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1249s Nov 06 13:23:06 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1249s Nov 06 13:23:06 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1249s Nov 06 13:23:06 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1251s Nov 06 13:23:09 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1251s Nov 06 13:23:09 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1251s Nov 06 13:23:09 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1251s Nov 06 13:23:09 1251s Nov 06 13:23:09 @slot-advance 1251s Nov 06 13:23:09 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1251s Nov 06 13:23:09 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1251s Nov 06 13:23:09 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1251s Nov 06 13:23:09 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1251s Nov 06 13:23:09 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1251s Nov 06 13:23:09 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1251s Nov 06 13:23:09 1251s Nov 06 13:23:09 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1251s Nov 06 13:23:09 Given I shut down postgres3 # features/steps/basic_replication.py:29 1252s Nov 06 13:23:10 And I shut down postgres2 # features/steps/basic_replication.py:29 1253s Nov 06 13:23:11 And I shut down postgres0 # features/steps/basic_replication.py:29 1255s Nov 06 13:23:13 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1255s Nov 06 13:23:13 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1255s Nov 06 13:23:13 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1257s Nov 06 13:23:15 1257s Nov 06 13:23:15 Feature: priority replication # features/priority_failover.feature:1 1257s Nov 06 13:23:15 We should check that we can give nodes priority during failover 1257s Nov 06 13:23:15 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1257s Nov 06 13:23:15 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1261s Nov 06 13:23:19 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1264s Nov 06 13:23:22 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1265s Nov 06 13:23:23 When I shut down postgres0 # features/steps/basic_replication.py:29 1267s Nov 06 13:23:25 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 1269s Nov 06 13:23:27 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1269s Nov 06 13:23:27 When I start postgres0 # features/steps/basic_replication.py:8 1272s Nov 06 13:23:30 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1273s Nov 06 13:23:31 1273s Nov 06 13:23:31 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1273s Nov 06 13:23:31 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1277s Nov 06 13:23:35 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1281s Nov 06 13:23:39 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1282s Nov 06 13:23:40 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1282s Nov 06 13:23:40 When I shut down postgres0 # features/steps/basic_replication.py:29 1284s Nov 06 13:23:42 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1284s Nov 06 13:23:42 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 1284s Nov 06 13:23:42 1284s Nov 06 13:23:42 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1284s Nov 06 13:23:42 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1284s Nov 06 13:23:42 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1284s Nov 06 13:23:42 Then I receive a response code 202 # features/steps/patroni_api.py:98 1284s Nov 06 13:23:42 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 1286s Nov 06 13:23:44 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1287s Nov 06 13:23:45 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1287s Nov 06 13:23:45 Then I receive a response code 412 # features/steps/patroni_api.py:98 1287s Nov 06 13:23:45 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1287s Nov 06 13:23:45 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1287s Nov 06 13:23:45 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1287s Nov 06 13:23:45 Then I receive a response code 202 # features/steps/patroni_api.py:98 1287s Nov 06 13:23:45 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 1289s Nov 06 13:23:47 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1290s Nov 06 13:23:48 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1294s Nov 06 13:23:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1294s Nov 06 13:23:52 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1299s Nov 06 13:23:57 1299s Nov 06 13:23:57 Feature: recovery # features/recovery.feature:1 1299s Nov 06 13:23:57 We want to check that crashed postgres is started back 1299s Nov 06 13:23:57 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1299s Nov 06 13:23:57 Given I start postgres0 # features/steps/basic_replication.py:8 1303s Nov 06 13:24:01 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1303s Nov 06 13:24:01 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1303s Nov 06 13:24:01 When I start postgres1 # features/steps/basic_replication.py:8 1306s Nov 06 13:24:04 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1306s Nov 06 13:24:04 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1307s Nov 06 13:24:05 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1307s Nov 06 13:24:05 waiting for server to shut down.... done 1307s Nov 06 13:24:05 server stopped 1307s Nov 06 13:24:05 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1309s Nov 06 13:24:07 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1309s Nov 06 13:24:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1309s Nov 06 13:24:07 And I receive a response role master # features/steps/patroni_api.py:98 1309s Nov 06 13:24:07 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1309s Nov 06 13:24:07 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1310s Nov 06 13:24:08 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1312s Nov 06 13:24:10 1312s Nov 06 13:24:10 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1312s Nov 06 13:24:10 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 1312s Nov 06 13:24:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 1312s Nov 06 13:24:10 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1312s Nov 06 13:24:10 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1312s Nov 06 13:24:10 waiting for server to shut down.... done 1312s Nov 06 13:24:10 server stopped 1312s Nov 06 13:24:10 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1314s Nov 06 13:24:12 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1318s Nov 06 13:24:16 1318s Nov 06 13:24:16 Feature: standby cluster # features/standby_cluster.feature:1 1318s Nov 06 13:24:16 1318s Nov 06 13:24:16 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1318s Nov 06 13:24:16 Given I start postgres1 # features/steps/basic_replication.py:8 1322s Nov 06 13:24:20 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1322s Nov 06 13:24:20 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1322s Nov 06 13:24:20 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 1322s Nov 06 13:24:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 1322s Nov 06 13:24:20 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1322s Nov 06 13:24:20 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1325s Nov 06 13:24:23 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 1325s Nov 06 13:24:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 1325s Nov 06 13:24:23 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1326s Nov 06 13:24:24 When I start postgres0 # features/steps/basic_replication.py:8 1329s Nov 06 13:24:27 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1330s Nov 06 13:24:28 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1331s Nov 06 13:24:29 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1331s Nov 06 13:24:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1331s Nov 06 13:24:29 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1331s Nov 06 13:24:29 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1332s Nov 06 13:24:30 1332s Nov 06 13:24:30 @slot-advance 1332s Nov 06 13:24:30 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1332s Nov 06 13:24:30 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1335s Nov 06 13:24:33 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1340s Nov 06 13:24:38 1340s Nov 06 13:24:38 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1340s Nov 06 13:24:38 When I shut down postgres1 # features/steps/basic_replication.py:29 1342s Nov 06 13:24:40 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1342s Nov 06 13:24:40 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1343s Nov 06 13:24:41 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1343s Nov 06 13:24:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1343s Nov 06 13:24:41 1343s Nov 06 13:24:41 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1343s Nov 06 13:24:41 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1347s Nov 06 13:24:45 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1347s Nov 06 13:24:45 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1347s Nov 06 13:24:45 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1347s Nov 06 13:24:45 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1347s Nov 06 13:24:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1347s Nov 06 13:24:45 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1347s Nov 06 13:24:45 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1350s Nov 06 13:24:48 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1350s Nov 06 13:24:48 Then I receive a response code 503 # features/steps/patroni_api.py:98 1350s Nov 06 13:24:48 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1350s Nov 06 13:24:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1350s Nov 06 13:24:48 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1350s Nov 06 13:24:48 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1350s Nov 06 13:24:48 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1353s Nov 06 13:24:51 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1353s Nov 06 13:24:51 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1354s Nov 06 13:24:52 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1354s Nov 06 13:24:52 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1354s Nov 06 13:24:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1354s Nov 06 13:24:52 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1354s Nov 06 13:24:52 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1354s Nov 06 13:24:52 1354s Nov 06 13:24:52 Scenario: check switchover # features/standby_cluster.feature:57 1354s Nov 06 13:24:52 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1358s Nov 06 13:24:56 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1358s Nov 06 13:24:56 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1360s Nov 06 13:24:58 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 1360s Nov 06 13:24:58 1360s Nov 06 13:24:58 Scenario: check failover # features/standby_cluster.feature:63 1360s Nov 06 13:24:58 When I kill postgres2 # features/steps/basic_replication.py:34 1361s Nov 06 13:24:59 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1361s Nov 06 13:24:59 waiting for server to shut down.... done 1361s Nov 06 13:24:59 server stopped 1361s Nov 06 13:24:59 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1380s Nov 06 13:25:18 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1380s Nov 06 13:25:18 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1380s Nov 06 13:25:18 Then I receive a response code 503 # features/steps/patroni_api.py:98 1380s Nov 06 13:25:18 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1380s Nov 06 13:25:18 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1381s Nov 06 13:25:19 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 1386s Nov 06 13:25:24 1386s Nov 06 13:25:24 Feature: watchdog # features/watchdog.feature:1 1386s Nov 06 13:25:24 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1386s Nov 06 13:25:24 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1386s Nov 06 13:25:24 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1389s Nov 06 13:25:27 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1389s Nov 06 13:25:27 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1389s Nov 06 13:25:27 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1390s Nov 06 13:25:28 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1390s Nov 06 13:25:28 1390s Nov 06 13:25:28 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1390s Nov 06 13:25:28 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1392s Nov 06 13:25:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1392s Nov 06 13:25:30 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1392s Nov 06 13:25:30 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1396s Nov 06 13:25:34 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1396s Nov 06 13:25:34 1396s Nov 06 13:25:34 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1396s Nov 06 13:25:34 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1398s Nov 06 13:25:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1398s Nov 06 13:25:36 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1400s Nov 06 13:25:38 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1400s Nov 06 13:25:38 1400s Nov 06 13:25:38 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1400s Nov 06 13:25:38 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1400s Nov 06 13:25:38 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1402s Nov 06 13:25:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1402s Nov 06 13:25:40 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1403s Nov 06 13:25:41 1403s Nov 06 13:25:41 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1403s Nov 06 13:25:41 Given I shut down postgres0 # features/steps/basic_replication.py:29 1405s Nov 06 13:25:43 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1405s Nov 06 13:25:43 1405s Nov 06 13:25:43 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1405s Nov 06 13:25:43 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1405s Nov 06 13:25:43 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1408s Nov 06 13:25:46 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1409s Nov 06 13:25:47 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1409s Nov 06 13:25:47 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1432s Nov 06 13:26:10 1432s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 1433s Failed to get list of machines from http://[::1]:2379/v2: MaxRetryError("HTTPConnectionPool(host='::1', port=2379): Max retries exceeded with url: /v2/machines (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))") 1433s 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'))") 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5413.XbQdNkHx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5457.XxZDoPAx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5495.XvRrlmBx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5553.XYHYHrLx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5598.XoAbXgQx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5668.XCkjksfx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5715.XzBpwHTx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5718.XjojfBhx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5818.XnZnxHsx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5920.XzHbSqPx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5929.XQKXPJOx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.5971.XoeXEsgx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.6017.XYImDkFx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.6132.XPfIkRGx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.6176.XzICXvvx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.6230.XuLMkOsx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.6316.XAKXyUjx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.6621.XTQTKiLx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.6693.XWcnRkgx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.6753.XKqRijux 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.6986.XNwWojvx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7037.XHAWWRHx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7098.XJAkIBMx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7187.XYkuPgAx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7282.XdmTHkRx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7324.XvqCsQVx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7387.XWGHZqZx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7420.XVCTWRMx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7589.XDRvxYSx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7637.XNodirwx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7652.XuTguwBx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7689.XryaRPtx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7735.XjnmwlAx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7740.XNjlgmux 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7776.XEmWyLOx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7819.XbzJvrlx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7979.XMUUYDux 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7981.XSqCSUHx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.7986.XUyCkrIx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8122.XUSSgzLx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8167.XPMgYVjx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8214.XScqabXx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8249.XAWWFRzx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8301.XjVvsVLx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8486.XttPqUDx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8528.XHBGhVNx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8603.XIeARsox 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8676.XAWwMqox 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.8731.XoacgGjx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9074.XnAhoGAx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9117.XfGnmeIx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9257.XvXvtzJx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9319.XBGlVKWx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9383.XzaJxqhx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9481.XPIIWKPx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9593.XUymesux 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9723.XOfARLYx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9765.XLcTNTWx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9767.XqtiJJDx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9771.XmNMpuOx 1433s Nov 06 13:26:11 Combined data file .coverage.autopkgtest.9782.XZezjpsx 1436s Nov 06 13:26:14 Name Stmts Miss Cover 1436s Nov 06 13:26:14 ------------------------------------------------------------------------------------------------------------- 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/idna/core.py 293 258 12% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/api.py 770 280 64% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/ha.py 1244 319 74% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 214 74% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/utils.py 350 120 66% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/six.py 504 250 50% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1436s Nov 06 13:26:14 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1436s Nov 06 13:26:14 patroni/__init__.py 13 2 85% 1436s Nov 06 13:26:14 patroni/__main__.py 199 199 0% 1436s Nov 06 13:26:14 patroni/api.py 770 770 0% 1436s Nov 06 13:26:14 patroni/async_executor.py 96 69 28% 1436s Nov 06 13:26:14 patroni/collections.py 56 15 73% 1436s Nov 06 13:26:14 patroni/config.py 371 196 47% 1436s Nov 06 13:26:14 patroni/config_generator.py 212 212 0% 1436s Nov 06 13:26:14 patroni/ctl.py 936 411 56% 1436s Nov 06 13:26:14 patroni/daemon.py 76 76 0% 1436s Nov 06 13:26:14 patroni/dcs/__init__.py 646 270 58% 1436s Nov 06 13:26:14 patroni/dcs/consul.py 485 485 0% 1436s Nov 06 13:26:14 patroni/dcs/etcd3.py 679 679 0% 1436s Nov 06 13:26:14 patroni/dcs/etcd.py 603 224 63% 1436s Nov 06 13:26:14 patroni/dcs/exhibitor.py 61 61 0% 1436s Nov 06 13:26:14 patroni/dcs/kubernetes.py 938 938 0% 1436s Nov 06 13:26:14 patroni/dcs/raft.py 319 319 0% 1436s Nov 06 13:26:14 patroni/dcs/zookeeper.py 288 288 0% 1436s Nov 06 13:26:14 patroni/dynamic_loader.py 35 7 80% 1436s Nov 06 13:26:14 patroni/exceptions.py 16 1 94% 1436s Nov 06 13:26:14 patroni/file_perm.py 43 15 65% 1436s Nov 06 13:26:14 patroni/global_config.py 81 18 78% 1436s Nov 06 13:26:14 patroni/ha.py 1244 1244 0% 1436s Nov 06 13:26:14 patroni/log.py 219 173 21% 1436s Nov 06 13:26:14 patroni/postgresql/__init__.py 821 651 21% 1436s Nov 06 13:26:14 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1436s Nov 06 13:26:14 patroni/postgresql/bootstrap.py 252 222 12% 1436s Nov 06 13:26:14 patroni/postgresql/callback_executor.py 55 34 38% 1436s Nov 06 13:26:14 patroni/postgresql/cancellable.py 104 84 19% 1436s Nov 06 13:26:14 patroni/postgresql/config.py 813 698 14% 1436s Nov 06 13:26:14 patroni/postgresql/connection.py 75 50 33% 1436s Nov 06 13:26:14 patroni/postgresql/misc.py 41 29 29% 1436s Nov 06 13:26:14 patroni/postgresql/mpp/__init__.py 89 21 76% 1436s Nov 06 13:26:14 patroni/postgresql/mpp/citus.py 259 259 0% 1436s Nov 06 13:26:14 patroni/postgresql/postmaster.py 170 139 18% 1436s Nov 06 13:26:14 patroni/postgresql/rewind.py 416 416 0% 1436s Nov 06 13:26:14 patroni/postgresql/slots.py 334 285 15% 1436s Nov 06 13:26:14 patroni/postgresql/sync.py 130 96 26% 1436s Nov 06 13:26:14 patroni/postgresql/validator.py 157 52 67% 1436s Nov 06 13:26:14 patroni/psycopg.py 42 28 33% 1436s Nov 06 13:26:14 patroni/raft_controller.py 22 22 0% 1436s Nov 06 13:26:14 patroni/request.py 62 6 90% 1436s Nov 06 13:26:14 patroni/scripts/__init__.py 0 0 100% 1436s Nov 06 13:26:14 patroni/scripts/aws.py 59 59 0% 1436s Nov 06 13:26:14 patroni/scripts/barman/__init__.py 0 0 100% 1436s Nov 06 13:26:14 patroni/scripts/barman/cli.py 51 51 0% 1436s Nov 06 13:26:14 patroni/scripts/barman/config_switch.py 51 51 0% 1436s Nov 06 13:26:14 patroni/scripts/barman/recover.py 37 37 0% 1436s Nov 06 13:26:14 patroni/scripts/barman/utils.py 94 94 0% 1436s Nov 06 13:26:14 patroni/scripts/wale_restore.py 207 207 0% 1436s Nov 06 13:26:14 patroni/tags.py 38 11 71% 1436s Nov 06 13:26:14 patroni/utils.py 350 196 44% 1436s Nov 06 13:26:14 patroni/validator.py 301 215 29% 1436s Nov 06 13:26:14 patroni/version.py 1 0 100% 1436s Nov 06 13:26:14 patroni/watchdog/__init__.py 2 2 0% 1436s Nov 06 13:26:14 patroni/watchdog/base.py 203 203 0% 1436s Nov 06 13:26:14 patroni/watchdog/linux.py 135 135 0% 1436s Nov 06 13:26:14 ------------------------------------------------------------------------------------------------------------- 1436s Nov 06 13:26:14 TOTAL 53061 32137 39% 1436s Nov 06 13:26:14 12 features passed, 0 failed, 1 skipped 1436s Nov 06 13:26:14 55 scenarios passed, 0 failed, 5 skipped 1436s Nov 06 13:26:14 524 steps passed, 0 failed, 61 skipped, 0 undefined 1436s Nov 06 13:26:14 Took 8m29.274s 1436s ### End 16 acceptance-etcd ### 1436s + echo '### End 16 acceptance-etcd ###' 1436s + rm -f '/tmp/pgpass?' 1436s ++ id -u 1436s + '[' 0 -eq 0 ']' 1436s + '[' -x /etc/init.d/zookeeper ']' 1436s autopkgtest [13:26:14]: test acceptance-etcd: -----------------------] 1437s autopkgtest [13:26:15]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1437s acceptance-etcd PASS 1438s autopkgtest [13:26:16]: test acceptance-zookeeper: preparing testbed 1520s autopkgtest [13:27:38]: testbed dpkg architecture: arm64 1520s autopkgtest [13:27:38]: testbed apt version: 2.9.8 1520s autopkgtest [13:27:38]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1521s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1521s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [19.4 kB] 1521s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [177 kB] 1521s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [1652 kB] 1522s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 1522s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [242 kB] 1522s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 1522s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [1298 kB] 1522s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [19.4 kB] 1522s Fetched 3539 kB in 1s (2945 kB/s) 1522s Reading package lists... 1525s Reading package lists... 1525s Building dependency tree... 1525s Reading state information... 1526s Calculating upgrade... 1526s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1526s Reading package lists... 1526s Building dependency tree... 1526s Reading state information... 1527s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1528s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 1528s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1528s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1528s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1529s Reading package lists... 1529s Reading package lists... 1529s Building dependency tree... 1529s Reading state information... 1530s Calculating upgrade... 1530s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1530s Reading package lists... 1531s Building dependency tree... 1531s Reading state information... 1531s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1536s Reading package lists... 1536s Building dependency tree... 1536s Reading state information... 1537s Starting pkgProblemResolver with broken count: 0 1537s Starting 2 pkgProblemResolver with broken count: 0 1537s Done 1537s The following additional packages will be installed: 1537s adwaita-icon-theme at-spi2-common ca-certificates-java 1537s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1537s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1537s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1537s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1537s libapr1t64 libasm-java libasound2-data libasound2t64 1537s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1537s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1537s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1537s libcommons-io-java libcommons-logging-java libcommons-parent-java 1537s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 1537s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1537s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1537s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1537s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1537s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1537s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1537s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1537s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1537s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1537s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1537s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1537s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1537s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 1537s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1537s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1537s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 1537s libsnappy1v5 libspring-beans-java libspring-core-java 1537s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 1537s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 1537s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 1537s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 1537s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 1537s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 1537s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 1537s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 1537s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 1537s patroni-doc postgresql postgresql-16 postgresql-client-16 1537s postgresql-client-common postgresql-common python3-behave python3-cdiff 1537s python3-click python3-colorama python3-coverage python3-dateutil 1537s python3-dnspython python3-eventlet python3-gevent python3-greenlet 1537s python3-kazoo python3-kerberos python3-parse python3-parse-type 1537s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 1537s python3-six python3-wcwidth python3-ydiff python3-zope.event 1537s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 1537s x11-common zookeeper zookeeperd 1537s Suggested packages: 1537s alsa-utils libasound2-plugins libatinject-jsr330-api-java-doc colord 1537s libavalon-framework-java libexcalibur-logkit-java cups-common gvfs 1537s libjackson2-annotations-java-doc jetty9 libjnr-ffi-java-doc 1537s libjnr-posix-java-doc libjsr305-java-doc liblcms2-utils liblog4j1.2-java-doc 1537s libbcpkix-java libcompress-lzf-java libjzlib-java liblog4j2-java 1537s libprotobuf-java pcscd libcglib-java libyaml-snake-java libaspectj-java 1537s libcommons-collections3-java tomcat9 libzookeeper-java-doc libnss-mdns 1537s fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho 1537s fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic vip-manager haproxy 1537s postgresql-doc postgresql-doc-16 python-coverage-doc python3-trio 1537s python3-aioquic python3-h2 python3-httpx python3-httpcore 1537s python-eventlet-doc python-gevent-doc python-greenlet-dev 1537s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 1537s Recommended packages: 1537s librsvg2-common alsa-ucm-conf alsa-topology-conf at-spi2-core 1537s libgdk-pixbuf2.0-bin libgl1-amber-dri libgtk-3-bin javascript-common 1537s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 1537s fonts-dejavu-extra 1537s The following NEW packages will be installed: 1537s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 1537s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1537s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1537s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1537s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1537s libapr1t64 libasm-java libasound2-data libasound2t64 1537s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1537s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1537s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1537s libcommons-io-java libcommons-logging-java libcommons-parent-java 1537s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 1537s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1537s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1537s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 1537s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1537s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1537s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1537s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1537s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1537s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1537s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1537s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1538s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1538s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 1538s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1538s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1538s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 1538s libsnappy1v5 libspring-beans-java libspring-core-java 1538s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 1538s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 1538s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 1538s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 1538s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 1538s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 1538s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 1538s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 1538s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 1538s patroni-doc postgresql postgresql-16 postgresql-client-16 1538s postgresql-client-common postgresql-common python3-behave python3-cdiff 1538s python3-click python3-colorama python3-coverage python3-dateutil 1538s python3-dnspython python3-eventlet python3-gevent python3-greenlet 1538s python3-kazoo python3-kerberos python3-parse python3-parse-type 1538s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 1538s python3-six python3-wcwidth python3-ydiff python3-zope.event 1538s python3-zope.interface sphinx-rtd-theme-common ssl-cert ubuntu-mono 1538s x11-common zookeeper zookeeperd 1538s 0 upgraded, 196 newly installed, 0 to remove and 0 not upgraded. 1538s Need to get 130 MB/130 MB of archives. 1538s After this operation, 466 MB of additional disk space will be used. 1538s Get:1 /tmp/autopkgtest.QdIpNW/4-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [764 B] 1538s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 1538s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1538s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 1538s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 1538s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 1538s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ca-certificates-java all 20240118 [11.6 kB] 1538s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 java-common all 0.76 [6852 B] 1538s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 liblcms2-2 arm64 2.14-2build1 [161 kB] 1538s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-2ubuntu2 [163 kB] 1538s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 1538s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcsclite1 arm64 2.3.0-1 [24.4 kB] 1538s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre-headless arm64 21.0.5+11-1 [45.7 MB] 1540s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre-headless arm64 2:1.21-76 [3176 B] 1540s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 1540s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.21-1 [46.2 kB] 1540s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 1540s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-4ubuntu2 [154 kB] 1540s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.4.0-0.1 [16.3 kB] 1540s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.4.0-0.1 [192 kB] 1540s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 1540s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.12+dfsg-1 [145 kB] 1540s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 gtk-update-icon-cache arm64 4.16.2+ds-2 [51.1 kB] 1540s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 hicolor-icon-theme all 0.18-1 [13.5 kB] 1540s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 humanity-icon-theme all 0.6.16 [1282 kB] 1540s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 1540s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 adwaita-icon-theme all 47.0-1 [525 kB] 1540s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 at-spi2-common all 2.54.0-1 [8774 B] 1540s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk1.0-0t64 arm64 2.54.0-1 [55.0 kB] 1540s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 libxi6 arm64 2:1.8.2-1 [32.4 kB] 1540s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 libatspi2.0-0t64 arm64 2.54.0-1 [80.2 kB] 1540s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk-bridge2.0-0t64 arm64 2.54.0-1 [66.6 kB] 1540s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 1540s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 1540s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-1.1ubuntu2 [37.4 kB] 1540s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-1.1ubuntu2 [142 kB] 1540s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.42.2-1build1 [204 kB] 1540s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 1540s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 1540s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 1540s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.2-2 [560 kB] 1540s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo-gobject2 arm64 1.18.2-2 [127 kB] 1540s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libcolord2 arm64 1.4.7-1build2 [149 kB] 1540s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common-data arm64 0.8-13ubuntu6 [29.6 kB] 1541s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common3 arm64 0.8-13ubuntu6 [23.3 kB] 1541s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-client3 arm64 0.8-13ubuntu6 [27.2 kB] 1541s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libcups2t64 arm64 2.4.10-1ubuntu2 [271 kB] 1541s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libepoxy0 arm64 1.5.10-1build1 [240 kB] 1541s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 1541s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 9.0.0-1 [486 kB] 1541s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-1.1ubuntu2 [190 kB] 1541s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 1541s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 1541s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 1541s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.54.0+ds-2 [233 kB] 1541s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.54.0+ds-2 [48.8 kB] 1541s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.54.0+ds-2 [27.5 kB] 1541s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-client0 arm64 1.23.0-1 [26.7 kB] 1541s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-cursor0 arm64 1.23.0-1 [10.6 kB] 1541s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-egl1 arm64 1.23.0-1 [5636 B] 1541s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcomposite1 arm64 1:0.4.5-1build3 [6336 B] 1541s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 1541s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcursor1 arm64 1:1.2.2-1 [21.2 kB] 1541s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 libxdamage1 arm64 1:1.1.6-1build1 [6236 B] 1541s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 libxinerama1 arm64 2:1.1.4-3build1 [6394 B] 1541s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 1541s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 libdconf1 arm64 0.40.0-4build2 [39.8 kB] 1541s Get:68 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-service arm64 0.40.0-4build2 [26.9 kB] 1541s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-gsettings-backend arm64 0.40.0-4build2 [22.0 kB] 1541s Get:70 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-common all 3.24.43-3ubuntu2 [1202 kB] 1541s Get:71 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-0t64 arm64 3.24.43-3ubuntu2 [2898 kB] 1541s Get:72 http://ftpmaster.internal/ubuntu plucky/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 1541s Get:73 http://ftpmaster.internal/ubuntu plucky/main arm64 libglapi-mesa arm64 24.2.3-1ubuntu1 [59.4 kB] 1541s Get:74 http://ftpmaster.internal/ubuntu plucky/main arm64 libx11-xcb1 arm64 2:1.8.7-1build1 [7870 B] 1541s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri2-0 arm64 1.17.0-2 [7418 B] 1541s Get:76 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 1541s Get:77 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 1541s Get:78 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 1541s Get:79 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 1541s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 1541s Get:81 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 1541s Get:82 http://ftpmaster.internal/ubuntu plucky/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 1541s Get:83 http://ftpmaster.internal/ubuntu plucky/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 1541s Get:84 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-amdgpu1 arm64 2.4.122-1 [20.9 kB] 1541s Get:85 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-radeon1 arm64 2.4.122-1 [20.8 kB] 1541s Get:86 http://ftpmaster.internal/ubuntu plucky/main arm64 mesa-libgallium arm64 24.2.3-1ubuntu1 [9030 kB] 1541s Get:87 http://ftpmaster.internal/ubuntu plucky/main arm64 libvulkan1 arm64 1.3.290.0-1 [153 kB] 1541s Get:88 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-server0 arm64 1.23.0-1 [35.7 kB] 1541s Get:89 http://ftpmaster.internal/ubuntu plucky/main arm64 libgbm1 arm64 24.2.3-1ubuntu1 [32.9 kB] 1541s Get:90 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1-mesa-dri arm64 24.2.3-1ubuntu1 [33.3 kB] 1541s Get:91 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx-mesa0 arm64 24.2.3-1ubuntu1 [164 kB] 1541s Get:92 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 1541s Get:93 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 1541s Get:94 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2-data all 1.2.12-1 [21.0 kB] 1541s Get:95 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2t64 arm64 1.2.12-1 [384 kB] 1541s Get:96 http://ftpmaster.internal/ubuntu plucky/main arm64 libgif7 arm64 5.2.2-1ubuntu1 [35.5 kB] 1541s Get:97 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1541s Get:98 http://ftpmaster.internal/ubuntu plucky/main arm64 libxtst6 arm64 2:1.2.3-1.1build1 [13.0 kB] 1541s Get:99 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre arm64 21.0.5+11-1 [221 kB] 1541s Get:100 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre arm64 2:1.21-76 [918 B] 1541s Get:101 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhamcrest-java all 2.2-2 [117 kB] 1541s Get:102 http://ftpmaster.internal/ubuntu plucky/universe arm64 junit4 all 4.13.2-4 [347 kB] 1542s Get:103 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 1542s Get:104 http://ftpmaster.internal/ubuntu plucky/universe arm64 libapache-pom-java all 33-2 [5874 B] 1542s Get:105 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-parent-java all 56-1 [10.7 kB] 1542s Get:106 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-io-java all 2.16.1-1 [451 kB] 1542s Get:107 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1542s Get:108 http://ftpmaster.internal/ubuntu plucky/universe arm64 libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1542s Get:109 http://ftpmaster.internal/ubuntu plucky/universe arm64 libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 1542s Get:110 http://ftpmaster.internal/ubuntu plucky/universe arm64 liberror-prone-java all 2.18.0-1 [22.5 kB] 1542s Get:111 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 1542s Get:112 http://ftpmaster.internal/ubuntu plucky/universe arm64 libguava-java all 32.0.1-1 [2692 kB] 1542s Get:113 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1542s Get:114 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-core-java all 2.14.1-1 [432 kB] 1542s Get:115 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 1542s Get:116 http://ftpmaster.internal/ubuntu plucky/universe arm64 libasm-java all 9.7-2 [386 kB] 1542s Get:117 http://ftpmaster.internal/ubuntu plucky/universe arm64 libel-api-java all 3.0.0-3 [64.9 kB] 1542s Get:118 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsp-api-java all 2.3.4-3 [53.7 kB] 1542s Get:119 http://ftpmaster.internal/ubuntu plucky/universe arm64 libservlet-api-java all 4.0.1-2 [81.0 kB] 1542s Get:120 http://ftpmaster.internal/ubuntu plucky/universe arm64 libwebsocket-api-java all 1.1-2 [40.1 kB] 1542s Get:121 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-java all 9.4.55-1 [2787 kB] 1542s Get:122 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-constants-java all 0.10.4-2 [1397 kB] 1542s Get:123 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-jni arm64 1.3.13+ds-1 [29.8 kB] 1542s Get:124 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-java all 1.3.13+ds-1 [112 kB] 1542s Get:125 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 1542s Get:126 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-ffi-java all 2.2.15-2 [627 kB] 1543s Get:127 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1543s Get:128 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-posix-java all 3.1.18-1 [267 kB] 1543s Get:129 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1543s Get:130 http://ftpmaster.internal/ubuntu plucky/universe arm64 libactivation-java all 1.2.0-2 [84.7 kB] 1543s Get:131 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmail-java all 1.6.5-3 [681 kB] 1543s Get:132 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1543s Get:133 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjaxb-api-java all 2.3.1-1 [119 kB] 1543s Get:134 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-core-java all 4.3.30-2 [1015 kB] 1543s Get:135 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-beans-java all 4.3.30-2 [675 kB] 1543s Get:136 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1543s Get:137 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1543s Get:138 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1543s Get:139 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1543s Get:140 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1543s Get:141 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-extra-java all 9.4.55-1 [1199 kB] 1543s Get:142 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjctools-java all 2.0.2-1 [188 kB] 1543s Get:143 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-java all 1:4.1.48-10 [3628 kB] 1543s Get:144 http://ftpmaster.internal/ubuntu plucky/universe arm64 libslf4j-java all 1.7.32-1 [141 kB] 1543s Get:145 http://ftpmaster.internal/ubuntu plucky/main arm64 libsnappy1v5 arm64 1.2.1-1 [30.4 kB] 1543s Get:146 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-jni arm64 1.1.10.5-2 [6618 B] 1543s Get:147 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-java all 1.1.10.5-2 [83.7 kB] 1543s Get:148 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.2-3.2ubuntu1 [106 kB] 1543s Get:149 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-jni arm64 2.0.28-1build4 [36.8 kB] 1543s Get:150 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1543s Get:151 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblog4j1.2-java all 1.2.17-11 [439 kB] 1543s Get:152 http://ftpmaster.internal/ubuntu plucky/universe arm64 libzookeeper-java all 3.9.2-2 [1885 kB] 1544s Get:153 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeper all 3.9.2-2 [57.8 kB] 1544s Get:154 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeperd all 3.9.2-2 [6036 B] 1544s Get:155 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1544s Get:156 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.33.0-1 [84.5 kB] 1544s Get:157 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 1544s Get:158 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 1544s Get:159 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1544s Get:160 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1544s Get:161 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1544s Get:162 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 1544s Get:163 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 1544s Get:164 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1544s Get:165 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1544s Get:166 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 1544s Get:167 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1544s Get:168 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 1544s Get:169 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 1544s Get:170 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 1544s Get:171 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 1544s Get:172 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 1544s Get:173 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 1544s Get:174 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1544s Get:175 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 1544s Get:176 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 1544s Get:177 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 1544s Get:178 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.0.3-0ubuntu6 [153 kB] 1544s Get:179 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1544s Get:180 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 1544s Get:181 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 1544s Get:182 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 6.4-1 [138 kB] 1544s Get:183 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.2.1-1 [791 kB] 1544s Get:184 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 1544s Get:185 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 1544s Get:186 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 1544s Get:187 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 1544s Get:188 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-2 [1012 kB] 1544s Get:189 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 1544s Get:190 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 1544s Get:191 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 1545s Get:192 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 1545s Get:193 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 1545s Get:194 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 1545s Get:195 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 1545s Get:196 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 1546s Preconfiguring packages ... 1546s Fetched 130 MB in 8s (17.1 MB/s) 1546s Selecting previously unselected package fonts-lato. 1546s (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 ... 79706 files and directories currently installed.) 1546s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1546s Unpacking fonts-lato (2.015-1) ... 1546s Selecting previously unselected package libjson-perl. 1546s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1546s Unpacking libjson-perl (4.10000-1) ... 1546s Selecting previously unselected package postgresql-client-common. 1546s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 1546s Unpacking postgresql-client-common (262) ... 1547s Selecting previously unselected package ssl-cert. 1547s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu2_all.deb ... 1547s Unpacking ssl-cert (1.1.2ubuntu2) ... 1547s Selecting previously unselected package postgresql-common. 1547s Preparing to unpack .../004-postgresql-common_262_all.deb ... 1547s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1547s Unpacking postgresql-common (262) ... 1547s Selecting previously unselected package ca-certificates-java. 1547s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 1547s Unpacking ca-certificates-java (20240118) ... 1547s Selecting previously unselected package java-common. 1547s Preparing to unpack .../006-java-common_0.76_all.deb ... 1547s Unpacking java-common (0.76) ... 1547s Selecting previously unselected package liblcms2-2:arm64. 1547s Preparing to unpack .../007-liblcms2-2_2.14-2build1_arm64.deb ... 1547s Unpacking liblcms2-2:arm64 (2.14-2build1) ... 1547s Selecting previously unselected package libjpeg-turbo8:arm64. 1547s Preparing to unpack .../008-libjpeg-turbo8_2.1.5-2ubuntu2_arm64.deb ... 1547s Unpacking libjpeg-turbo8:arm64 (2.1.5-2ubuntu2) ... 1547s Selecting previously unselected package libjpeg8:arm64. 1547s Preparing to unpack .../009-libjpeg8_8c-2ubuntu11_arm64.deb ... 1547s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 1547s Selecting previously unselected package libpcsclite1:arm64. 1547s Preparing to unpack .../010-libpcsclite1_2.3.0-1_arm64.deb ... 1547s Unpacking libpcsclite1:arm64 (2.3.0-1) ... 1547s Selecting previously unselected package openjdk-21-jre-headless:arm64. 1547s Preparing to unpack .../011-openjdk-21-jre-headless_21.0.5+11-1_arm64.deb ... 1547s Unpacking openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1548s Selecting previously unselected package default-jre-headless. 1548s Preparing to unpack .../012-default-jre-headless_2%3a1.21-76_arm64.deb ... 1548s Unpacking default-jre-headless (2:1.21-76) ... 1548s Selecting previously unselected package libgdk-pixbuf2.0-common. 1548s Preparing to unpack .../013-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 1548s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1548s Selecting previously unselected package libdeflate0:arm64. 1548s Preparing to unpack .../014-libdeflate0_1.21-1_arm64.deb ... 1548s Unpacking libdeflate0:arm64 (1.21-1) ... 1548s Selecting previously unselected package libjbig0:arm64. 1548s Preparing to unpack .../015-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 1548s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 1548s Selecting previously unselected package liblerc4:arm64. 1548s Preparing to unpack .../016-liblerc4_4.0.0+ds-4ubuntu2_arm64.deb ... 1548s Unpacking liblerc4:arm64 (4.0.0+ds-4ubuntu2) ... 1548s Selecting previously unselected package libsharpyuv0:arm64. 1548s Preparing to unpack .../017-libsharpyuv0_1.4.0-0.1_arm64.deb ... 1548s Unpacking libsharpyuv0:arm64 (1.4.0-0.1) ... 1548s Selecting previously unselected package libwebp7:arm64. 1548s Preparing to unpack .../018-libwebp7_1.4.0-0.1_arm64.deb ... 1548s Unpacking libwebp7:arm64 (1.4.0-0.1) ... 1548s Selecting previously unselected package libtiff6:arm64. 1548s Preparing to unpack .../019-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 1548s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1548s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 1549s Preparing to unpack .../020-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_arm64.deb ... 1549s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1549s Selecting previously unselected package gtk-update-icon-cache. 1549s Preparing to unpack .../021-gtk-update-icon-cache_4.16.2+ds-2_arm64.deb ... 1549s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1549s 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. 1549s Unpacking gtk-update-icon-cache (4.16.2+ds-2) ... 1549s Selecting previously unselected package hicolor-icon-theme. 1549s Preparing to unpack .../022-hicolor-icon-theme_0.18-1_all.deb ... 1549s Unpacking hicolor-icon-theme (0.18-1) ... 1549s Selecting previously unselected package humanity-icon-theme. 1549s Preparing to unpack .../023-humanity-icon-theme_0.6.16_all.deb ... 1549s Unpacking humanity-icon-theme (0.6.16) ... 1549s Selecting previously unselected package ubuntu-mono. 1549s Preparing to unpack .../024-ubuntu-mono_24.04-0ubuntu1_all.deb ... 1549s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 1550s Selecting previously unselected package adwaita-icon-theme. 1550s Preparing to unpack .../025-adwaita-icon-theme_47.0-1_all.deb ... 1550s Unpacking adwaita-icon-theme (47.0-1) ... 1550s Selecting previously unselected package at-spi2-common. 1550s Preparing to unpack .../026-at-spi2-common_2.54.0-1_all.deb ... 1550s Unpacking at-spi2-common (2.54.0-1) ... 1550s Selecting previously unselected package libatk1.0-0t64:arm64. 1550s Preparing to unpack .../027-libatk1.0-0t64_2.54.0-1_arm64.deb ... 1550s Unpacking libatk1.0-0t64:arm64 (2.54.0-1) ... 1550s Selecting previously unselected package libxi6:arm64. 1550s Preparing to unpack .../028-libxi6_2%3a1.8.2-1_arm64.deb ... 1550s Unpacking libxi6:arm64 (2:1.8.2-1) ... 1550s Selecting previously unselected package libatspi2.0-0t64:arm64. 1550s Preparing to unpack .../029-libatspi2.0-0t64_2.54.0-1_arm64.deb ... 1550s Unpacking libatspi2.0-0t64:arm64 (2.54.0-1) ... 1550s Selecting previously unselected package libatk-bridge2.0-0t64:arm64. 1550s Preparing to unpack .../030-libatk-bridge2.0-0t64_2.54.0-1_arm64.deb ... 1550s Unpacking libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 1550s Selecting previously unselected package fonts-dejavu-mono. 1550s Preparing to unpack .../031-fonts-dejavu-mono_2.37-8_all.deb ... 1550s Unpacking fonts-dejavu-mono (2.37-8) ... 1550s Selecting previously unselected package fonts-dejavu-core. 1550s Preparing to unpack .../032-fonts-dejavu-core_2.37-8_all.deb ... 1550s Unpacking fonts-dejavu-core (2.37-8) ... 1550s Selecting previously unselected package fontconfig-config. 1550s Preparing to unpack .../033-fontconfig-config_2.15.0-1.1ubuntu2_arm64.deb ... 1550s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 1551s Selecting previously unselected package libfontconfig1:arm64. 1551s Preparing to unpack .../034-libfontconfig1_2.15.0-1.1ubuntu2_arm64.deb ... 1551s Unpacking libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1551s Selecting previously unselected package libpixman-1-0:arm64. 1551s Preparing to unpack .../035-libpixman-1-0_0.42.2-1build1_arm64.deb ... 1551s Unpacking libpixman-1-0:arm64 (0.42.2-1build1) ... 1551s Selecting previously unselected package libxcb-render0:arm64. 1551s Preparing to unpack .../036-libxcb-render0_1.17.0-2_arm64.deb ... 1551s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 1551s Selecting previously unselected package libxcb-shm0:arm64. 1551s Preparing to unpack .../037-libxcb-shm0_1.17.0-2_arm64.deb ... 1551s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 1551s Selecting previously unselected package libxrender1:arm64. 1551s Preparing to unpack .../038-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 1551s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 1551s Selecting previously unselected package libcairo2:arm64. 1551s Preparing to unpack .../039-libcairo2_1.18.2-2_arm64.deb ... 1551s Unpacking libcairo2:arm64 (1.18.2-2) ... 1551s Selecting previously unselected package libcairo-gobject2:arm64. 1551s Preparing to unpack .../040-libcairo-gobject2_1.18.2-2_arm64.deb ... 1551s Unpacking libcairo-gobject2:arm64 (1.18.2-2) ... 1551s Selecting previously unselected package libcolord2:arm64. 1551s Preparing to unpack .../041-libcolord2_1.4.7-1build2_arm64.deb ... 1551s Unpacking libcolord2:arm64 (1.4.7-1build2) ... 1551s Selecting previously unselected package libavahi-common-data:arm64. 1551s Preparing to unpack .../042-libavahi-common-data_0.8-13ubuntu6_arm64.deb ... 1551s Unpacking libavahi-common-data:arm64 (0.8-13ubuntu6) ... 1551s Selecting previously unselected package libavahi-common3:arm64. 1551s Preparing to unpack .../043-libavahi-common3_0.8-13ubuntu6_arm64.deb ... 1551s Unpacking libavahi-common3:arm64 (0.8-13ubuntu6) ... 1551s Selecting previously unselected package libavahi-client3:arm64. 1551s Preparing to unpack .../044-libavahi-client3_0.8-13ubuntu6_arm64.deb ... 1551s Unpacking libavahi-client3:arm64 (0.8-13ubuntu6) ... 1551s Selecting previously unselected package libcups2t64:arm64. 1551s Preparing to unpack .../045-libcups2t64_2.4.10-1ubuntu2_arm64.deb ... 1551s Unpacking libcups2t64:arm64 (2.4.10-1ubuntu2) ... 1551s Selecting previously unselected package libepoxy0:arm64. 1551s Preparing to unpack .../046-libepoxy0_1.5.10-1build1_arm64.deb ... 1551s Unpacking libepoxy0:arm64 (1.5.10-1build1) ... 1551s Selecting previously unselected package libgraphite2-3:arm64. 1551s Preparing to unpack .../047-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 1551s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1551s Selecting previously unselected package libharfbuzz0b:arm64. 1551s Preparing to unpack .../048-libharfbuzz0b_9.0.0-1_arm64.deb ... 1551s Unpacking libharfbuzz0b:arm64 (9.0.0-1) ... 1551s Selecting previously unselected package fontconfig. 1551s Preparing to unpack .../049-fontconfig_2.15.0-1.1ubuntu2_arm64.deb ... 1551s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 1551s Selecting previously unselected package libthai-data. 1551s Preparing to unpack .../050-libthai-data_0.1.29-2build1_all.deb ... 1551s Unpacking libthai-data (0.1.29-2build1) ... 1551s Selecting previously unselected package libdatrie1:arm64. 1551s Preparing to unpack .../051-libdatrie1_0.2.13-3build1_arm64.deb ... 1551s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 1551s Selecting previously unselected package libthai0:arm64. 1552s Preparing to unpack .../052-libthai0_0.1.29-2build1_arm64.deb ... 1552s Unpacking libthai0:arm64 (0.1.29-2build1) ... 1552s Selecting previously unselected package libpango-1.0-0:arm64. 1552s Preparing to unpack .../053-libpango-1.0-0_1.54.0+ds-2_arm64.deb ... 1552s Unpacking libpango-1.0-0:arm64 (1.54.0+ds-2) ... 1552s Selecting previously unselected package libpangoft2-1.0-0:arm64. 1552s Preparing to unpack .../054-libpangoft2-1.0-0_1.54.0+ds-2_arm64.deb ... 1552s Unpacking libpangoft2-1.0-0:arm64 (1.54.0+ds-2) ... 1552s Selecting previously unselected package libpangocairo-1.0-0:arm64. 1552s Preparing to unpack .../055-libpangocairo-1.0-0_1.54.0+ds-2_arm64.deb ... 1552s Unpacking libpangocairo-1.0-0:arm64 (1.54.0+ds-2) ... 1552s Selecting previously unselected package libwayland-client0:arm64. 1552s Preparing to unpack .../056-libwayland-client0_1.23.0-1_arm64.deb ... 1552s Unpacking libwayland-client0:arm64 (1.23.0-1) ... 1552s Selecting previously unselected package libwayland-cursor0:arm64. 1552s Preparing to unpack .../057-libwayland-cursor0_1.23.0-1_arm64.deb ... 1552s Unpacking libwayland-cursor0:arm64 (1.23.0-1) ... 1552s Selecting previously unselected package libwayland-egl1:arm64. 1552s Preparing to unpack .../058-libwayland-egl1_1.23.0-1_arm64.deb ... 1552s Unpacking libwayland-egl1:arm64 (1.23.0-1) ... 1552s Selecting previously unselected package libxcomposite1:arm64. 1552s Preparing to unpack .../059-libxcomposite1_1%3a0.4.5-1build3_arm64.deb ... 1552s Unpacking libxcomposite1:arm64 (1:0.4.5-1build3) ... 1552s Selecting previously unselected package libxfixes3:arm64. 1552s Preparing to unpack .../060-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 1552s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 1552s Selecting previously unselected package libxcursor1:arm64. 1552s Preparing to unpack .../061-libxcursor1_1%3a1.2.2-1_arm64.deb ... 1552s Unpacking libxcursor1:arm64 (1:1.2.2-1) ... 1552s Selecting previously unselected package libxdamage1:arm64. 1552s Preparing to unpack .../062-libxdamage1_1%3a1.1.6-1build1_arm64.deb ... 1552s Unpacking libxdamage1:arm64 (1:1.1.6-1build1) ... 1552s Selecting previously unselected package libxinerama1:arm64. 1552s Preparing to unpack .../063-libxinerama1_2%3a1.1.4-3build1_arm64.deb ... 1552s Unpacking libxinerama1:arm64 (2:1.1.4-3build1) ... 1552s Selecting previously unselected package libxrandr2:arm64. 1552s Preparing to unpack .../064-libxrandr2_2%3a1.5.4-1_arm64.deb ... 1552s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 1552s Selecting previously unselected package libdconf1:arm64. 1552s Preparing to unpack .../065-libdconf1_0.40.0-4build2_arm64.deb ... 1552s Unpacking libdconf1:arm64 (0.40.0-4build2) ... 1552s Selecting previously unselected package dconf-service. 1552s Preparing to unpack .../066-dconf-service_0.40.0-4build2_arm64.deb ... 1552s Unpacking dconf-service (0.40.0-4build2) ... 1552s Selecting previously unselected package dconf-gsettings-backend:arm64. 1552s Preparing to unpack .../067-dconf-gsettings-backend_0.40.0-4build2_arm64.deb ... 1552s Unpacking dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1552s Selecting previously unselected package libgtk-3-common. 1552s Preparing to unpack .../068-libgtk-3-common_3.24.43-3ubuntu2_all.deb ... 1552s Unpacking libgtk-3-common (3.24.43-3ubuntu2) ... 1552s Selecting previously unselected package libgtk-3-0t64:arm64. 1552s Preparing to unpack .../069-libgtk-3-0t64_3.24.43-3ubuntu2_arm64.deb ... 1552s Unpacking libgtk-3-0t64:arm64 (3.24.43-3ubuntu2) ... 1553s Selecting previously unselected package libglvnd0:arm64. 1553s Preparing to unpack .../070-libglvnd0_1.7.0-1build1_arm64.deb ... 1553s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 1553s Selecting previously unselected package libglapi-mesa:arm64. 1553s Preparing to unpack .../071-libglapi-mesa_24.2.3-1ubuntu1_arm64.deb ... 1553s Unpacking libglapi-mesa:arm64 (24.2.3-1ubuntu1) ... 1553s Selecting previously unselected package libx11-xcb1:arm64. 1553s Preparing to unpack .../072-libx11-xcb1_2%3a1.8.7-1build1_arm64.deb ... 1553s Unpacking libx11-xcb1:arm64 (2:1.8.7-1build1) ... 1553s Selecting previously unselected package libxcb-dri2-0:arm64. 1553s Preparing to unpack .../073-libxcb-dri2-0_1.17.0-2_arm64.deb ... 1553s Unpacking libxcb-dri2-0:arm64 (1.17.0-2) ... 1553s Selecting previously unselected package libxcb-dri3-0:arm64. 1553s Preparing to unpack .../074-libxcb-dri3-0_1.17.0-2_arm64.deb ... 1553s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 1553s Selecting previously unselected package libxcb-glx0:arm64. 1553s Preparing to unpack .../075-libxcb-glx0_1.17.0-2_arm64.deb ... 1553s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 1553s Selecting previously unselected package libxcb-present0:arm64. 1553s Preparing to unpack .../076-libxcb-present0_1.17.0-2_arm64.deb ... 1553s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 1553s Selecting previously unselected package libxcb-randr0:arm64. 1553s Preparing to unpack .../077-libxcb-randr0_1.17.0-2_arm64.deb ... 1553s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 1553s Selecting previously unselected package libxcb-sync1:arm64. 1553s Preparing to unpack .../078-libxcb-sync1_1.17.0-2_arm64.deb ... 1553s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 1553s Selecting previously unselected package libxcb-xfixes0:arm64. 1553s Preparing to unpack .../079-libxcb-xfixes0_1.17.0-2_arm64.deb ... 1553s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 1553s Selecting previously unselected package libxshmfence1:arm64. 1553s Preparing to unpack .../080-libxshmfence1_1.3-1build5_arm64.deb ... 1553s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 1553s Selecting previously unselected package libxxf86vm1:arm64. 1553s Preparing to unpack .../081-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 1553s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1553s Selecting previously unselected package libdrm-amdgpu1:arm64. 1553s Preparing to unpack .../082-libdrm-amdgpu1_2.4.122-1_arm64.deb ... 1553s Unpacking libdrm-amdgpu1:arm64 (2.4.122-1) ... 1553s Selecting previously unselected package libdrm-radeon1:arm64. 1553s Preparing to unpack .../083-libdrm-radeon1_2.4.122-1_arm64.deb ... 1553s Unpacking libdrm-radeon1:arm64 (2.4.122-1) ... 1553s Selecting previously unselected package mesa-libgallium:arm64. 1553s Preparing to unpack .../084-mesa-libgallium_24.2.3-1ubuntu1_arm64.deb ... 1553s Unpacking mesa-libgallium:arm64 (24.2.3-1ubuntu1) ... 1553s Selecting previously unselected package libvulkan1:arm64. 1553s Preparing to unpack .../085-libvulkan1_1.3.290.0-1_arm64.deb ... 1553s Unpacking libvulkan1:arm64 (1.3.290.0-1) ... 1554s Selecting previously unselected package libwayland-server0:arm64. 1554s Preparing to unpack .../086-libwayland-server0_1.23.0-1_arm64.deb ... 1554s Unpacking libwayland-server0:arm64 (1.23.0-1) ... 1554s Selecting previously unselected package libgbm1:arm64. 1554s Preparing to unpack .../087-libgbm1_24.2.3-1ubuntu1_arm64.deb ... 1554s Unpacking libgbm1:arm64 (24.2.3-1ubuntu1) ... 1554s Selecting previously unselected package libgl1-mesa-dri:arm64. 1554s Preparing to unpack .../088-libgl1-mesa-dri_24.2.3-1ubuntu1_arm64.deb ... 1554s Unpacking libgl1-mesa-dri:arm64 (24.2.3-1ubuntu1) ... 1554s Selecting previously unselected package libglx-mesa0:arm64. 1554s Preparing to unpack .../089-libglx-mesa0_24.2.3-1ubuntu1_arm64.deb ... 1554s Unpacking libglx-mesa0:arm64 (24.2.3-1ubuntu1) ... 1554s Selecting previously unselected package libglx0:arm64. 1554s Preparing to unpack .../090-libglx0_1.7.0-1build1_arm64.deb ... 1554s Unpacking libglx0:arm64 (1.7.0-1build1) ... 1554s Selecting previously unselected package libgl1:arm64. 1554s Preparing to unpack .../091-libgl1_1.7.0-1build1_arm64.deb ... 1554s Unpacking libgl1:arm64 (1.7.0-1build1) ... 1554s Selecting previously unselected package libasound2-data. 1554s Preparing to unpack .../092-libasound2-data_1.2.12-1_all.deb ... 1554s Unpacking libasound2-data (1.2.12-1) ... 1554s Selecting previously unselected package libasound2t64:arm64. 1554s Preparing to unpack .../093-libasound2t64_1.2.12-1_arm64.deb ... 1554s Unpacking libasound2t64:arm64 (1.2.12-1) ... 1554s Selecting previously unselected package libgif7:arm64. 1554s Preparing to unpack .../094-libgif7_5.2.2-1ubuntu1_arm64.deb ... 1554s Unpacking libgif7:arm64 (5.2.2-1ubuntu1) ... 1554s Selecting previously unselected package x11-common. 1554s Preparing to unpack .../095-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1554s Unpacking x11-common (1:7.7+23ubuntu3) ... 1554s Selecting previously unselected package libxtst6:arm64. 1554s Preparing to unpack .../096-libxtst6_2%3a1.2.3-1.1build1_arm64.deb ... 1554s Unpacking libxtst6:arm64 (2:1.2.3-1.1build1) ... 1554s Selecting previously unselected package openjdk-21-jre:arm64. 1554s Preparing to unpack .../097-openjdk-21-jre_21.0.5+11-1_arm64.deb ... 1554s Unpacking openjdk-21-jre:arm64 (21.0.5+11-1) ... 1554s Selecting previously unselected package default-jre. 1554s Preparing to unpack .../098-default-jre_2%3a1.21-76_arm64.deb ... 1554s Unpacking default-jre (2:1.21-76) ... 1554s Selecting previously unselected package libhamcrest-java. 1554s Preparing to unpack .../099-libhamcrest-java_2.2-2_all.deb ... 1554s Unpacking libhamcrest-java (2.2-2) ... 1554s Selecting previously unselected package junit4. 1554s Preparing to unpack .../100-junit4_4.13.2-4_all.deb ... 1554s Unpacking junit4 (4.13.2-4) ... 1554s Selecting previously unselected package libcommons-cli-java. 1554s Preparing to unpack .../101-libcommons-cli-java_1.6.0-1_all.deb ... 1554s Unpacking libcommons-cli-java (1.6.0-1) ... 1554s Selecting previously unselected package libapache-pom-java. 1554s Preparing to unpack .../102-libapache-pom-java_33-2_all.deb ... 1554s Unpacking libapache-pom-java (33-2) ... 1554s Selecting previously unselected package libcommons-parent-java. 1554s Preparing to unpack .../103-libcommons-parent-java_56-1_all.deb ... 1554s Unpacking libcommons-parent-java (56-1) ... 1554s Selecting previously unselected package libcommons-io-java. 1554s Preparing to unpack .../104-libcommons-io-java_2.16.1-1_all.deb ... 1554s Unpacking libcommons-io-java (2.16.1-1) ... 1554s Selecting previously unselected package libdropwizard-metrics-java. 1554s Preparing to unpack .../105-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1554s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1555s Selecting previously unselected package libfindbugs-annotations-java. 1555s Preparing to unpack .../106-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1555s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1555s Selecting previously unselected package libatinject-jsr330-api-java. 1555s Preparing to unpack .../107-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 1555s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 1555s Selecting previously unselected package liberror-prone-java. 1555s Preparing to unpack .../108-liberror-prone-java_2.18.0-1_all.deb ... 1555s Unpacking liberror-prone-java (2.18.0-1) ... 1555s Selecting previously unselected package libjsr305-java. 1555s Preparing to unpack .../109-libjsr305-java_0.1~+svn49-11_all.deb ... 1555s Unpacking libjsr305-java (0.1~+svn49-11) ... 1555s Selecting previously unselected package libguava-java. 1555s Preparing to unpack .../110-libguava-java_32.0.1-1_all.deb ... 1555s Unpacking libguava-java (32.0.1-1) ... 1555s Selecting previously unselected package libjackson2-annotations-java. 1555s Preparing to unpack .../111-libjackson2-annotations-java_2.14.0-1_all.deb ... 1555s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1555s Selecting previously unselected package libjackson2-core-java. 1555s Preparing to unpack .../112-libjackson2-core-java_2.14.1-1_all.deb ... 1555s Unpacking libjackson2-core-java (2.14.1-1) ... 1555s Selecting previously unselected package libjackson2-databind-java. 1555s Preparing to unpack .../113-libjackson2-databind-java_2.14.0-1_all.deb ... 1555s Unpacking libjackson2-databind-java (2.14.0-1) ... 1555s Selecting previously unselected package libasm-java. 1555s Preparing to unpack .../114-libasm-java_9.7-2_all.deb ... 1555s Unpacking libasm-java (9.7-2) ... 1555s Selecting previously unselected package libel-api-java. 1555s Preparing to unpack .../115-libel-api-java_3.0.0-3_all.deb ... 1555s Unpacking libel-api-java (3.0.0-3) ... 1555s Selecting previously unselected package libjsp-api-java. 1555s Preparing to unpack .../116-libjsp-api-java_2.3.4-3_all.deb ... 1555s Unpacking libjsp-api-java (2.3.4-3) ... 1555s Selecting previously unselected package libservlet-api-java. 1555s Preparing to unpack .../117-libservlet-api-java_4.0.1-2_all.deb ... 1555s Unpacking libservlet-api-java (4.0.1-2) ... 1555s Selecting previously unselected package libwebsocket-api-java. 1555s Preparing to unpack .../118-libwebsocket-api-java_1.1-2_all.deb ... 1555s Unpacking libwebsocket-api-java (1.1-2) ... 1555s Selecting previously unselected package libjetty9-java. 1555s Preparing to unpack .../119-libjetty9-java_9.4.55-1_all.deb ... 1555s Unpacking libjetty9-java (9.4.55-1) ... 1555s Selecting previously unselected package libjnr-constants-java. 1556s Preparing to unpack .../120-libjnr-constants-java_0.10.4-2_all.deb ... 1556s Unpacking libjnr-constants-java (0.10.4-2) ... 1556s Selecting previously unselected package libjffi-jni:arm64. 1556s Preparing to unpack .../121-libjffi-jni_1.3.13+ds-1_arm64.deb ... 1556s Unpacking libjffi-jni:arm64 (1.3.13+ds-1) ... 1556s Selecting previously unselected package libjffi-java. 1556s Preparing to unpack .../122-libjffi-java_1.3.13+ds-1_all.deb ... 1556s Unpacking libjffi-java (1.3.13+ds-1) ... 1556s Selecting previously unselected package libjnr-x86asm-java. 1556s Preparing to unpack .../123-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 1556s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 1556s Selecting previously unselected package libjnr-ffi-java. 1556s Preparing to unpack .../124-libjnr-ffi-java_2.2.15-2_all.deb ... 1556s Unpacking libjnr-ffi-java (2.2.15-2) ... 1556s Selecting previously unselected package libjnr-enxio-java. 1556s Preparing to unpack .../125-libjnr-enxio-java_0.32.16-1_all.deb ... 1556s Unpacking libjnr-enxio-java (0.32.16-1) ... 1556s Selecting previously unselected package libjnr-posix-java. 1556s Preparing to unpack .../126-libjnr-posix-java_3.1.18-1_all.deb ... 1556s Unpacking libjnr-posix-java (3.1.18-1) ... 1556s Selecting previously unselected package libjnr-unixsocket-java. 1556s Preparing to unpack .../127-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1556s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1556s Selecting previously unselected package libactivation-java. 1556s Preparing to unpack .../128-libactivation-java_1.2.0-2_all.deb ... 1556s Unpacking libactivation-java (1.2.0-2) ... 1556s Selecting previously unselected package libmail-java. 1556s Preparing to unpack .../129-libmail-java_1.6.5-3_all.deb ... 1556s Unpacking libmail-java (1.6.5-3) ... 1556s Selecting previously unselected package libcommons-logging-java. 1556s Preparing to unpack .../130-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1556s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1556s Selecting previously unselected package libjaxb-api-java. 1556s Preparing to unpack .../131-libjaxb-api-java_2.3.1-1_all.deb ... 1556s Unpacking libjaxb-api-java (2.3.1-1) ... 1556s Selecting previously unselected package libspring-core-java. 1556s Preparing to unpack .../132-libspring-core-java_4.3.30-2_all.deb ... 1556s Unpacking libspring-core-java (4.3.30-2) ... 1556s Selecting previously unselected package libspring-beans-java. 1556s Preparing to unpack .../133-libspring-beans-java_4.3.30-2_all.deb ... 1556s Unpacking libspring-beans-java (4.3.30-2) ... 1556s Selecting previously unselected package libtaglibs-standard-spec-java. 1556s Preparing to unpack .../134-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1556s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1557s Selecting previously unselected package libtaglibs-standard-impl-java. 1557s Preparing to unpack .../135-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1557s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1557s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1557s Preparing to unpack .../136-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1557s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1557s Selecting previously unselected package libeclipse-jdt-core-java. 1557s Preparing to unpack .../137-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1557s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1557s Selecting previously unselected package libtomcat9-java. 1557s Preparing to unpack .../138-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1557s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1557s Selecting previously unselected package libjetty9-extra-java. 1557s Preparing to unpack .../139-libjetty9-extra-java_9.4.55-1_all.deb ... 1557s Unpacking libjetty9-extra-java (9.4.55-1) ... 1557s Selecting previously unselected package libjctools-java. 1557s Preparing to unpack .../140-libjctools-java_2.0.2-1_all.deb ... 1557s Unpacking libjctools-java (2.0.2-1) ... 1557s Selecting previously unselected package libnetty-java. 1557s Preparing to unpack .../141-libnetty-java_1%3a4.1.48-10_all.deb ... 1557s Unpacking libnetty-java (1:4.1.48-10) ... 1557s Selecting previously unselected package libslf4j-java. 1557s Preparing to unpack .../142-libslf4j-java_1.7.32-1_all.deb ... 1557s Unpacking libslf4j-java (1.7.32-1) ... 1557s Selecting previously unselected package libsnappy1v5:arm64. 1557s Preparing to unpack .../143-libsnappy1v5_1.2.1-1_arm64.deb ... 1557s Unpacking libsnappy1v5:arm64 (1.2.1-1) ... 1557s Selecting previously unselected package libsnappy-jni. 1557s Preparing to unpack .../144-libsnappy-jni_1.1.10.5-2_arm64.deb ... 1557s Unpacking libsnappy-jni (1.1.10.5-2) ... 1557s Selecting previously unselected package libsnappy-java. 1557s Preparing to unpack .../145-libsnappy-java_1.1.10.5-2_all.deb ... 1557s Unpacking libsnappy-java (1.1.10.5-2) ... 1557s Selecting previously unselected package libapr1t64:arm64. 1557s Preparing to unpack .../146-libapr1t64_1.7.2-3.2ubuntu1_arm64.deb ... 1557s Unpacking libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 1557s Selecting previously unselected package libnetty-tcnative-jni. 1557s Preparing to unpack .../147-libnetty-tcnative-jni_2.0.28-1build4_arm64.deb ... 1557s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1557s Selecting previously unselected package libnetty-tcnative-java. 1557s Preparing to unpack .../148-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1557s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1557s Selecting previously unselected package liblog4j1.2-java. 1557s Preparing to unpack .../149-liblog4j1.2-java_1.2.17-11_all.deb ... 1557s Unpacking liblog4j1.2-java (1.2.17-11) ... 1557s Selecting previously unselected package libzookeeper-java. 1557s Preparing to unpack .../150-libzookeeper-java_3.9.2-2_all.deb ... 1557s Unpacking libzookeeper-java (3.9.2-2) ... 1558s Selecting previously unselected package zookeeper. 1558s Preparing to unpack .../151-zookeeper_3.9.2-2_all.deb ... 1558s Unpacking zookeeper (3.9.2-2) ... 1558s Selecting previously unselected package zookeeperd. 1558s Preparing to unpack .../152-zookeeperd_3.9.2-2_all.deb ... 1558s Unpacking zookeeperd (3.9.2-2) ... 1558s Selecting previously unselected package fonts-font-awesome. 1558s Preparing to unpack .../153-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1558s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1558s Selecting previously unselected package libcares2:arm64. 1558s Preparing to unpack .../154-libcares2_1.33.0-1_arm64.deb ... 1558s Unpacking libcares2:arm64 (1.33.0-1) ... 1558s Selecting previously unselected package libev4t64:arm64. 1558s Preparing to unpack .../155-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 1558s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 1558s Selecting previously unselected package libio-pty-perl. 1558s Preparing to unpack .../156-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 1558s Unpacking libio-pty-perl (1:1.20-1build3) ... 1558s Selecting previously unselected package libipc-run-perl. 1558s Preparing to unpack .../157-libipc-run-perl_20231003.0-2_all.deb ... 1558s Unpacking libipc-run-perl (20231003.0-2) ... 1558s Selecting previously unselected package libjs-jquery. 1558s Preparing to unpack .../158-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1558s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1558s Selecting previously unselected package libjs-underscore. 1558s Preparing to unpack .../159-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1558s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1558s Selecting previously unselected package libjs-sphinxdoc. 1558s Preparing to unpack .../160-libjs-sphinxdoc_7.4.7-3_all.deb ... 1558s Unpacking libjs-sphinxdoc (7.4.7-3) ... 1558s Selecting previously unselected package libpq5:arm64. 1558s Preparing to unpack .../161-libpq5_17.0-1_arm64.deb ... 1558s Unpacking libpq5:arm64 (17.0-1) ... 1558s Selecting previously unselected package libtime-duration-perl. 1558s Preparing to unpack .../162-libtime-duration-perl_1.21-2_all.deb ... 1558s Unpacking libtime-duration-perl (1.21-2) ... 1558s Selecting previously unselected package libtimedate-perl. 1558s Preparing to unpack .../163-libtimedate-perl_2.3300-2_all.deb ... 1558s Unpacking libtimedate-perl (2.3300-2) ... 1558s Selecting previously unselected package libxslt1.1:arm64. 1558s Preparing to unpack .../164-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 1558s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 1558s Selecting previously unselected package moreutils. 1558s Preparing to unpack .../165-moreutils_0.69-1_arm64.deb ... 1558s Unpacking moreutils (0.69-1) ... 1558s Selecting previously unselected package python3-ydiff. 1558s Preparing to unpack .../166-python3-ydiff_1.3-1_all.deb ... 1558s Unpacking python3-ydiff (1.3-1) ... 1558s Selecting previously unselected package python3-cdiff. 1558s Preparing to unpack .../167-python3-cdiff_1.3-1_all.deb ... 1558s Unpacking python3-cdiff (1.3-1) ... 1559s Selecting previously unselected package python3-colorama. 1559s Preparing to unpack .../168-python3-colorama_0.4.6-4_all.deb ... 1559s Unpacking python3-colorama (0.4.6-4) ... 1559s Selecting previously unselected package python3-click. 1559s Preparing to unpack .../169-python3-click_8.1.7-2_all.deb ... 1559s Unpacking python3-click (8.1.7-2) ... 1559s Selecting previously unselected package python3-six. 1559s Preparing to unpack .../170-python3-six_1.16.0-7_all.deb ... 1559s Unpacking python3-six (1.16.0-7) ... 1559s Selecting previously unselected package python3-dateutil. 1559s Preparing to unpack .../171-python3-dateutil_2.9.0-2_all.deb ... 1559s Unpacking python3-dateutil (2.9.0-2) ... 1559s Selecting previously unselected package python3-wcwidth. 1559s Preparing to unpack .../172-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1559s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1559s Selecting previously unselected package python3-prettytable. 1559s Preparing to unpack .../173-python3-prettytable_3.10.1-1_all.deb ... 1559s Unpacking python3-prettytable (3.10.1-1) ... 1559s Selecting previously unselected package python3-psutil. 1559s Preparing to unpack .../174-python3-psutil_5.9.8-2build2_arm64.deb ... 1559s Unpacking python3-psutil (5.9.8-2build2) ... 1559s Selecting previously unselected package python3-psycopg2. 1559s Preparing to unpack .../175-python3-psycopg2_2.9.9-2_arm64.deb ... 1559s Unpacking python3-psycopg2 (2.9.9-2) ... 1559s Selecting previously unselected package python3-greenlet. 1559s Preparing to unpack .../176-python3-greenlet_3.0.3-0ubuntu6_arm64.deb ... 1559s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 1559s Selecting previously unselected package python3-dnspython. 1559s Preparing to unpack .../177-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1559s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1559s Selecting previously unselected package python3-eventlet. 1559s Preparing to unpack .../178-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 1559s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 1559s Selecting previously unselected package python3-zope.event. 1559s Preparing to unpack .../179-python3-zope.event_5.0-0.1_all.deb ... 1559s Unpacking python3-zope.event (5.0-0.1) ... 1559s Selecting previously unselected package python3-zope.interface. 1559s Preparing to unpack .../180-python3-zope.interface_6.4-1_arm64.deb ... 1559s Unpacking python3-zope.interface (6.4-1) ... 1559s Selecting previously unselected package python3-gevent. 1559s Preparing to unpack .../181-python3-gevent_24.2.1-1_arm64.deb ... 1559s Unpacking python3-gevent (24.2.1-1) ... 1559s Selecting previously unselected package python3-kerberos. 1559s Preparing to unpack .../182-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 1559s Unpacking python3-kerberos (1.1.14-3.1build9) ... 1560s Selecting previously unselected package python3-pure-sasl. 1560s Preparing to unpack .../183-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 1560s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 1560s Selecting previously unselected package python3-kazoo. 1560s Preparing to unpack .../184-python3-kazoo_2.9.0-2_all.deb ... 1560s Unpacking python3-kazoo (2.9.0-2) ... 1560s Selecting previously unselected package patroni. 1560s Preparing to unpack .../185-patroni_3.3.1-1_all.deb ... 1560s Unpacking patroni (3.3.1-1) ... 1560s Selecting previously unselected package sphinx-rtd-theme-common. 1560s Preparing to unpack .../186-sphinx-rtd-theme-common_2.0.0+dfsg-2_all.deb ... 1560s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 1560s Selecting previously unselected package patroni-doc. 1560s Preparing to unpack .../187-patroni-doc_3.3.1-1_all.deb ... 1560s Unpacking patroni-doc (3.3.1-1) ... 1560s Selecting previously unselected package postgresql-client-16. 1560s Preparing to unpack .../188-postgresql-client-16_16.4-3_arm64.deb ... 1560s Unpacking postgresql-client-16 (16.4-3) ... 1560s Selecting previously unselected package postgresql-16. 1560s Preparing to unpack .../189-postgresql-16_16.4-3_arm64.deb ... 1560s Unpacking postgresql-16 (16.4-3) ... 1561s Selecting previously unselected package postgresql. 1561s Preparing to unpack .../190-postgresql_16+262_all.deb ... 1561s Unpacking postgresql (16+262) ... 1561s Selecting previously unselected package python3-parse. 1561s Preparing to unpack .../191-python3-parse_1.20.2-1_all.deb ... 1561s Unpacking python3-parse (1.20.2-1) ... 1561s Selecting previously unselected package python3-parse-type. 1561s Preparing to unpack .../192-python3-parse-type_0.6.4-1_all.deb ... 1561s Unpacking python3-parse-type (0.6.4-1) ... 1561s Selecting previously unselected package python3-behave. 1561s Preparing to unpack .../193-python3-behave_1.2.6-5_all.deb ... 1561s Unpacking python3-behave (1.2.6-5) ... 1561s Selecting previously unselected package python3-coverage. 1561s Preparing to unpack .../194-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 1561s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1561s Selecting previously unselected package autopkgtest-satdep. 1561s Preparing to unpack .../195-4-autopkgtest-satdep.deb ... 1561s Unpacking autopkgtest-satdep (0) ... 1561s Setting up postgresql-client-common (262) ... 1561s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1561s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 1561s Setting up liblcms2-2:arm64 (2.14-2build1) ... 1561s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1561s Setting up libpixman-1-0:arm64 (0.42.2-1build1) ... 1561s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 1561s Setting up libjackson2-annotations-java (2.14.0-1) ... 1561s Setting up libsharpyuv0:arm64 (1.4.0-0.1) ... 1561s Setting up libwayland-server0:arm64 (1.23.0-1) ... 1561s Setting up libx11-xcb1:arm64 (2:1.8.7-1build1) ... 1561s Setting up libslf4j-java (1.7.32-1) ... 1561s Setting up fonts-lato (2.015-1) ... 1561s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1561s Setting up libxdamage1:arm64 (1:1.1.6-1build1) ... 1561s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 1561s Setting up liblerc4:arm64 (4.0.0+ds-4ubuntu2) ... 1561s Setting up libjsr305-java (0.1~+svn49-11) ... 1561s Setting up hicolor-icon-theme (0.18-1) ... 1561s Setting up libxi6:arm64 (2:1.8.2-1) ... 1561s Setting up java-common (0.76) ... 1561s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 1561s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 1561s Setting up libcommons-cli-java (1.6.0-1) ... 1561s Setting up libio-pty-perl (1:1.20-1build3) ... 1561s Setting up python3-colorama (0.4.6-4) ... 1561s Setting up libxcb-render0:arm64 (1.17.0-2) ... 1561s Setting up python3-zope.event (5.0-0.1) ... 1561s Setting up python3-zope.interface (6.4-1) ... 1562s Setting up libdrm-radeon1:arm64 (2.4.122-1) ... 1562s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 1562s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 1562s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1562s Setting up python3-ydiff (1.3-1) ... 1562s Setting up libasm-java (9.7-2) ... 1562s Setting up x11-common (1:7.7+23ubuntu3) ... 1562s Setting up libpq5:arm64 (17.0-1) ... 1562s Setting up libdeflate0:arm64 (1.21-1) ... 1562s Setting up python3-kerberos (1.1.14-3.1build9) ... 1562s Setting up liblog4j1.2-java (1.2.17-11) ... 1562s Setting up libel-api-java (3.0.0-3) ... 1562s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1563s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 1563s Setting up python3-click (8.1.7-2) ... 1563s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 1563s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 1563s Setting up libcolord2:arm64 (1.4.7-1build2) ... 1563s Setting up python3-psutil (5.9.8-2build2) ... 1563s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1563s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1563s Setting up libsnappy1v5:arm64 (1.2.1-1) ... 1563s Setting up libxcb-present0:arm64 (1.17.0-2) ... 1563s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1563s Setting up libdconf1:arm64 (0.40.0-4build2) ... 1563s Setting up libjctools-java (2.0.2-1) ... 1563s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1563s Setting up python3-six (1.16.0-7) ... 1563s Setting up libasound2-data (1.2.12-1) ... 1563s Setting up libasound2t64:arm64 (1.2.12-1) ... 1563s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1563s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1563s Setting up libepoxy0:arm64 (1.5.10-1build1) ... 1563s Setting up ssl-cert (1.1.2ubuntu2) ... 1564s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1564s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 1564s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 1564s Setting up libapache-pom-java (33-2) ... 1564s Setting up libavahi-common-data:arm64 (0.8-13ubuntu6) ... 1564s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 1564s Setting up libatspi2.0-0t64:arm64 (2.54.0-1) ... 1564s Setting up libwebsocket-api-java (1.1-2) ... 1564s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 1565s Setting up libxinerama1:arm64 (2:1.1.4-3build1) ... 1565s Setting up fonts-dejavu-mono (2.37-8) ... 1565s Setting up libcares2:arm64 (1.33.0-1) ... 1565s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 1565s Setting up python3-psycopg2 (2.9.9-2) ... 1565s Setting up fonts-dejavu-core (2.37-8) ... 1565s Setting up libipc-run-perl (20231003.0-2) ... 1565s Setting up libpcsclite1:arm64 (2.3.0-1) ... 1565s Setting up libjpeg-turbo8:arm64 (2.1.5-2ubuntu2) ... 1565s Setting up libactivation-java (1.2.0-2) ... 1565s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1565s Setting up libhamcrest-java (2.2-2) ... 1565s Setting up libglapi-mesa:arm64 (24.2.3-1ubuntu1) ... 1565s Setting up libjsp-api-java (2.3.4-3) ... 1565s Setting up libvulkan1:arm64 (1.3.290.0-1) ... 1565s Setting up libtime-duration-perl (1.21-2) ... 1565s Setting up libwebp7:arm64 (1.4.0-0.1) ... 1565s Setting up libtimedate-perl (2.3300-2) ... 1565s Setting up libxcb-dri2-0:arm64 (1.17.0-2) ... 1565s Setting up libgif7:arm64 (5.2.2-1ubuntu1) ... 1565s Setting up libxshmfence1:arm64 (1.3-1build5) ... 1565s Setting up libmail-java (1.6.5-3) ... 1565s Setting up at-spi2-common (2.54.0-1) ... 1565s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1565s Setting up libnetty-java (1:4.1.48-10) ... 1565s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 1565s Setting up python3-parse (1.20.2-1) ... 1565s Setting up libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 1565s Setting up libjson-perl (4.10000-1) ... 1565s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 1565s Setting up libservlet-api-java (4.0.1-2) ... 1565s Setting up libjackson2-core-java (2.14.1-1) ... 1565s Setting up libharfbuzz0b:arm64 (9.0.0-1) ... 1565s Setting up libthai-data (0.1.29-2build1) ... 1565s Setting up python3-dateutil (2.9.0-2) ... 1566s Setting up libjffi-jni:arm64 (1.3.13+ds-1) ... 1566s Setting up libwayland-egl1:arm64 (1.23.0-1) ... 1566s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1566s Setting up ca-certificates-java (20240118) ... 1566s No JRE found. Skipping Java certificates setup. 1566s Setting up python3-prettytable (3.10.1-1) ... 1566s Setting up libsnappy-jni (1.1.10.5-2) ... 1566s Setting up libxcomposite1:arm64 (1:0.4.5-1build3) ... 1566s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1566s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 1566s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1566s Setting up libdrm-amdgpu1:arm64 (2.4.122-1) ... 1566s Setting up libjnr-constants-java (0.10.4-2) ... 1566s Setting up libwayland-client0:arm64 (1.23.0-1) ... 1566s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 1566s Setting up libjaxb-api-java (2.3.1-1) ... 1566s Setting up libjffi-java (1.3.13+ds-1) ... 1566s Setting up mesa-libgallium:arm64 (24.2.3-1ubuntu1) ... 1566s Setting up libjetty9-java (9.4.55-1) ... 1566s Setting up moreutils (0.69-1) ... 1566s Setting up libatk1.0-0t64:arm64 (2.54.0-1) ... 1566s Setting up openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 1566s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 1566s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1566s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1566s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1566s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1566s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 1566s Setting up libgbm1:arm64 (24.2.3-1ubuntu1) ... 1566s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 1566s Setting up libxtst6:arm64 (2:1.2.3-1.1build1) ... 1566s Setting up libxcursor1:arm64 (1:1.2.2-1) ... 1566s Setting up postgresql-client-16 (16.4-3) ... 1567s 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 1567s Setting up python3-cdiff (1.3-1) ... 1567s Setting up libgl1-mesa-dri:arm64 (24.2.3-1ubuntu1) ... 1567s Setting up libcommons-parent-java (56-1) ... 1567s Setting up libavahi-common3:arm64 (0.8-13ubuntu6) ... 1567s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1567s Setting up dconf-service (0.40.0-4build2) ... 1567s Setting up python3-gevent (24.2.1-1) ... 1567s Setting up libjackson2-databind-java (2.14.0-1) ... 1567s Setting up libthai0:arm64 (0.1.29-2build1) ... 1567s Setting up python3-parse-type (0.6.4-1) ... 1567s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 1568s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1568s Setting up python3-kazoo (2.9.0-2) ... 1568s Setting up postgresql-common (262) ... 1568s 1568s Creating config file /etc/postgresql-common/createcluster.conf with new version 1569s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1569s Removing obsolete dictionary files: 1569s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1570s Setting up libjs-sphinxdoc (7.4.7-3) ... 1570s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 1570s Setting up libwayland-cursor0:arm64 (1.23.0-1) ... 1570s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1570s Setting up python3-behave (1.2.6-5) ... 1570s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1570s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1570s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1570s """Registers a custom type that will be available to "parse" 1570s Setting up libsnappy-java (1.1.10.5-2) ... 1570s Setting up libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 1570s Setting up patroni (3.3.1-1) ... 1570s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1571s Setting up libavahi-client3:arm64 (0.8-13ubuntu6) ... 1571s Setting up libjnr-ffi-java (2.2.15-2) ... 1571s Setting up libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 1571s Setting up gtk-update-icon-cache (4.16.2+ds-2) ... 1571s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 1573s Regenerating fonts cache... done. 1573s Setting up libglx-mesa0:arm64 (24.2.3-1ubuntu1) ... 1573s Setting up postgresql-16 (16.4-3) ... 1573s Creating new PostgreSQL cluster 16/main ... 1573s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1573s The files belonging to this database system will be owned by user "postgres". 1573s This user must also own the server process. 1573s 1573s The database cluster will be initialized with locale "C.UTF-8". 1573s The default database encoding has accordingly been set to "UTF8". 1573s The default text search configuration will be set to "english". 1573s 1573s Data page checksums are disabled. 1573s 1573s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1573s creating subdirectories ... ok 1573s selecting dynamic shared memory implementation ... posix 1573s selecting default max_connections ... 100 1573s selecting default shared_buffers ... 128MB 1573s selecting default time zone ... Etc/UTC 1573s creating configuration files ... ok 1573s running bootstrap script ... ok 1574s performing post-bootstrap initialization ... ok 1574s syncing data to disk ... ok 1578s Setting up libglx0:arm64 (1.7.0-1build1) ... 1578s Setting up libspring-core-java (4.3.30-2) ... 1578s Setting up dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1578s Setting up libcommons-io-java (2.16.1-1) ... 1578s Setting up patroni-doc (3.3.1-1) ... 1578s Setting up libpango-1.0-0:arm64 (1.54.0+ds-2) ... 1578s Setting up libcairo2:arm64 (1.18.2-2) ... 1578s Setting up libjnr-enxio-java (0.32.16-1) ... 1578s Setting up libgl1:arm64 (1.7.0-1build1) ... 1578s Setting up libcairo-gobject2:arm64 (1.18.2-2) ... 1578s Setting up postgresql (16+262) ... 1578s Setting up libpangoft2-1.0-0:arm64 (1.54.0+ds-2) ... 1578s Setting up libcups2t64:arm64 (2.4.10-1ubuntu2) ... 1578s Setting up libgtk-3-common (3.24.43-3ubuntu2) ... 1578s Setting up libjnr-posix-java (3.1.18-1) ... 1578s Setting up libpangocairo-1.0-0:arm64 (1.54.0+ds-2) ... 1578s Setting up libspring-beans-java (4.3.30-2) ... 1578s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1578s Setting up libjetty9-extra-java (9.4.55-1) ... 1578s Setting up libguava-java (32.0.1-1) ... 1578s Setting up adwaita-icon-theme (47.0-1) ... 1578s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1578s Setting up liberror-prone-java (2.18.0-1) ... 1578s Setting up humanity-icon-theme (0.6.16) ... 1578s Setting up ubuntu-mono (24.04-0ubuntu1) ... 1578s Processing triggers for man-db (2.12.1-3) ... 1580s Processing triggers for libglib2.0-0t64:arm64 (2.82.1-0ubuntu1) ... 1580s Setting up libgtk-3-0t64:arm64 (3.24.43-3ubuntu2) ... 1580s Processing triggers for libc-bin (2.40-1ubuntu3) ... 1580s Processing triggers for ca-certificates-java (20240118) ... 1580s Adding debian:ACCVRAIZ1.pem 1580s Adding debian:AC_RAIZ_FNMT-RCM.pem 1580s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1580s Adding debian:ANF_Secure_Server_Root_CA.pem 1580s Adding debian:Actalis_Authentication_Root_CA.pem 1580s Adding debian:AffirmTrust_Commercial.pem 1580s Adding debian:AffirmTrust_Networking.pem 1580s Adding debian:AffirmTrust_Premium.pem 1580s Adding debian:AffirmTrust_Premium_ECC.pem 1580s Adding debian:Amazon_Root_CA_1.pem 1580s Adding debian:Amazon_Root_CA_2.pem 1580s Adding debian:Amazon_Root_CA_3.pem 1580s Adding debian:Amazon_Root_CA_4.pem 1580s Adding debian:Atos_TrustedRoot_2011.pem 1580s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1580s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1580s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1580s Adding debian:BJCA_Global_Root_CA1.pem 1580s Adding debian:BJCA_Global_Root_CA2.pem 1580s Adding debian:Baltimore_CyberTrust_Root.pem 1580s Adding debian:Buypass_Class_2_Root_CA.pem 1580s Adding debian:Buypass_Class_3_Root_CA.pem 1580s Adding debian:CA_Disig_Root_R2.pem 1580s Adding debian:CFCA_EV_ROOT.pem 1580s Adding debian:COMODO_Certification_Authority.pem 1580s Adding debian:COMODO_ECC_Certification_Authority.pem 1580s Adding debian:COMODO_RSA_Certification_Authority.pem 1580s Adding debian:Certainly_Root_E1.pem 1580s Adding debian:Certainly_Root_R1.pem 1580s Adding debian:Certigna.pem 1580s Adding debian:Certigna_Root_CA.pem 1580s Adding debian:Certum_EC-384_CA.pem 1580s Adding debian:Certum_Trusted_Network_CA.pem 1580s Adding debian:Certum_Trusted_Network_CA_2.pem 1580s Adding debian:Certum_Trusted_Root_CA.pem 1580s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1580s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1580s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1580s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1581s Adding debian:Comodo_AAA_Services_root.pem 1581s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1581s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1581s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1581s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1581s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1581s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1581s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1581s Adding debian:DigiCert_Global_Root_CA.pem 1581s Adding debian:DigiCert_Global_Root_G2.pem 1581s Adding debian:DigiCert_Global_Root_G3.pem 1581s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1581s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1581s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1581s Adding debian:DigiCert_Trusted_Root_G4.pem 1581s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1581s Adding debian:Entrust_Root_Certification_Authority.pem 1581s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1581s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1581s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1581s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1581s Adding debian:GLOBALTRUST_2020.pem 1581s Adding debian:GTS_Root_R1.pem 1581s Adding debian:GTS_Root_R2.pem 1581s Adding debian:GTS_Root_R3.pem 1581s Adding debian:GTS_Root_R4.pem 1581s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1581s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1581s Adding debian:GlobalSign_Root_CA.pem 1581s Adding debian:GlobalSign_Root_CA_-_R3.pem 1581s Adding debian:GlobalSign_Root_CA_-_R6.pem 1581s Adding debian:GlobalSign_Root_E46.pem 1581s Adding debian:GlobalSign_Root_R46.pem 1581s Adding debian:Go_Daddy_Class_2_CA.pem 1581s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1581s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1581s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1581s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1581s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1581s Adding debian:HiPKI_Root_CA_-_G1.pem 1581s Adding debian:Hongkong_Post_Root_CA_3.pem 1581s Adding debian:ISRG_Root_X1.pem 1581s Adding debian:ISRG_Root_X2.pem 1581s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1581s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1581s Adding debian:Izenpe.com.pem 1581s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1581s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1581s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1581s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1581s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1581s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1581s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1581s Adding debian:QuoVadis_Root_CA_1_G3.pem 1581s Adding debian:QuoVadis_Root_CA_2.pem 1581s Adding debian:QuoVadis_Root_CA_2_G3.pem 1581s Adding debian:QuoVadis_Root_CA_3.pem 1581s Adding debian:QuoVadis_Root_CA_3_G3.pem 1581s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1581s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1581s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1581s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1581s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1581s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1581s Adding debian:SZAFIR_ROOT_CA2.pem 1581s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1581s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1581s Adding debian:SecureSign_RootCA11.pem 1581s Adding debian:SecureTrust_CA.pem 1581s Adding debian:Secure_Global_CA.pem 1581s Adding debian:Security_Communication_ECC_RootCA1.pem 1581s Adding debian:Security_Communication_RootCA2.pem 1581s Adding debian:Security_Communication_RootCA3.pem 1581s Adding debian:Security_Communication_Root_CA.pem 1581s Adding debian:Starfield_Class_2_CA.pem 1581s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1581s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1581s Adding debian:SwissSign_Gold_CA_-_G2.pem 1581s Adding debian:SwissSign_Silver_CA_-_G2.pem 1581s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1581s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1581s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1581s Adding debian:TWCA_Global_Root_CA.pem 1581s Adding debian:TWCA_Root_Certification_Authority.pem 1581s Adding debian:TeliaSonera_Root_CA_v1.pem 1581s Adding debian:Telia_Root_CA_v2.pem 1581s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1581s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1581s Adding debian:Trustwave_Global_Certification_Authority.pem 1581s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1581s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1581s Adding debian:TunTrust_Root_CA.pem 1581s Adding debian:UCA_Extended_Validation_Root.pem 1581s Adding debian:UCA_Global_G2_Root.pem 1581s Adding debian:USERTrust_ECC_Certification_Authority.pem 1581s Adding debian:USERTrust_RSA_Certification_Authority.pem 1581s Adding debian:XRamp_Global_CA_Root.pem 1581s Adding debian:certSIGN_ROOT_CA.pem 1581s Adding debian:certSIGN_Root_CA_G2.pem 1581s Adding debian:e-Szigno_Root_CA_2017.pem 1581s Adding debian:ePKI_Root_Certification_Authority.pem 1581s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1581s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1581s Adding debian:emSign_Root_CA_-_C1.pem 1581s Adding debian:emSign_Root_CA_-_G1.pem 1581s Adding debian:vTrus_ECC_Root_CA.pem 1581s Adding debian:vTrus_Root_CA.pem 1581s done. 1581s Setting up openjdk-21-jre:arm64 (21.0.5+11-1) ... 1581s Setting up junit4 (4.13.2-4) ... 1581s Setting up default-jre-headless (2:1.21-76) ... 1581s Setting up default-jre (2:1.21-76) ... 1581s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1581s Setting up libzookeeper-java (3.9.2-2) ... 1581s Setting up zookeeper (3.9.2-2) ... 1581s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1581s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1581s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1581s Setting up zookeeperd (3.9.2-2) ... 1581s Setting up autopkgtest-satdep (0) ... 1592s (Reading database ... 99895 files and directories currently installed.) 1592s Removing autopkgtest-satdep (0) ... 1594s autopkgtest [13:28:52]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1594s autopkgtest [13:28:52]: test acceptance-zookeeper: [----------------------- 1600s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1600s ++ ls -1r /usr/lib/postgresql/ 1600s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1600s + '[' 16 == 10 -o 16 == 11 ']' 1600s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1600s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=zookeeper PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave -e dcs_failsafe_mode | ts' 1600s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1601s Nov 06 13:28:59 Feature: basic replication # features/basic_replication.feature:1 1601s Nov 06 13:28:59 We should check that the basic bootstrapping, replication and failover works. 1601s Nov 06 13:28:59 Scenario: check replication of a single table # features/basic_replication.feature:4 1601s Nov 06 13:28:59 Given I start postgres0 # features/steps/basic_replication.py:8 1604s Nov 06 13:29:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1604s Nov 06 13:29:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1604s Nov 06 13:29: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 1604s Nov 06 13:29:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1604s Nov 06 13:29:02 When I start postgres1 # features/steps/basic_replication.py:8 1607s Nov 06 13:29:05 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1610s Nov 06 13:29:08 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1610s Nov 06 13:29:08 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1610s Nov 06 13:29:08 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1611s Nov 06 13:29:09 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1611s Nov 06 13:29:09 1611s Nov 06 13:29:09 Scenario: check restart of sync replica # features/basic_replication.feature:17 1611s Nov 06 13:29:09 Given I shut down postgres2 # features/steps/basic_replication.py:29 1612s Nov 06 13:29:10 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1612s Nov 06 13:29:10 When I start postgres2 # features/steps/basic_replication.py:8 1615s Nov 06 13:29:13 And I shut down postgres1 # features/steps/basic_replication.py:29 1618s Nov 06 13:29:16 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1619s Nov 06 13:29:17 When I start postgres1 # features/steps/basic_replication.py:8 1622s Nov 06 13:29:20 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1622s Nov 06 13:29:20 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1622s Nov 06 13:29:20 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1622s Nov 06 13:29:20 1622s Nov 06 13:29:20 Scenario: check stuck sync replica # features/basic_replication.feature:28 1622s Nov 06 13:29:20 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 1622s Nov 06 13:29:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 1622s Nov 06 13:29:20 And I create table on postgres0 # features/steps/basic_replication.py:73 1622s Nov 06 13:29:20 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1623s Nov 06 13:29:21 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1623s Nov 06 13:29:21 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1623s Nov 06 13:29:21 And I load data on postgres0 # features/steps/basic_replication.py:84 1624s Nov 06 13:29:22 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1627s Nov 06 13:29:25 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1627s Nov 06 13:29:25 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1628s Nov 06 13:29:26 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1628s Nov 06 13:29:26 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 1628s Nov 06 13:29:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 1628s Nov 06 13:29:26 And I drop table on postgres0 # features/steps/basic_replication.py:73 1628s Nov 06 13:29:26 1628s Nov 06 13:29:26 Scenario: check multi sync replication # features/basic_replication.feature:44 1628s Nov 06 13:29:26 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 1628s Nov 06 13:29:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 1628s Nov 06 13:29:26 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1632s Nov 06 13:29:30 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1632s Nov 06 13:29:30 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1632s Nov 06 13:29:30 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 1632s Nov 06 13:29:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1632s Nov 06 13:29:30 And I shut down postgres1 # features/steps/basic_replication.py:29 1635s Nov 06 13:29:33 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1636s Nov 06 13:29:34 When I start postgres1 # features/steps/basic_replication.py:8 1640s Nov 06 13:29:38 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1640s Nov 06 13:29:38 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1640s Nov 06 13:29:38 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1640s Nov 06 13:29:38 1640s Nov 06 13:29:38 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1640s Nov 06 13:29:38 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1641s Nov 06 13:29:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1641s Nov 06 13:29:39 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1643s Nov 06 13:29:41 And I shut down postgres0 # features/steps/basic_replication.py:29 1644s Nov 06 13:29:42 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1646s Nov 06 13:29:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1646s Nov 06 13:29:44 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1665s Nov 06 13:30:03 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1667s Nov 06 13:30:05 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1667s Nov 06 13:30:05 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 1667s Nov 06 13:30:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1667s Nov 06 13:30:05 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1667s Nov 06 13:30:05 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1667s Nov 06 13:30:05 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1669s Nov 06 13:30:07 1669s Nov 06 13:30:07 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1669s Nov 06 13:30:07 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1669s Nov 06 13:30:07 And I start postgres0 # features/steps/basic_replication.py:8 1669s Nov 06 13:30:07 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1673s Nov 06 13:30:11 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1673s Nov 06 13:30:11 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1678s Nov 06 13:30:15 1678s Nov 06 13:30:15 @reject-duplicate-name 1678s Nov 06 13:30:15 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1678s Nov 06 13:30:15 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1680s Nov 06 13:30:18 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 1684s Nov 06 13:30:22 1684s Nov 06 13:30:22 Feature: cascading replication # features/cascading_replication.feature:1 1684s Nov 06 13:30:22 We should check that patroni can do base backup and streaming from the replica 1684s Nov 06 13:30:22 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1684s Nov 06 13:30:22 Given I start postgres0 # features/steps/basic_replication.py:8 1687s Nov 06 13:30:25 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1687s Nov 06 13:30:25 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1690s Nov 06 13:30:28 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1691s Nov 06 13:30:29 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1691s Nov 06 13:30:29 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1691s Nov 06 13:30:29 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1691s Nov 06 13:30:29 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1694s Nov 06 13:30:32 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1695s Nov 06 13:30:33 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1700s Nov 06 13:30:38 1700s Nov 06 13:30:38 Feature: citus # features/citus.feature:1 1700s Nov 06 13:30:38 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1700s Nov 06 13:30:38 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1700s Nov 06 13:30:38 Given I start postgres0 in citus group 0 # None 1700s Nov 06 13:30:38 And I start postgres2 in citus group 1 # None 1700s Nov 06 13:30:38 Then postgres0 is a leader in a group 0 after 10 seconds # None 1700s Nov 06 13:30:38 And postgres2 is a leader in a group 1 after 10 seconds # None 1700s Nov 06 13:30:38 When I start postgres1 in citus group 0 # None 1700s Nov 06 13:30:38 And I start postgres3 in citus group 1 # None 1700s Nov 06 13:30:38 Then replication works from postgres0 to postgres1 after 15 seconds # None 1700s Nov 06 13:30:38 Then replication works from postgres2 to postgres3 after 15 seconds # None 1700s Nov 06 13:30:38 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1700s Nov 06 13:30:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1700s SKIP FEATURE citus: Citus extenstion isn't available 1700s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1700s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1700s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1700s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1700s 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 1700s Nov 06 13:30:38 1700s Nov 06 13:30:38 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1700s Nov 06 13:30:38 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1700s Nov 06 13:30:38 Then postgres1 role is the primary after 10 seconds # None 1700s Nov 06 13:30:38 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1700s Nov 06 13:30:38 And replication works from postgres1 to postgres0 after 15 seconds # None 1700s Nov 06 13:30:38 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1700s Nov 06 13:30:38 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1700s Nov 06 13:30:38 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1700s Nov 06 13:30:38 Then postgres0 role is the primary after 10 seconds # None 1700s Nov 06 13:30:38 And replication works from postgres0 to postgres1 after 15 seconds # None 1700s Nov 06 13:30:38 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1700s Nov 06 13:30:38 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1700s Nov 06 13:30:38 1700s Nov 06 13:30:38 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1700s Nov 06 13:30:38 Given I create a distributed table on postgres0 # None 1700s Nov 06 13:30:38 And I start a thread inserting data on postgres0 # None 1700s Nov 06 13:30:38 When I run patronictl.py switchover batman --group 1 --force # None 1700s Nov 06 13:30:38 Then I receive a response returncode 0 # None 1700s Nov 06 13:30:38 And postgres3 role is the primary after 10 seconds # None 1700s Nov 06 13:30:38 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1700s Nov 06 13:30:38 And replication works from postgres3 to postgres2 after 15 seconds # None 1700s Nov 06 13:30:38 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1700s Nov 06 13:30:38 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1700s Nov 06 13:30:38 And a thread is still alive # None 1700s Nov 06 13:30:38 When I run patronictl.py switchover batman --group 1 --force # None 1700s Nov 06 13:30:38 Then I receive a response returncode 0 # None 1700s Nov 06 13:30:38 And postgres2 role is the primary after 10 seconds # None 1700s Nov 06 13:30:38 And replication works from postgres2 to postgres3 after 15 seconds # None 1700s Nov 06 13:30:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1700s Nov 06 13:30:38 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1700s Nov 06 13:30:38 And a thread is still alive # None 1700s Nov 06 13:30:38 When I stop a thread # None 1700s Nov 06 13:30:38 Then a distributed table on postgres0 has expected rows # None 1700s Nov 06 13:30:38 1700s Nov 06 13:30:38 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1700s Nov 06 13:30:38 Given I cleanup a distributed table on postgres0 # None 1700s Nov 06 13:30:38 And I start a thread inserting data on postgres0 # None 1700s Nov 06 13:30:38 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1700s Nov 06 13:30:38 Then I receive a response returncode 0 # None 1700s Nov 06 13:30:38 And postgres2 role is the primary after 10 seconds # None 1700s Nov 06 13:30:38 And replication works from postgres2 to postgres3 after 15 seconds # None 1700s Nov 06 13:30:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1700s Nov 06 13:30:38 And a thread is still alive # None 1700s Nov 06 13:30:38 When I stop a thread # None 1700s Nov 06 13:30:38 Then a distributed table on postgres0 has expected rows # None 1700s Nov 06 13:30:38 1700s Nov 06 13:30:38 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1700s Nov 06 13:30:38 Given I start postgres4 in citus group 2 # None 1700s Nov 06 13:30:38 Then postgres4 is a leader in a group 2 after 10 seconds # None 1700s Nov 06 13:30:38 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1700s Nov 06 13:30:38 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1700s Nov 06 13:30:38 Then I receive a response returncode 0 # None 1700s Nov 06 13:30:38 And I receive a response output "+ttl: 20" # None 1700s Nov 06 13:30:38 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1700s Nov 06 13:30:38 When I shut down postgres4 # None 1700s Nov 06 13:30:38 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1700s Nov 06 13:30:38 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1700s Nov 06 13:30:38 Then a transaction finishes in 20 seconds # None 1700s Nov 06 13:30:38 1700s Nov 06 13:30:38 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1700s Nov 06 13:30:38 We should check that patroni can bootstrap a new cluster from a backup 1700s Nov 06 13:30:38 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1700s Nov 06 13:30:38 Given I start postgres0 # features/steps/basic_replication.py:8 1703s Nov 06 13:30:41 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1703s Nov 06 13:30:41 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1703s Nov 06 13:30:41 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1707s Nov 06 13:30:45 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1708s Nov 06 13:30:46 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1708s Nov 06 13:30:46 1708s Nov 06 13:30:46 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1708s Nov 06 13:30:46 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1708s Nov 06 13:30:46 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1709s Nov 06 13:30:47 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1714s Nov 06 13:30:52 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1714s Nov 06 13:30:52 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1720s Nov 06 13:30:58 1720s Nov 06 13:30:58 Feature: ignored slots # features/ignored_slots.feature:1 1720s Nov 06 13:30:58 1720s Nov 06 13:30:58 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1720s Nov 06 13:30:58 Given I start postgres1 # features/steps/basic_replication.py:8 1723s Nov 06 13:31:01 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1723s Nov 06 13:31:01 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1723s Nov 06 13:31: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 1723s Nov 06 13:31:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 1723s Nov 06 13:31:01 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1723s Nov 06 13:31:01 When I shut down postgres1 # features/steps/basic_replication.py:29 1725s Nov 06 13:31:03 And I start postgres1 # features/steps/basic_replication.py:8 1728s Nov 06 13:31:06 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1728s Nov 06 13:31:06 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1729s Nov 06 13:31:07 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1729s Nov 06 13:31:07 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1729s Nov 06 13:31:07 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1729s Nov 06 13:31:07 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1729s Nov 06 13:31:07 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1729s Nov 06 13:31:07 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1729s Nov 06 13:31: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 1729s Nov 06 13:31: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 1729s Nov 06 13:31: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 1729s Nov 06 13:31: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 1729s Nov 06 13:31:07 When I start postgres0 # features/steps/basic_replication.py:8 1732s Nov 06 13:31:10 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1733s Nov 06 13:31:11 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1733s Nov 06 13:31:11 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1734s Nov 06 13:31:12 When I shut down postgres1 # features/steps/basic_replication.py:29 1736s Nov 06 13:31:14 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1737s Nov 06 13:31:15 When I start postgres1 # features/steps/basic_replication.py:8 1740s Nov 06 13:31:18 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1740s Nov 06 13:31:18 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1740s Nov 06 13:31:18 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1742s Nov 06 13:31:20 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1742s Nov 06 13:31:20 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1742s Nov 06 13:31:20 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1742s Nov 06 13:31:20 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1742s Nov 06 13:31:20 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1742s Nov 06 13:31:20 When I shut down postgres0 # features/steps/basic_replication.py:29 1744s Nov 06 13:31:22 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1745s Nov 06 13:31:23 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1745s Nov 06 13:31:23 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1745s Nov 06 13:31:23 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1745s Nov 06 13:31:23 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1748s Nov 06 13:31:26 1748s Nov 06 13:31:26 Feature: nostream node # features/nostream_node.feature:1 1748s Nov 06 13:31:26 1748s Nov 06 13:31:26 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1748s Nov 06 13:31:26 When I start postgres0 # features/steps/basic_replication.py:8 1751s Nov 06 13:31:29 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1754s Nov 06 13:31:32 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1755s Nov 06 13:31:33 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1760s Nov 06 13:31:38 1760s Nov 06 13:31:38 @slot-advance 1760s Nov 06 13:31:38 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1760s Nov 06 13:31:38 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1760s Nov 06 13:31:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1760s Nov 06 13:31:38 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1762s Nov 06 13:31:40 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1763s Nov 06 13:31:41 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1767s Nov 06 13:31:45 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1767s Nov 06 13:31:45 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1767s Nov 06 13:31:45 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1773s Nov 06 13:31:51 1773s Nov 06 13:31:51 Feature: patroni api # features/patroni_api.feature:1 1773s Nov 06 13:31:51 We should check that patroni correctly responds to valid and not-valid API requests. 1773s Nov 06 13:31:51 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1773s Nov 06 13:31:51 Given I start postgres0 # features/steps/basic_replication.py:8 1776s Nov 06 13:31:54 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1776s Nov 06 13:31:54 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1776s Nov 06 13:31:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1776s Nov 06 13:31:54 And I receive a response state running # features/steps/patroni_api.py:98 1776s Nov 06 13:31:54 And I receive a response role master # features/steps/patroni_api.py:98 1776s Nov 06 13:31:54 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1777s Nov 06 13:31:54 Then I receive a response code 503 # features/steps/patroni_api.py:98 1777s Nov 06 13:31:54 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1777s Nov 06 13:31:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1777s Nov 06 13:31:55 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1777s Nov 06 13:31:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 1777s Nov 06 13:31:55 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1777s Nov 06 13:31:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 1777s Nov 06 13:31:55 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1777s Nov 06 13:31:55 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1778s Nov 06 13:31:56 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1778s Nov 06 13:31:56 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1778s Nov 06 13:31:56 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1778s Nov 06 13:31:56 Then I receive a response code 412 # features/steps/patroni_api.py:98 1778s Nov 06 13:31:56 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1778s Nov 06 13:31:56 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1778s Nov 06 13:31:56 Then I receive a response code 400 # features/steps/patroni_api.py:98 1778s Nov 06 13:31:56 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1778s Nov 06 13:31:56 Then I receive a response code 400 # features/steps/patroni_api.py:98 1778s Nov 06 13:31:56 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1778s Nov 06 13:31:56 1778s Nov 06 13:31:56 Scenario: check local configuration reload # features/patroni_api.feature:32 1778s Nov 06 13:31:56 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1778s Nov 06 13:31:56 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1778s Nov 06 13:31:56 Then I receive a response code 202 # features/steps/patroni_api.py:98 1778s Nov 06 13:31:56 1778s Nov 06 13:31:56 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1778s Nov 06 13:31:56 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 1778s Nov 06 13:31:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1778s Nov 06 13:31:56 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1781s Nov 06 13:31:59 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1781s Nov 06 13:31:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1781s Nov 06 13:31:59 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1781s Nov 06 13:31:59 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1781s Nov 06 13:31:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1781s Nov 06 13:31:59 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1781s Nov 06 13:31:59 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1785s Nov 06 13:32:03 1785s Nov 06 13:32:03 Scenario: check the scheduled restart # features/patroni_api.feature:49 1785s Nov 06 13:32:03 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1786s Nov 06 13:32:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1786s Nov 06 13:32:04 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1786s Nov 06 13:32:04 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1786s Nov 06 13:32:04 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 1786s Nov 06 13:32:04 Then I receive a response code 202 # features/steps/patroni_api.py:98 1786s Nov 06 13:32:04 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1794s Nov 06 13:32:12 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1794s Nov 06 13:32:12 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 1795s Nov 06 13:32:12 Then I receive a response code 202 # features/steps/patroni_api.py:98 1795s Nov 06 13:32:12 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 1801s Nov 06 13:32:19 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1802s Nov 06 13:32:20 1802s Nov 06 13:32:20 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1802s Nov 06 13:32:20 Given I start postgres1 # features/steps/basic_replication.py:8 1806s Nov 06 13:32:24 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1807s Nov 06 13:32:25 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1809s Nov 06 13:32:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1809s Nov 06 13:32:27 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1809s Nov 06 13:32:27 waiting for server to shut down.... done 1809s Nov 06 13:32:27 server stopped 1809s Nov 06 13:32:27 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1809s Nov 06 13:32:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 1809s Nov 06 13:32:27 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1810s Nov 06 13:32:28 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1814s Nov 06 13:32:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1814s Nov 06 13:32:32 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1815s Nov 06 13:32:33 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1817s Nov 06 13:32:35 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1817s Nov 06 13:32:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1817s Nov 06 13:32:35 And I receive a response state running # features/steps/patroni_api.py:98 1817s Nov 06 13:32:35 And I receive a response role replica # features/steps/patroni_api.py:98 1817s Nov 06 13:32:35 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1822s Nov 06 13:32:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1822s Nov 06 13:32:40 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1822s Nov 06 13:32:40 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1823s Nov 06 13:32:41 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1823s Nov 06 13:32:41 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1826s Nov 06 13:32:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1826s Nov 06 13:32:44 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1826s Nov 06 13:32:44 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1827s Nov 06 13:32:45 1827s Nov 06 13:32:45 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1827s Nov 06 13:32:45 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 1829s Nov 06 13:32:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1829s Nov 06 13:32:47 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1829s Nov 06 13:32:47 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1830s Nov 06 13:32:48 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1835s Nov 06 13:32:53 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1835s Nov 06 13:32:53 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1835s Nov 06 13:32:53 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1835s Nov 06 13:32:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 1835s Nov 06 13:32:53 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1835s Nov 06 13:32:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1835s Nov 06 13:32:53 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1836s Nov 06 13:32:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1836s Nov 06 13:32:54 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1836s Nov 06 13:32:54 Then I receive a response code 503 # features/steps/patroni_api.py:98 1836s Nov 06 13:32:54 1836s Nov 06 13:32:54 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1836s Nov 06 13:32:54 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1837s Nov 06 13:32:55 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1837s Nov 06 13:32:55 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1837s Nov 06 13:32:55 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1839s Nov 06 13:32:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1839s Nov 06 13:32:57 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1840s Nov 06 13:32:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1840s Nov 06 13:32:58 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1850s Nov 06 13:33:08 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1851s Nov 06 13:33:09 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1853s Nov 06 13:33:11 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1853s Nov 06 13:33:11 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1854s Nov 06 13:33:12 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1854s Nov 06 13:33:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1854s Nov 06 13:33:12 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1854s Nov 06 13:33:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 1854s Nov 06 13:33:12 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1854s Nov 06 13:33:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 1854s Nov 06 13:33:12 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1854s Nov 06 13:33:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1859s Nov 06 13:33:17 1859s Nov 06 13:33:17 Feature: permanent slots # features/permanent_slots.feature:1 1859s Nov 06 13:33:17 1859s Nov 06 13:33:17 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1859s Nov 06 13:33:17 Given I start postgres0 # features/steps/basic_replication.py:8 1862s Nov 06 13:33:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1862s Nov 06 13:33:20 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1862s Nov 06 13:33:20 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 1862s Nov 06 13:33:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 1862s Nov 06 13:33:20 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1862s Nov 06 13:33:20 When I start postgres1 # features/steps/basic_replication.py:8 1865s Nov 06 13:33:23 And I start postgres2 # features/steps/basic_replication.py:8 1868s Nov 06 13:33:26 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1871s Nov 06 13:33:29 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1871s Nov 06 13:33:29 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1871s Nov 06 13:33:29 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1871s Nov 06 13:33:29 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1871s Nov 06 13:33:29 1871s Nov 06 13:33:29 @slot-advance 1871s Nov 06 13:33:29 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1871s Nov 06 13:33:29 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1874s Nov 06 13:33:32 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 1874s Nov 06 13:33:32 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1875s Nov 06 13:33:33 1875s Nov 06 13:33:33 @slot-advance 1875s Nov 06 13:33:33 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1875s Nov 06 13:33:33 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1882s Nov 06 13:33:40 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1882s Nov 06 13:33:40 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1883s Nov 06 13:33:41 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1884s Nov 06 13:33:42 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1884s Nov 06 13:33:42 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1884s Nov 06 13:33:42 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1884s Nov 06 13:33:42 1884s Nov 06 13:33:42 @slot-advance 1884s Nov 06 13:33:42 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1884s Nov 06 13:33:42 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1884s Nov 06 13:33:42 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1884s Nov 06 13:33:42 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1884s Nov 06 13:33:42 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1884s Nov 06 13:33:42 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1884s Nov 06 13:33:42 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1884s Nov 06 13:33:42 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1884s Nov 06 13:33:42 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1884s Nov 06 13:33:42 1884s Nov 06 13:33:42 @slot-advance 1884s Nov 06 13:33:42 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1884s Nov 06 13:33:42 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1884s Nov 06 13:33:42 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1884s Nov 06 13:33:42 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1884s Nov 06 13:33:42 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1888s Nov 06 13:33:46 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1888s Nov 06 13:33:46 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1888s Nov 06 13:33:46 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1888s Nov 06 13:33:46 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1888s Nov 06 13:33:46 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1888s Nov 06 13:33:46 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1888s Nov 06 13:33:46 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1888s Nov 06 13:33:46 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1888s Nov 06 13:33:46 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1888s Nov 06 13:33:46 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1888s Nov 06 13:33:46 1888s Nov 06 13:33:46 @slot-advance 1888s Nov 06 13:33:46 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1888s Nov 06 13:33:46 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1888s Nov 06 13:33:46 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1888s Nov 06 13:33:46 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1888s Nov 06 13:33:46 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1888s Nov 06 13:33:46 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1888s Nov 06 13:33:46 1888s Nov 06 13:33:46 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1888s Nov 06 13:33:46 Given I shut down postgres3 # features/steps/basic_replication.py:29 1889s Nov 06 13:33:47 And I shut down postgres2 # features/steps/basic_replication.py:29 1890s Nov 06 13:33:48 And I shut down postgres0 # features/steps/basic_replication.py:29 1892s Nov 06 13:33:50 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1892s Nov 06 13:33:50 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1892s Nov 06 13:33:50 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1894s Nov 06 13:33:52 1894s Nov 06 13:33:52 Feature: priority replication # features/priority_failover.feature:1 1894s Nov 06 13:33:52 We should check that we can give nodes priority during failover 1894s Nov 06 13:33:52 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1894s Nov 06 13:33:52 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1897s Nov 06 13:33:55 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1900s Nov 06 13:33:58 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1901s Nov 06 13:33:59 When I shut down postgres0 # features/steps/basic_replication.py:29 1903s Nov 06 13:34:01 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 1905s Nov 06 13:34:03 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1905s Nov 06 13:34:03 When I start postgres0 # features/steps/basic_replication.py:8 1908s Nov 06 13:34:06 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1909s Nov 06 13:34:07 1909s Nov 06 13:34:07 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1909s Nov 06 13:34:07 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1912s Nov 06 13:34:10 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1916s Nov 06 13:34:14 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1917s Nov 06 13:34:15 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1919s Nov 06 13:34:16 When I shut down postgres0 # features/steps/basic_replication.py:29 1921s Nov 06 13:34:18 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1922s Nov 06 13:34:19 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1922s Nov 06 13:34:19 1922s Nov 06 13:34:19 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1922s Nov 06 13:34:19 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1922s Nov 06 13:34:20 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1922s Nov 06 13:34:20 Then I receive a response code 202 # features/steps/patroni_api.py:98 1922s Nov 06 13:34:20 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 1923s Nov 06 13:34:21 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1924s Nov 06 13:34:22 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1924s Nov 06 13:34:22 Then I receive a response code 412 # features/steps/patroni_api.py:98 1924s Nov 06 13:34:22 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1924s Nov 06 13:34:22 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1924s Nov 06 13:34:22 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1924s Nov 06 13:34:22 Then I receive a response code 202 # features/steps/patroni_api.py:98 1924s Nov 06 13:34:22 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1925s Nov 06 13:34:23 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1926s Nov 06 13:34:24 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1929s Nov 06 13:34:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1929s Nov 06 13:34:27 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1933s Nov 06 13:34:31 1933s Nov 06 13:34:31 Feature: recovery # features/recovery.feature:1 1933s Nov 06 13:34:31 We want to check that crashed postgres is started back 1933s Nov 06 13:34:31 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1933s Nov 06 13:34:31 Given I start postgres0 # features/steps/basic_replication.py:8 1936s Nov 06 13:34:34 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1936s Nov 06 13:34:34 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1936s Nov 06 13:34:34 When I start postgres1 # features/steps/basic_replication.py:8 1939s Nov 06 13:34:37 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1939s Nov 06 13:34:37 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1940s Nov 06 13:34:38 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1940s Nov 06 13:34:38 waiting for server to shut down.... done 1940s Nov 06 13:34:38 server stopped 1940s Nov 06 13:34:38 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1942s Nov 06 13:34:40 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1942s Nov 06 13:34:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1942s Nov 06 13:34:40 And I receive a response role master # features/steps/patroni_api.py:98 1942s Nov 06 13:34:40 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1942s Nov 06 13:34:40 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1943s Nov 06 13:34:41 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1947s Nov 06 13:34:44 1947s Nov 06 13:34:44 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1947s Nov 06 13:34:44 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 1947s Nov 06 13:34:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1947s Nov 06 13:34:45 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1947s Nov 06 13:34:45 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1947s Nov 06 13:34:45 waiting for server to shut down.... done 1947s Nov 06 13:34:45 server stopped 1947s Nov 06 13:34:45 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1949s Nov 06 13:34:47 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1953s Nov 06 13:34:51 1953s Nov 06 13:34:51 Feature: standby cluster # features/standby_cluster.feature:1 1953s Nov 06 13:34:51 1953s Nov 06 13:34:51 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1953s Nov 06 13:34:51 Given I start postgres1 # features/steps/basic_replication.py:8 1956s Nov 06 13:34:54 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1956s Nov 06 13:34:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1956s Nov 06 13:34:54 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 1956s Nov 06 13:34:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1956s Nov 06 13:34:54 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1956s Nov 06 13:34:54 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1959s Nov 06 13:34:57 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 1959s Nov 06 13:34:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1959s Nov 06 13:34:57 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1960s Nov 06 13:34:58 When I start postgres0 # features/steps/basic_replication.py:8 1963s Nov 06 13:35:01 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1964s Nov 06 13:35:02 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1965s Nov 06 13:35:03 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1965s Nov 06 13:35:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1965s Nov 06 13:35:03 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1965s Nov 06 13:35:03 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1966s Nov 06 13:35:04 1966s Nov 06 13:35:04 @slot-advance 1966s Nov 06 13:35:04 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1966s Nov 06 13:35:04 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1968s Nov 06 13:35:06 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1974s Nov 06 13:35:12 1974s Nov 06 13:35:12 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1974s Nov 06 13:35:12 When I shut down postgres1 # features/steps/basic_replication.py:29 1976s Nov 06 13:35:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1976s Nov 06 13:35:14 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1977s Nov 06 13:35:15 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1977s Nov 06 13:35:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 1977s Nov 06 13:35:15 1977s Nov 06 13:35:15 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1977s Nov 06 13:35:15 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1980s Nov 06 13:35:18 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1980s Nov 06 13:35:18 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1980s Nov 06 13:35:18 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1980s Nov 06 13:35:18 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1980s Nov 06 13:35:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 1980s Nov 06 13:35:18 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1980s Nov 06 13:35:18 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1983s Nov 06 13:35:21 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1983s Nov 06 13:35:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 1983s Nov 06 13:35:21 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1983s Nov 06 13:35:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1983s Nov 06 13:35:21 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1983s Nov 06 13:35:21 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1983s Nov 06 13:35:21 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1986s Nov 06 13:35:24 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1986s Nov 06 13:35:24 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1987s Nov 06 13:35:25 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1987s Nov 06 13:35:25 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1987s Nov 06 13:35:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1987s Nov 06 13:35:25 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1987s Nov 06 13:35:25 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1987s Nov 06 13:35:25 1987s Nov 06 13:35:25 Scenario: check switchover # features/standby_cluster.feature:57 1987s Nov 06 13:35:25 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1991s Nov 06 13:35:29 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1991s Nov 06 13:35:29 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1993s Nov 06 13:35:31 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 1993s Nov 06 13:35:31 1993s Nov 06 13:35:31 Scenario: check failover # features/standby_cluster.feature:63 1993s Nov 06 13:35:31 When I kill postgres2 # features/steps/basic_replication.py:34 1994s Nov 06 13:35:32 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1994s Nov 06 13:35:32 waiting for server to shut down.... done 1994s Nov 06 13:35:32 server stopped 1994s Nov 06 13:35:32 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2014s Nov 06 13:35:52 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2014s Nov 06 13:35:52 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2014s Nov 06 13:35:52 Then I receive a response code 503 # features/steps/patroni_api.py:98 2014s Nov 06 13:35:52 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2014s Nov 06 13:35:52 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2015s Nov 06 13:35:53 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 2020s Nov 06 13:35:58 2020s Nov 06 13:35:58 Feature: watchdog # features/watchdog.feature:1 2020s Nov 06 13:35:58 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2020s Nov 06 13:35:58 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2020s Nov 06 13:35:58 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2024s Nov 06 13:36:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2024s Nov 06 13:36:02 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2024s Nov 06 13:36:02 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2025s Nov 06 13:36:03 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2025s Nov 06 13:36:03 2025s Nov 06 13:36:03 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2025s Nov 06 13:36:03 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2026s Nov 06 13:36:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2026s Nov 06 13:36:04 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2026s Nov 06 13:36:04 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2030s Nov 06 13:36:08 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2030s Nov 06 13:36:08 2030s Nov 06 13:36:08 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2030s Nov 06 13:36:08 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2032s Nov 06 13:36:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2032s Nov 06 13:36:10 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2034s Nov 06 13:36:12 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2034s Nov 06 13:36:12 2034s Nov 06 13:36:12 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2034s Nov 06 13:36:12 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2034s Nov 06 13:36:12 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2035s Nov 06 13:36:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2035s Nov 06 13:36:13 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2035s Nov 06 13:36:13 2035s Nov 06 13:36:13 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2035s Nov 06 13:36:13 Given I shut down postgres0 # features/steps/basic_replication.py:29 2037s Nov 06 13:36:15 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2037s Nov 06 13:36:15 2037s Nov 06 13:36:15 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2037s Nov 06 13:36:15 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2037s Nov 06 13:36:15 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2040s Nov 06 13:36:18 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2041s Nov 06 13:36:19 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2041s Nov 06 13:36:19 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2069s Nov 06 13:36:47 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10091.XmjbTdFx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10154.XxMNJocx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10223.XSOgZNEx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10326.XrMyKucx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10449.XvKaUHfx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10585.XgyahKJx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10632.XzSBbDsx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10639.XHGOZDex 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10644.XFnlOYOx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.10660.XlyJSigx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.6767.XxoMcBAx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.6812.XReRjYWx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.6857.Xyxbwmjx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.6928.XkUzpvDx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.6976.XlIHmClx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7051.XQSPFhIx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7101.XNYrEBNx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7106.XMZsUqRx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7196.XqoobkYx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7297.XKnnGkox 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7315.XozuqLWx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7359.XnHxbiSx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7407.XpWUBwHx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7536.XojGSFOx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7582.XWZLgxcx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7638.XoESplTx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7735.XjdjYIhx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7791.XeWsZrtx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7858.XqzphcGx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.7951.XIHszvcx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8055.XzgcpGMx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8099.XbooaNRx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8164.XJjLVbDx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8199.XwxfOyFx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8364.XghznSIx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8414.XBMkgrjx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8434.XWXADprx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8475.XbabIZJx 2069s Nov 06 13:36:47 Skipping duplicate data .coverage.autopkgtest.8527.XyoUzqzx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8534.XQCdawSx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8573.XagIdQwx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8621.XBWSceZx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8787.XxQrDrax 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8791.XPrQGofx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8799.XIAdCXyx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8940.XgoHWXhx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.8987.XwajpKax 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9029.XSGChQax 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9074.XLlBJyEx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9117.XHDdusfx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9314.XGnZsygx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9358.XoaGXiHx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9432.XRYHkHxx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9510.XVEXjtpx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9557.XTWFApax 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9904.XDWxPWWx 2069s Nov 06 13:36:47 Combined data file .coverage.autopkgtest.9949.XjZTBKgx 2071s Nov 06 13:36:49 Name Stmts Miss Cover 2071s Nov 06 13:36:49 -------------------------------------------------------------------------------------------------------- 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/api.py 770 289 62% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 91 86% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 288 69 76% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/ha.py 1244 372 70% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 213 74% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 18 86% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/six.py 504 249 51% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2071s Nov 06 13:36:49 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2071s Nov 06 13:36:49 patroni/__init__.py 13 2 85% 2071s Nov 06 13:36:49 patroni/__main__.py 199 199 0% 2071s Nov 06 13:36:49 patroni/api.py 770 770 0% 2071s Nov 06 13:36:49 patroni/async_executor.py 96 69 28% 2071s Nov 06 13:36:49 patroni/collections.py 56 15 73% 2071s Nov 06 13:36:49 patroni/config.py 371 194 48% 2071s Nov 06 13:36:49 patroni/config_generator.py 212 212 0% 2071s Nov 06 13:36:49 patroni/ctl.py 936 411 56% 2071s Nov 06 13:36:49 patroni/daemon.py 76 76 0% 2071s Nov 06 13:36:49 patroni/dcs/__init__.py 646 269 58% 2071s Nov 06 13:36:49 patroni/dcs/consul.py 485 485 0% 2071s Nov 06 13:36:49 patroni/dcs/etcd3.py 679 679 0% 2071s Nov 06 13:36:49 patroni/dcs/etcd.py 603 603 0% 2071s Nov 06 13:36:49 patroni/dcs/exhibitor.py 61 61 0% 2071s Nov 06 13:36:49 patroni/dcs/kubernetes.py 938 938 0% 2071s Nov 06 13:36:49 patroni/dcs/raft.py 319 319 0% 2071s Nov 06 13:36:49 patroni/dcs/zookeeper.py 288 149 48% 2071s Nov 06 13:36:49 patroni/dynamic_loader.py 35 7 80% 2071s Nov 06 13:36:49 patroni/exceptions.py 16 1 94% 2071s Nov 06 13:36:49 patroni/file_perm.py 43 15 65% 2071s Nov 06 13:36:49 patroni/global_config.py 81 18 78% 2071s Nov 06 13:36:49 patroni/ha.py 1244 1244 0% 2071s Nov 06 13:36:49 patroni/log.py 219 173 21% 2071s Nov 06 13:36:49 patroni/postgresql/__init__.py 821 651 21% 2071s Nov 06 13:36:49 patroni/postgresql/available_parameters/__init__.py 21 3 86% 2071s Nov 06 13:36:49 patroni/postgresql/bootstrap.py 252 222 12% 2071s Nov 06 13:36:49 patroni/postgresql/callback_executor.py 55 34 38% 2071s Nov 06 13:36:49 patroni/postgresql/cancellable.py 104 84 19% 2071s Nov 06 13:36:49 patroni/postgresql/config.py 813 698 14% 2071s Nov 06 13:36:49 patroni/postgresql/connection.py 75 50 33% 2071s Nov 06 13:36:49 patroni/postgresql/misc.py 41 29 29% 2071s Nov 06 13:36:49 patroni/postgresql/mpp/__init__.py 89 21 76% 2071s Nov 06 13:36:49 patroni/postgresql/mpp/citus.py 259 259 0% 2071s Nov 06 13:36:49 patroni/postgresql/postmaster.py 170 139 18% 2071s Nov 06 13:36:49 patroni/postgresql/rewind.py 416 416 0% 2071s Nov 06 13:36:49 patroni/postgresql/slots.py 334 285 15% 2071s Nov 06 13:36:49 patroni/postgresql/sync.py 130 96 26% 2071s Nov 06 13:36:49 patroni/postgresql/validator.py 157 52 67% 2071s Nov 06 13:36:49 patroni/psycopg.py 42 28 33% 2071s Nov 06 13:36:49 patroni/raft_controller.py 22 22 0% 2071s Nov 06 13:36:49 patroni/request.py 62 6 90% 2071s Nov 06 13:36:49 patroni/scripts/__init__.py 0 0 100% 2071s Nov 06 13:36:49 patroni/scripts/aws.py 59 59 0% 2071s Nov 06 13:36:49 patroni/scripts/barman/__init__.py 0 0 100% 2071s Nov 06 13:36:49 patroni/scripts/barman/cli.py 51 51 0% 2071s Nov 06 13:36:49 patroni/scripts/barman/config_switch.py 51 51 0% 2071s Nov 06 13:36:49 patroni/scripts/barman/recover.py 37 37 0% 2071s Nov 06 13:36:49 patroni/scripts/barman/utils.py 94 94 0% 2071s Nov 06 13:36:49 patroni/scripts/wale_restore.py 207 207 0% 2071s Nov 06 13:36:49 patroni/tags.py 38 11 71% 2071s Nov 06 13:36:49 patroni/utils.py 350 228 35% 2071s Nov 06 13:36:49 patroni/validator.py 301 215 29% 2071s Nov 06 13:36:49 patroni/version.py 1 0 100% 2071s Nov 06 13:36:49 patroni/watchdog/__init__.py 2 2 0% 2071s Nov 06 13:36:49 patroni/watchdog/base.py 203 203 0% 2071s Nov 06 13:36:49 patroni/watchdog/linux.py 135 135 0% 2071s Nov 06 13:36:49 -------------------------------------------------------------------------------------------------------- 2071s Nov 06 13:36:49 TOTAL 39824 23865 40% 2071s Nov 06 13:36:49 11 features passed, 0 failed, 1 skipped 2071s Nov 06 13:36:49 44 scenarios passed, 0 failed, 5 skipped 2071s Nov 06 13:36:49 444 steps passed, 0 failed, 61 skipped, 0 undefined 2071s Nov 06 13:36:49 Took 7m3.467s 2071s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2071s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2071s + rm -f '/tmp/pgpass?' 2071s ++ id -u 2071s + '[' 0 -eq 0 ']' 2071s + '[' -x /etc/init.d/zookeeper ']' 2071s + /etc/init.d/zookeeper stop 2072s Stopping zookeeper (via systemctl): zookeeper.service. 2072s autopkgtest [13:36:50]: test acceptance-zookeeper: -----------------------] 2073s autopkgtest [13:36:51]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2073s acceptance-zookeeper PASS 2073s autopkgtest [13:36:51]: test acceptance-raft: preparing testbed 2153s autopkgtest [13:38:11]: testbed dpkg architecture: arm64 2154s autopkgtest [13:38:12]: testbed apt version: 2.9.8 2154s autopkgtest [13:38:12]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2155s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2155s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2155s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [1652 kB] 2156s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [19.4 kB] 2156s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [177 kB] 2156s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [242 kB] 2156s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 2156s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [1298 kB] 2157s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [19.4 kB] 2157s Fetched 3539 kB in 2s (1632 kB/s) 2157s Reading package lists... 2160s Reading package lists... 2161s Building dependency tree... 2161s Reading state information... 2161s Calculating upgrade... 2162s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2162s Reading package lists... 2162s Building dependency tree... 2162s Reading state information... 2163s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2164s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2164s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2164s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2164s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2165s Reading package lists... 2165s Reading package lists... 2166s Building dependency tree... 2166s Reading state information... 2166s Calculating upgrade... 2167s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2167s Reading package lists... 2167s Building dependency tree... 2167s Reading state information... 2168s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2173s Reading package lists... 2174s Building dependency tree... 2174s Reading state information... 2175s Starting pkgProblemResolver with broken count: 0 2175s Starting 2 pkgProblemResolver with broken count: 0 2175s Done 2177s The following additional packages will be installed: 2177s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2177s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libtime-duration-perl 2177s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 2177s postgresql-16 postgresql-client-16 postgresql-client-common 2177s postgresql-common python3-behave python3-cdiff python3-click 2177s python3-colorama python3-coverage python3-dateutil python3-parse 2177s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 2177s python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2177s sphinx-rtd-theme-common ssl-cert 2177s Suggested packages: 2177s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 2177s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 2177s Recommended packages: 2177s javascript-common libjson-xs-perl 2177s The following NEW packages will be installed: 2177s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 2177s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 2177s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2177s patroni-doc postgresql postgresql-16 postgresql-client-16 2177s postgresql-client-common postgresql-common python3-behave python3-cdiff 2177s python3-click python3-colorama python3-coverage python3-dateutil 2177s python3-parse python3-parse-type python3-prettytable python3-psutil 2177s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2177s sphinx-rtd-theme-common ssl-cert 2177s 0 upgraded, 38 newly installed, 0 to remove and 0 not upgraded. 2177s Need to get 23.8 MB/23.8 MB of archives. 2177s After this operation, 86.1 MB of additional disk space will be used. 2177s Get:1 /tmp/autopkgtest.QdIpNW/5-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [756 B] 2177s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 2178s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 2178s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 2178s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 2178s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 2178s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2178s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 2178s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 2178s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2179s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2179s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 2179s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 2179s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 2179s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 2179s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 2179s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 2179s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 2179s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 2179s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 2179s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 2179s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 2179s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 2179s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2179s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 2179s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 2179s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 2179s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 2179s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 2179s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-2 [1012 kB] 2179s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 2179s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 2179s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 2180s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 2180s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 2180s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.4-1 [23.4 kB] 2180s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 2181s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 2181s Preconfiguring packages ... 2181s Fetched 23.8 MB in 4s (6616 kB/s) 2181s Selecting previously unselected package fonts-lato. 2182s (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 ... 79706 files and directories currently installed.) 2182s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2182s Unpacking fonts-lato (2.015-1) ... 2182s Selecting previously unselected package libjson-perl. 2182s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2182s Unpacking libjson-perl (4.10000-1) ... 2182s Selecting previously unselected package postgresql-client-common. 2182s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 2182s Unpacking postgresql-client-common (262) ... 2182s Selecting previously unselected package ssl-cert. 2182s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 2182s Unpacking ssl-cert (1.1.2ubuntu2) ... 2182s Selecting previously unselected package postgresql-common. 2182s Preparing to unpack .../04-postgresql-common_262_all.deb ... 2182s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2182s Unpacking postgresql-common (262) ... 2182s Selecting previously unselected package fonts-font-awesome. 2182s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2182s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2182s Selecting previously unselected package libio-pty-perl. 2182s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 2182s Unpacking libio-pty-perl (1:1.20-1build3) ... 2182s Selecting previously unselected package libipc-run-perl. 2182s Preparing to unpack .../07-libipc-run-perl_20231003.0-2_all.deb ... 2182s Unpacking libipc-run-perl (20231003.0-2) ... 2182s Selecting previously unselected package libjs-jquery. 2182s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2182s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2183s Selecting previously unselected package libjs-underscore. 2183s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2183s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2183s Selecting previously unselected package libjs-sphinxdoc. 2183s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-3_all.deb ... 2183s Unpacking libjs-sphinxdoc (7.4.7-3) ... 2183s Selecting previously unselected package libpq5:arm64. 2183s Preparing to unpack .../11-libpq5_17.0-1_arm64.deb ... 2183s Unpacking libpq5:arm64 (17.0-1) ... 2183s Selecting previously unselected package libtime-duration-perl. 2183s Preparing to unpack .../12-libtime-duration-perl_1.21-2_all.deb ... 2183s Unpacking libtime-duration-perl (1.21-2) ... 2183s Selecting previously unselected package libtimedate-perl. 2183s Preparing to unpack .../13-libtimedate-perl_2.3300-2_all.deb ... 2183s Unpacking libtimedate-perl (2.3300-2) ... 2183s Selecting previously unselected package libxslt1.1:arm64. 2183s Preparing to unpack .../14-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 2183s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 2183s Selecting previously unselected package moreutils. 2183s Preparing to unpack .../15-moreutils_0.69-1_arm64.deb ... 2183s Unpacking moreutils (0.69-1) ... 2183s Selecting previously unselected package python3-ydiff. 2183s Preparing to unpack .../16-python3-ydiff_1.3-1_all.deb ... 2183s Unpacking python3-ydiff (1.3-1) ... 2183s Selecting previously unselected package python3-cdiff. 2183s Preparing to unpack .../17-python3-cdiff_1.3-1_all.deb ... 2183s Unpacking python3-cdiff (1.3-1) ... 2183s Selecting previously unselected package python3-colorama. 2183s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 2183s Unpacking python3-colorama (0.4.6-4) ... 2183s Selecting previously unselected package python3-click. 2183s Preparing to unpack .../19-python3-click_8.1.7-2_all.deb ... 2183s Unpacking python3-click (8.1.7-2) ... 2183s Selecting previously unselected package python3-six. 2183s Preparing to unpack .../20-python3-six_1.16.0-7_all.deb ... 2183s Unpacking python3-six (1.16.0-7) ... 2183s Selecting previously unselected package python3-dateutil. 2183s Preparing to unpack .../21-python3-dateutil_2.9.0-2_all.deb ... 2183s Unpacking python3-dateutil (2.9.0-2) ... 2183s Selecting previously unselected package python3-wcwidth. 2183s Preparing to unpack .../22-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2183s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2183s Selecting previously unselected package python3-prettytable. 2183s Preparing to unpack .../23-python3-prettytable_3.10.1-1_all.deb ... 2183s Unpacking python3-prettytable (3.10.1-1) ... 2183s Selecting previously unselected package python3-psutil. 2183s Preparing to unpack .../24-python3-psutil_5.9.8-2build2_arm64.deb ... 2183s Unpacking python3-psutil (5.9.8-2build2) ... 2184s Selecting previously unselected package python3-psycopg2. 2184s Preparing to unpack .../25-python3-psycopg2_2.9.9-2_arm64.deb ... 2184s Unpacking python3-psycopg2 (2.9.9-2) ... 2184s Selecting previously unselected package python3-pysyncobj. 2184s Preparing to unpack .../26-python3-pysyncobj_0.3.12-1_all.deb ... 2184s Unpacking python3-pysyncobj (0.3.12-1) ... 2184s Selecting previously unselected package patroni. 2184s Preparing to unpack .../27-patroni_3.3.1-1_all.deb ... 2184s Unpacking patroni (3.3.1-1) ... 2184s Selecting previously unselected package sphinx-rtd-theme-common. 2184s Preparing to unpack .../28-sphinx-rtd-theme-common_2.0.0+dfsg-2_all.deb ... 2184s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 2184s Selecting previously unselected package patroni-doc. 2184s Preparing to unpack .../29-patroni-doc_3.3.1-1_all.deb ... 2184s Unpacking patroni-doc (3.3.1-1) ... 2184s Selecting previously unselected package postgresql-client-16. 2184s Preparing to unpack .../30-postgresql-client-16_16.4-3_arm64.deb ... 2184s Unpacking postgresql-client-16 (16.4-3) ... 2184s Selecting previously unselected package postgresql-16. 2184s Preparing to unpack .../31-postgresql-16_16.4-3_arm64.deb ... 2184s Unpacking postgresql-16 (16.4-3) ... 2185s Selecting previously unselected package postgresql. 2185s Preparing to unpack .../32-postgresql_16+262_all.deb ... 2185s Unpacking postgresql (16+262) ... 2185s Selecting previously unselected package python3-parse. 2185s Preparing to unpack .../33-python3-parse_1.20.2-1_all.deb ... 2185s Unpacking python3-parse (1.20.2-1) ... 2185s Selecting previously unselected package python3-parse-type. 2185s Preparing to unpack .../34-python3-parse-type_0.6.4-1_all.deb ... 2185s Unpacking python3-parse-type (0.6.4-1) ... 2185s Selecting previously unselected package python3-behave. 2185s Preparing to unpack .../35-python3-behave_1.2.6-5_all.deb ... 2185s Unpacking python3-behave (1.2.6-5) ... 2185s Selecting previously unselected package python3-coverage. 2185s Preparing to unpack .../36-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 2185s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2185s Selecting previously unselected package autopkgtest-satdep. 2185s Preparing to unpack .../37-5-autopkgtest-satdep.deb ... 2185s Unpacking autopkgtest-satdep (0) ... 2185s Setting up postgresql-client-common (262) ... 2185s Setting up fonts-lato (2.015-1) ... 2185s Setting up libio-pty-perl (1:1.20-1build3) ... 2185s Setting up python3-pysyncobj (0.3.12-1) ... 2185s Setting up python3-colorama (0.4.6-4) ... 2186s Setting up python3-ydiff (1.3-1) ... 2186s Setting up libpq5:arm64 (17.0-1) ... 2186s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2186s Setting up python3-click (8.1.7-2) ... 2187s Setting up python3-psutil (5.9.8-2build2) ... 2187s Setting up python3-six (1.16.0-7) ... 2187s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2188s Setting up ssl-cert (1.1.2ubuntu2) ... 2189s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2189s Setting up python3-psycopg2 (2.9.9-2) ... 2189s Setting up libipc-run-perl (20231003.0-2) ... 2189s Setting up libtime-duration-perl (1.21-2) ... 2189s Setting up libtimedate-perl (2.3300-2) ... 2189s Setting up python3-parse (1.20.2-1) ... 2189s Setting up libjson-perl (4.10000-1) ... 2189s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 2189s Setting up python3-dateutil (2.9.0-2) ... 2190s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2190s Setting up python3-prettytable (3.10.1-1) ... 2190s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2190s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 2190s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2190s Setting up moreutils (0.69-1) ... 2190s Setting up postgresql-client-16 (16.4-3) ... 2191s 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 2191s Setting up python3-cdiff (1.3-1) ... 2191s Setting up python3-parse-type (0.6.4-1) ... 2192s Setting up postgresql-common (262) ... 2192s 2192s Creating config file /etc/postgresql-common/createcluster.conf with new version 2192s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2192s Removing obsolete dictionary files: 2193s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2194s Setting up libjs-sphinxdoc (7.4.7-3) ... 2194s Setting up python3-behave (1.2.6-5) ... 2194s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2194s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2194s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2194s """Registers a custom type that will be available to "parse" 2194s Setting up patroni (3.3.1-1) ... 2194s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2195s Setting up postgresql-16 (16.4-3) ... 2196s Creating new PostgreSQL cluster 16/main ... 2196s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2196s The files belonging to this database system will be owned by user "postgres". 2196s This user must also own the server process. 2196s 2196s The database cluster will be initialized with locale "C.UTF-8". 2196s The default database encoding has accordingly been set to "UTF8". 2196s The default text search configuration will be set to "english". 2196s 2196s Data page checksums are disabled. 2196s 2196s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2196s creating subdirectories ... ok 2196s selecting dynamic shared memory implementation ... posix 2196s selecting default max_connections ... 100 2196s selecting default shared_buffers ... 128MB 2196s selecting default time zone ... Etc/UTC 2196s creating configuration files ... ok 2196s running bootstrap script ... ok 2197s performing post-bootstrap initialization ... ok 2197s syncing data to disk ... ok 2201s Setting up patroni-doc (3.3.1-1) ... 2201s Setting up postgresql (16+262) ... 2201s Setting up autopkgtest-satdep (0) ... 2201s Processing triggers for man-db (2.12.1-3) ... 2203s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2207s (Reading database ... 82725 files and directories currently installed.) 2207s Removing autopkgtest-satdep (0) ... 2210s autopkgtest [13:39:08]: test acceptance-raft: debian/tests/acceptance raft 2210s autopkgtest [13:39:08]: test acceptance-raft: [----------------------- 2210s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2210s ++ ls -1r /usr/lib/postgresql/ 2210s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2210s + '[' 16 == 10 -o 16 == 11 ']' 2210s + echo '### PostgreSQL 16 acceptance-raft ###' 2210s ### PostgreSQL 16 acceptance-raft ### 2210s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=arm64 DCS=raft PATH=/usr/lib/postgresql/16/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin behave | ts' 2216s Nov 06 13:39:14 Feature: basic replication # features/basic_replication.feature:1 2216s Nov 06 13:39:14 We should check that the basic bootstrapping, replication and failover works. 2216s Nov 06 13:39:14 Scenario: check replication of a single table # features/basic_replication.feature:4 2216s Nov 06 13:39:14 Given I start postgres0 # features/steps/basic_replication.py:8 2226s Nov 06 13:39:24 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2226s Nov 06 13:39:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2226s Nov 06 13:39:24 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 2226s Nov 06 13:39:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 2226s Nov 06 13:39:24 When I start postgres1 # features/steps/basic_replication.py:8 2230s Nov 06 13:39:28 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2234s Nov 06 13:39:32 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2234s Nov 06 13:39:32 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2235s Nov 06 13:39:32 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2236s Nov 06 13:39:33 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2236s Nov 06 13:39:33 2236s Nov 06 13:39:33 Scenario: check restart of sync replica # features/basic_replication.feature:17 2236s Nov 06 13:39:33 Given I shut down postgres2 # features/steps/basic_replication.py:29 2237s Nov 06 13:39:34 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2237s Nov 06 13:39:34 When I start postgres2 # features/steps/basic_replication.py:8 2240s Nov 06 13:39:38 And I shut down postgres1 # features/steps/basic_replication.py:29 2243s Nov 06 13:39:41 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2244s Nov 06 13:39:42 When I start postgres1 # features/steps/basic_replication.py:8 2248s Nov 06 13:39:46 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2249s Nov 06 13:39:47 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2249s Nov 06 13:39:47 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2249s Nov 06 13:39:47 2249s Nov 06 13:39:47 Scenario: check stuck sync replica # features/basic_replication.feature:28 2249s Nov 06 13:39:47 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 2249s Nov 06 13:39:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 2249s Nov 06 13:39:47 And I create table on postgres0 # features/steps/basic_replication.py:73 2249s Nov 06 13:39:47 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2250s Nov 06 13:39:48 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2250s Nov 06 13:39:48 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2250s Nov 06 13:39:48 And I load data on postgres0 # features/steps/basic_replication.py:84 2251s Nov 06 13:39:49 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2254s Nov 06 13:39:52 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2254s Nov 06 13:39:52 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2254s Nov 06 13:39:52 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2254s Nov 06 13:39:52 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 2254s Nov 06 13:39:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2254s Nov 06 13:39:52 And I drop table on postgres0 # features/steps/basic_replication.py:73 2254s Nov 06 13:39:52 2254s Nov 06 13:39:52 Scenario: check multi sync replication # features/basic_replication.feature:44 2254s Nov 06 13:39:52 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 2254s Nov 06 13:39:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2254s Nov 06 13:39:52 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2258s Nov 06 13:39:56 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2258s Nov 06 13:39:56 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2258s Nov 06 13:39:56 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 2258s Nov 06 13:39:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2258s Nov 06 13:39:56 And I shut down postgres1 # features/steps/basic_replication.py:29 2261s Nov 06 13:39:59 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2262s Nov 06 13:40:00 When I start postgres1 # features/steps/basic_replication.py:8 2266s Nov 06 13:40:04 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2267s Nov 06 13:40:05 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2267s Nov 06 13:40:05 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2267s Nov 06 13:40:05 2267s Nov 06 13:40:05 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2267s Nov 06 13:40:05 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2270s Nov 06 13:40:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2270s Nov 06 13:40:07 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2272s Nov 06 13:40:09 And I shut down postgres0 # features/steps/basic_replication.py:29 2273s Nov 06 13:40:10 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2275s Nov 06 13:40:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2275s Nov 06 13:40:13 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2294s Nov 06 13:40:32 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2294s Nov 06 13:40:32 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2294s Nov 06 13:40:32 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 2294s Nov 06 13:40:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2294s Nov 06 13:40:32 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2294s Nov 06 13:40:32 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2299s Nov 06 13:40:37 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2299s Nov 06 13:40:37 2299s Nov 06 13:40:37 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2299s Nov 06 13:40:37 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2299s Nov 06 13:40:37 And I start postgres0 # features/steps/basic_replication.py:8 2299s Nov 06 13:40:37 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2308s Nov 06 13:40:46 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2308s Nov 06 13:40:46 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2308s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2326s Nov 06 13:41:04 2326s Nov 06 13:41:04 @reject-duplicate-name 2326s Nov 06 13:41:04 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2326s Nov 06 13:41:04 Given I start duplicate postgres0 on port 8011 # None 2326s Nov 06 13:41:04 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 2326s Nov 06 13:41:04 2326s Nov 06 13:41:04 Feature: cascading replication # features/cascading_replication.feature:1 2326s Nov 06 13:41:04 We should check that patroni can do base backup and streaming from the replica 2326s Nov 06 13:41:04 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2326s Nov 06 13:41:04 Given I start postgres0 # features/steps/basic_replication.py:8 2330s Nov 06 13:41:08 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2330s Nov 06 13:41:08 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2336s Nov 06 13:41:14 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2337s Nov 06 13:41:15 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2337s Nov 06 13:41:15 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2337s Nov 06 13:41:15 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2337s Nov 06 13:41:15 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2347s Nov 06 13:41:25 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2347s Nov 06 13:41:25 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2362s Nov 06 13:41:40 2362s Nov 06 13:41:40 Feature: citus # features/citus.feature:1 2362s Nov 06 13:41:40 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2362s Nov 06 13:41:40 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2362s Nov 06 13:41:40 Given I start postgres0 in citus group 0 # None 2362s Nov 06 13:41:40 And I start postgres2 in citus group 1 # None 2362s Nov 06 13:41:40 Then postgres0 is a leader in a group 0 after 10 seconds # None 2362s Nov 06 13:41:40 And postgres2 is a leader in a group 1 after 10 seconds # None 2362s Nov 06 13:41:40 When I start postgres1 in citus group 0 # None 2362s Nov 06 13:41:40 And I start postgres3 in citus group 1 # None 2362s Nov 06 13:41:40 Then replication works from postgres0 to postgres1 after 15 seconds # None 2362s Nov 06 13:41:40 Then replication works from postgres2 to postgres3 after 15 seconds # None 2362s Nov 06 13:41:40 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2362s Nov 06 13:41:40 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2362s Nov 06 13:41:40 2362s Nov 06 13:41:40 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2362s Nov 06 13:41:40 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2362s Nov 06 13:41:40 Then postgres1 role is the primary after 10 seconds # None 2362s Nov 06 13:41:40 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2362s Nov 06 13:41:40 And replication works from postgres1 to postgres0 after 15 seconds # None 2362s Nov 06 13:41:40 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2362s Nov 06 13:41:40 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2362s Nov 06 13:41:40 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2362s Nov 06 13:41:40 Then postgres0 role is the primary after 10 seconds # None 2362s Nov 06 13:41:40 And replication works from postgres0 to postgres1 after 15 seconds # None 2362s Nov 06 13:41:40 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2362s Nov 06 13:41:40 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2362s SKIP FEATURE citus: Citus extenstion isn't available 2362s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2362s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2362s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2362s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2362s 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 2362s Nov 06 13:41:40 2362s Nov 06 13:41:40 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2362s Nov 06 13:41:40 Given I create a distributed table on postgres0 # None 2362s Nov 06 13:41:40 And I start a thread inserting data on postgres0 # None 2362s Nov 06 13:41:40 When I run patronictl.py switchover batman --group 1 --force # None 2362s Nov 06 13:41:40 Then I receive a response returncode 0 # None 2362s Nov 06 13:41:40 And postgres3 role is the primary after 10 seconds # None 2362s Nov 06 13:41:40 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2362s Nov 06 13:41:40 And replication works from postgres3 to postgres2 after 15 seconds # None 2362s Nov 06 13:41:40 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2362s Nov 06 13:41:40 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2362s Nov 06 13:41:40 And a thread is still alive # None 2362s Nov 06 13:41:40 When I run patronictl.py switchover batman --group 1 --force # None 2362s Nov 06 13:41:40 Then I receive a response returncode 0 # None 2362s Nov 06 13:41:40 And postgres2 role is the primary after 10 seconds # None 2362s Nov 06 13:41:40 And replication works from postgres2 to postgres3 after 15 seconds # None 2362s Nov 06 13:41:40 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2362s Nov 06 13:41:40 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2362s Nov 06 13:41:40 And a thread is still alive # None 2362s Nov 06 13:41:40 When I stop a thread # None 2362s Nov 06 13:41:40 Then a distributed table on postgres0 has expected rows # None 2362s Nov 06 13:41:40 2362s Nov 06 13:41:40 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2362s Nov 06 13:41:40 Given I cleanup a distributed table on postgres0 # None 2362s Nov 06 13:41:40 And I start a thread inserting data on postgres0 # None 2362s Nov 06 13:41:40 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2362s Nov 06 13:41:40 Then I receive a response returncode 0 # None 2362s Nov 06 13:41:40 And postgres2 role is the primary after 10 seconds # None 2362s Nov 06 13:41:40 And replication works from postgres2 to postgres3 after 15 seconds # None 2362s Nov 06 13:41:40 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2362s Nov 06 13:41:40 And a thread is still alive # None 2362s Nov 06 13:41:40 When I stop a thread # None 2362s Nov 06 13:41:40 Then a distributed table on postgres0 has expected rows # None 2369s Nov 06 13:41:47 2369s Nov 06 13:41:47 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2369s Nov 06 13:41:47 Given I start postgres4 in citus group 2 # None 2369s Nov 06 13:41:47 Then postgres4 is a leader in a group 2 after 10 seconds # None 2369s Nov 06 13:41:47 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2369s Nov 06 13:41:47 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2369s Nov 06 13:41:47 Then I receive a response returncode 0 # None 2369s Nov 06 13:41:47 And I receive a response output "+ttl: 20" # None 2369s Nov 06 13:41:47 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2369s Nov 06 13:41:47 When I shut down postgres4 # None 2369s Nov 06 13:41:47 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2369s Nov 06 13:41:47 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2369s Nov 06 13:41:47 Then a transaction finishes in 20 seconds # None 2369s Nov 06 13:41:47 2369s Nov 06 13:41:47 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2369s Nov 06 13:41:47 We should check that patroni can bootstrap a new cluster from a backup 2369s Nov 06 13:41:47 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2369s Nov 06 13:41:47 Given I start postgres0 # features/steps/basic_replication.py:8 2372s Nov 06 13:41:50 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2372s Nov 06 13:41:50 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2372s Nov 06 13:41:50 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2376s Nov 06 13:41:54 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2377s Nov 06 13:41:55 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2377s Nov 06 13:41:55 2377s Nov 06 13:41:55 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2377s Nov 06 13:41:55 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2377s Nov 06 13:41:55 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2377s Nov 06 13:41:55 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2382s Nov 06 13:42:00 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2382s Nov 06 13:42:00 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2400s Nov 06 13:42:18 2400s Nov 06 13:42:18 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2400s Nov 06 13:42:18 We should check the basic dcs failsafe mode functioning 2400s Nov 06 13:42:18 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2400s Nov 06 13:42:18 Given I start postgres0 # features/steps/basic_replication.py:8 2404s Nov 06 13:42:22 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2404s Nov 06 13:42:22 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2404s Nov 06 13:42:22 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 2404s Nov 06 13:42:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2404s Nov 06 13:42:22 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2404s Nov 06 13:42:22 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2404s Nov 06 13:42:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2404s Nov 06 13:42:22 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2404s Nov 06 13:42:22 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 2404s Nov 06 13:42:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2404s Nov 06 13:42:22 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 2404s Nov 06 13:42:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2404s Nov 06 13:42:22 2404s Nov 06 13:42:22 @dcs-failsafe 2404s Nov 06 13:42:22 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2404s Nov 06 13:42:22 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2404s Nov 06 13:42:22 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 2408s Nov 06 13:42:26 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2408s Nov 06 13:42:26 2408s Nov 06 13:42:26 @dcs-failsafe 2408s Nov 06 13:42:26 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2408s Nov 06 13:42:26 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2408s Nov 06 13:42:26 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2409s Nov 06 13:42:27 And I shut down postgres0 # features/steps/basic_replication.py:29 2411s Nov 06 13:42:29 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2414s Nov 06 13:42:32 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2414s Nov 06 13:42:32 2414s Nov 06 13:42:32 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2414s Nov 06 13:42:32 Given I start postgres0 # features/steps/basic_replication.py:8 2418s Nov 06 13:42:36 And I start postgres1 # features/steps/basic_replication.py:8 2418s Nov 06 13:42:36 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2419s Nov 06 13:42:37 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2419s Nov 06 13:42:37 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2423s Nov 06 13:42:41 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2423s Nov 06 13:42:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2423s Nov 06 13:42:41 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2423s Nov 06 13:42:41 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2423s Nov 06 13:42:41 2423s Nov 06 13:42:41 @dcs-failsafe @slot-advance 2423s Nov 06 13:42:41 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2423s Nov 06 13:42:41 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2423s Nov 06 13:42:41 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2429s Nov 06 13:42:47 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2429s Nov 06 13:42:47 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2429s Nov 06 13:42:47 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 2434s Nov 06 13:42:52 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2434s Nov 06 13:42:52 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2434s Nov 06 13:42:52 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2434s Nov 06 13:42:52 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2434s Nov 06 13:42:52 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2434s Nov 06 13:42:52 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2441s Nov 06 13:42:59 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2441s Nov 06 13:42:59 2441s Nov 06 13:42:59 @dcs-failsafe 2441s Nov 06 13:42:59 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2441s Nov 06 13:42:59 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2441s Nov 06 13:42:59 And I kill postgres1 # features/steps/basic_replication.py:34 2442s Nov 06 13:43:00 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2442s Nov 06 13:43:00 waiting for server to shut down.... done 2442s Nov 06 13:43:00 server stopped 2442s Nov 06 13:43:00 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2444s Nov 06 13:43:02 2444s Nov 06 13:43:02 @dcs-failsafe 2444s Nov 06 13:43:02 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2444s Nov 06 13:43:02 Given I kill postgres0 # features/steps/basic_replication.py:34 2445s Nov 06 13:43:03 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2445s Nov 06 13:43:03 waiting for server to shut down.... done 2445s Nov 06 13:43:03 server stopped 2445s Nov 06 13:43:03 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2445s Nov 06 13:43:03 When I start postgres1 # features/steps/basic_replication.py:8 2448s Nov 06 13:43:06 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2449s Nov 06 13:43:07 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2451s Nov 06 13:43:09 2451s Nov 06 13:43:09 @dcs-failsafe 2451s Nov 06 13:43:09 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2451s Nov 06 13:43:09 Given I start postgres0 # features/steps/basic_replication.py:8 2455s Nov 06 13:43:13 And I start postgres2 # features/steps/basic_replication.py:8 2460s Nov 06 13:43:18 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2460s Nov 06 13:43:18 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2460s Nov 06 13:43:18 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2460s Nov 06 13:43:18 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2461s Nov 06 13:43:19 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2462s Nov 06 13:43:20 2462s Nov 06 13:43:20 @dcs-failsafe @slot-advance 2462s Nov 06 13:43:20 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2462s Nov 06 13:43:20 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 2462s Nov 06 13:43:20 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2466s Nov 06 13:43:24 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2467s Nov 06 13:43:25 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2467s Nov 06 13:43:25 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2469s Nov 06 13:43:27 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2469s Nov 06 13:43:27 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2469s Nov 06 13:43:27 2469s Nov 06 13:43:27 @dcs-failsafe 2469s Nov 06 13:43:27 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 2469s Nov 06 13:43:27 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2469s Nov 06 13:43:27 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 2474s Nov 06 13:43:32 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2474s Nov 06 13:43:32 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2474s Nov 06 13:43:32 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2474s Nov 06 13:43:32 2474s Nov 06 13:43:32 @dcs-failsafe @slot-advance 2474s Nov 06 13:43:32 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 2474s Nov 06 13:43:32 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2474s Nov 06 13:43:32 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2475s Nov 06 13:43:33 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2475s Nov 06 13:43:33 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2475s Nov 06 13:43:33 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2481s Nov 06 13:43:39 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2481s Nov 06 13:43:39 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2481s Nov 06 13:43:39 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2481s Nov 06 13:43:39 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2493s Nov 06 13:43:51 2493s Nov 06 13:43:51 Feature: ignored slots # features/ignored_slots.feature:1 2493s Nov 06 13:43:51 2493s Nov 06 13:43:51 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2493s Nov 06 13:43:51 Given I start postgres1 # features/steps/basic_replication.py:8 2497s Nov 06 13:43:55 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2497s Nov 06 13:43:55 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2497s Nov 06 13:43:55 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 2497s Nov 06 13:43:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 2497s Nov 06 13:43:55 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2498s Nov 06 13:43:55 When I shut down postgres1 # features/steps/basic_replication.py:29 2500s Nov 06 13:43:57 And I start postgres1 # features/steps/basic_replication.py:8 2503s Nov 06 13:44:01 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2506s Nov 06 13:44:04 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2507s Nov 06 13:44:05 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2507s Nov 06 13:44:05 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2507s Nov 06 13:44:05 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2507s Nov 06 13:44:05 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2507s Nov 06 13:44:05 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2507s Nov 06 13:44:05 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2507s Nov 06 13:44:05 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2507s Nov 06 13:44:05 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2507s Nov 06 13:44:05 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2507s Nov 06 13:44:05 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2507s Nov 06 13:44:05 When I start postgres0 # features/steps/basic_replication.py:8 2511s Nov 06 13:44:09 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2511s Nov 06 13:44:09 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2511s Nov 06 13:44:09 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2512s Nov 06 13:44:10 When I shut down postgres1 # features/steps/basic_replication.py:29 2514s Nov 06 13:44:12 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2515s Nov 06 13:44:13 When I start postgres1 # features/steps/basic_replication.py:8 2518s Nov 06 13:44:16 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2518s Nov 06 13:44:16 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2519s Nov 06 13:44:17 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2521s Nov 06 13:44: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 2521s Nov 06 13:44: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 2521s Nov 06 13:44: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 2521s Nov 06 13:44: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 2521s Nov 06 13:44:19 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2521s Nov 06 13:44:19 When I shut down postgres0 # features/steps/basic_replication.py:29 2523s Nov 06 13:44:21 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2524s Nov 06 13:44: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 2524s Nov 06 13:44: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 2524s Nov 06 13:44: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 2524s Nov 06 13:44: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 2532s Nov 06 13:44:30 2532s Nov 06 13:44:30 Feature: nostream node # features/nostream_node.feature:1 2532s Nov 06 13:44:30 2532s Nov 06 13:44:30 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2532s Nov 06 13:44:30 When I start postgres0 # features/steps/basic_replication.py:8 2542s Nov 06 13:44:40 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2546s Nov 06 13:44:44 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2546s Nov 06 13:44:44 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2551s Nov 06 13:44:49 2551s Nov 06 13:44:49 @slot-advance 2551s Nov 06 13:44:49 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2551s Nov 06 13:44:49 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 2552s Nov 06 13:44:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 2552s Nov 06 13:44:50 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2554s Nov 06 13:44:52 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2555s Nov 06 13:44:53 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2559s Nov 06 13:44:57 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2565s Nov 06 13:45:03 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2565s Nov 06 13:45:03 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2582s Nov 06 13:45:20 2582s Nov 06 13:45:20 Feature: patroni api # features/patroni_api.feature:1 2582s Nov 06 13:45:20 We should check that patroni correctly responds to valid and not-valid API requests. 2582s Nov 06 13:45:20 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2582s Nov 06 13:45:20 Given I start postgres0 # features/steps/basic_replication.py:8 2586s Nov 06 13:45:23 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2587s Nov 06 13:45:24 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2587s Nov 06 13:45:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2587s Nov 06 13:45:25 And I receive a response state running # features/steps/patroni_api.py:98 2587s Nov 06 13:45:25 And I receive a response role master # features/steps/patroni_api.py:98 2587s Nov 06 13:45:25 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2587s Nov 06 13:45:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 2587s Nov 06 13:45:25 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2587s Nov 06 13:45:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2587s Nov 06 13:45:25 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2587s Nov 06 13:45:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 2587s Nov 06 13:45:25 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2587s Nov 06 13:45:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 2587s Nov 06 13:45:25 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2587s Nov 06 13:45:25 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2589s Nov 06 13:45:27 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2589s Nov 06 13:45:27 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2589s Nov 06 13:45:27 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2589s Nov 06 13:45:27 Then I receive a response code 412 # features/steps/patroni_api.py:98 2589s Nov 06 13:45:27 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2589s Nov 06 13:45:27 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2589s Nov 06 13:45:27 Then I receive a response code 400 # features/steps/patroni_api.py:98 2589s Nov 06 13:45:27 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2589s Nov 06 13:45:27 Then I receive a response code 400 # features/steps/patroni_api.py:98 2589s Nov 06 13:45:27 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2589s Nov 06 13:45:27 2589s Nov 06 13:45:27 Scenario: check local configuration reload # features/patroni_api.feature:32 2589s Nov 06 13:45:27 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2589s Nov 06 13:45:27 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2589s Nov 06 13:45:27 Then I receive a response code 202 # features/steps/patroni_api.py:98 2589s Nov 06 13:45:27 2589s Nov 06 13:45:27 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2589s Nov 06 13:45:27 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 2589s Nov 06 13:45:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2589s Nov 06 13:45:27 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2591s Nov 06 13:45:29 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2591s Nov 06 13:45:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 2591s Nov 06 13:45:29 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2591s Nov 06 13:45:29 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2591s Nov 06 13:45:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 2591s Nov 06 13:45:29 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2591s Nov 06 13:45:29 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2595s Nov 06 13:45:33 2595s Nov 06 13:45:33 Scenario: check the scheduled restart # features/patroni_api.feature:49 2595s Nov 06 13:45:33 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2597s Nov 06 13:45:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2597s Nov 06 13:45:35 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2597s Nov 06 13:45:35 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2597s Nov 06 13:45:35 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 2597s Nov 06 13:45:35 Then I receive a response code 202 # features/steps/patroni_api.py:98 2597s Nov 06 13:45:35 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2605s Nov 06 13:45:43 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2605s Nov 06 13:45:43 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 2605s Nov 06 13:45:43 Then I receive a response code 202 # features/steps/patroni_api.py:98 2605s Nov 06 13:45:43 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 2612s Nov 06 13:45:50 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2613s Nov 06 13:45:51 2613s Nov 06 13:45:51 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2613s Nov 06 13:45:51 Given I start postgres1 # features/steps/basic_replication.py:8 2616s Nov 06 13:45:54 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2617s Nov 06 13:45:55 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2619s Nov 06 13:45:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2619s Nov 06 13:45:57 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2619s Nov 06 13:45:57 waiting for server to shut down.... done 2619s Nov 06 13:45:57 server stopped 2619s Nov 06 13:45:57 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2619s Nov 06 13:45:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 2619s Nov 06 13:45:57 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2620s Nov 06 13:45:58 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2623s Nov 06 13:46:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2623s Nov 06 13:46:01 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2624s Nov 06 13:46:02 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2626s Nov 06 13:46:04 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2626s Nov 06 13:46:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2626s Nov 06 13:46:04 And I receive a response state running # features/steps/patroni_api.py:98 2626s Nov 06 13:46:04 And I receive a response role replica # features/steps/patroni_api.py:98 2626s Nov 06 13:46:04 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2630s Nov 06 13:46:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2630s Nov 06 13:46:08 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2630s Nov 06 13:46:08 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2631s Nov 06 13:46:09 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2631s Nov 06 13:46:09 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2634s Nov 06 13:46:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2634s Nov 06 13:46:11 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2634s Nov 06 13:46:11 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2635s Nov 06 13:46:12 2635s Nov 06 13:46:12 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2635s Nov 06 13:46:12 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 2637s Nov 06 13:46:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2637s Nov 06 13:46:15 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2637s Nov 06 13:46:15 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2638s Nov 06 13:46:16 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2643s Nov 06 13:46:21 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2643s Nov 06 13:46:21 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2643s Nov 06 13:46:21 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2643s Nov 06 13:46:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 2643s Nov 06 13:46:21 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2643s Nov 06 13:46:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 2643s Nov 06 13:46:21 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2643s Nov 06 13:46:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 2643s Nov 06 13:46:21 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2643s Nov 06 13:46:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 2643s Nov 06 13:46:21 2643s Nov 06 13:46:21 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2643s Nov 06 13:46:21 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2645s Nov 06 13:46:23 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2645s Nov 06 13:46:23 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2645s Nov 06 13:46:23 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2647s Nov 06 13:46:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2647s Nov 06 13:46:25 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2648s Nov 06 13:46:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2648s Nov 06 13:46:26 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2658s Nov 06 13:46:36 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2659s Nov 06 13:46:37 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2661s Nov 06 13:46:39 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2661s Nov 06 13:46:39 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2662s Nov 06 13:46:40 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2663s Nov 06 13:46:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2663s Nov 06 13:46:40 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2663s Nov 06 13:46:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 2663s Nov 06 13:46:41 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2663s Nov 06 13:46:41 Then I receive a response code 503 # features/steps/patroni_api.py:98 2663s Nov 06 13:46:41 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2663s Nov 06 13:46:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2673s Nov 06 13:46:51 2673s Nov 06 13:46:51 Feature: permanent slots # features/permanent_slots.feature:1 2673s Nov 06 13:46:51 2673s Nov 06 13:46:51 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2673s Nov 06 13:46:51 Given I start postgres0 # features/steps/basic_replication.py:8 2682s Nov 06 13:47:00 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2682s Nov 06 13:47:00 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2682s Nov 06 13:47:00 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 2682s Nov 06 13:47:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2682s Nov 06 13:47:00 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2682s Nov 06 13:47:00 When I start postgres1 # features/steps/basic_replication.py:8 2686s Nov 06 13:47:03 And I start postgres2 # features/steps/basic_replication.py:8 2688s Nov 06 13:47:06 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2693s Nov 06 13:47:10 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2693s Nov 06 13:47:10 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2693s Nov 06 13:47:10 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2693s Nov 06 13:47:10 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2693s Nov 06 13:47:10 2693s Nov 06 13:47:10 @slot-advance 2693s Nov 06 13:47:10 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2693s Nov 06 13:47:10 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2696s Nov 06 13:47:14 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 2696s Nov 06 13:47:14 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2697s Nov 06 13:47:15 2697s Nov 06 13:47:15 @slot-advance 2697s Nov 06 13:47:15 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2697s Nov 06 13:47:15 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2700s Nov 06 13:47:18 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2700s Nov 06 13:47:18 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2701s Nov 06 13:47:19 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2702s Nov 06 13:47:20 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2702s Nov 06 13:47:20 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2702s Nov 06 13:47:20 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2702s Nov 06 13:47:20 2702s Nov 06 13:47:20 @slot-advance 2702s Nov 06 13:47:20 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2702s Nov 06 13:47:20 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2702s Nov 06 13:47:20 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2702s Nov 06 13:47:20 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2702s Nov 06 13:47:20 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2702s Nov 06 13:47:20 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2702s Nov 06 13:47:20 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2702s Nov 06 13:47:20 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2702s Nov 06 13:47:20 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2702s Nov 06 13:47:20 2702s Nov 06 13:47:20 @slot-advance 2702s Nov 06 13:47:20 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2702s Nov 06 13:47:20 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2702s Nov 06 13:47:20 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2702s Nov 06 13:47:20 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2702s Nov 06 13:47:20 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2703s Nov 06 13:47:21 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2703s Nov 06 13:47:21 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2703s Nov 06 13:47:21 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2703s Nov 06 13:47:21 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2703s Nov 06 13:47:21 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2703s Nov 06 13:47:21 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2703s Nov 06 13:47:21 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2705s Nov 06 13:47:23 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2705s Nov 06 13:47:23 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2705s Nov 06 13:47:23 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2705s Nov 06 13:47:23 2705s Nov 06 13:47:23 @slot-advance 2705s Nov 06 13:47:23 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2705s Nov 06 13:47:23 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2705s Nov 06 13:47:23 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2705s Nov 06 13:47:23 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2705s Nov 06 13:47:23 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2705s Nov 06 13:47:23 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2705s Nov 06 13:47:23 2705s Nov 06 13:47:23 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2705s Nov 06 13:47:23 Given I shut down postgres3 # features/steps/basic_replication.py:29 2706s Nov 06 13:47:24 And I shut down postgres2 # features/steps/basic_replication.py:29 2707s Nov 06 13:47:25 And I shut down postgres0 # features/steps/basic_replication.py:29 2709s Nov 06 13:47:27 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2709s Nov 06 13:47:27 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2709s Nov 06 13:47:27 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2720s Nov 06 13:47:38 2720s Nov 06 13:47:38 Feature: priority replication # features/priority_failover.feature:1 2720s Nov 06 13:47:38 We should check that we can give nodes priority during failover 2720s Nov 06 13:47:38 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2720s Nov 06 13:47:38 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2729s Nov 06 13:47:47 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2733s Nov 06 13:47:51 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2734s Nov 06 13:47:52 When I shut down postgres0 # features/steps/basic_replication.py:29 2736s Nov 06 13:47:54 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 2738s Nov 06 13:47:56 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2739s Nov 06 13:47:56 When I start postgres0 # features/steps/basic_replication.py:8 2742s Nov 06 13:48:00 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2746s Nov 06 13:48:04 2746s Nov 06 13:48:04 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2746s Nov 06 13:48:04 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2750s Nov 06 13:48:08 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2754s Nov 06 13:48:12 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2755s Nov 06 13:48:13 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2756s Nov 06 13:48:14 When I shut down postgres0 # features/steps/basic_replication.py:29 2758s Nov 06 13:48:16 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2759s Nov 06 13:48:17 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 2759s Nov 06 13:48:17 2759s Nov 06 13:48:17 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2759s Nov 06 13:48:17 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2759s Nov 06 13:48:17 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2759s Nov 06 13:48:17 Then I receive a response code 202 # features/steps/patroni_api.py:98 2759s Nov 06 13:48:17 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 2761s Nov 06 13:48:19 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2762s Nov 06 13:48:20 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2762s Nov 06 13:48:20 Then I receive a response code 412 # features/steps/patroni_api.py:98 2762s Nov 06 13:48:20 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2762s Nov 06 13:48:20 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2762s Nov 06 13:48:20 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2762s Nov 06 13:48:20 Then I receive a response code 202 # features/steps/patroni_api.py:98 2762s Nov 06 13:48:20 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 2764s Nov 06 13:48:22 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2765s Nov 06 13:48:23 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2768s Nov 06 13:48:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 2768s Nov 06 13:48:26 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2782s Nov 06 13:48:40 2782s Nov 06 13:48:40 Feature: recovery # features/recovery.feature:1 2782s Nov 06 13:48:40 We want to check that crashed postgres is started back 2782s Nov 06 13:48:40 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2782s Nov 06 13:48:40 Given I start postgres0 # features/steps/basic_replication.py:8 2786s Nov 06 13:48:44 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2787s Nov 06 13:48:45 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2787s Nov 06 13:48:45 When I start postgres1 # features/steps/basic_replication.py:8 2791s Nov 06 13:48:49 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2791s Nov 06 13:48:49 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2792s Nov 06 13:48:50 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2792s Nov 06 13:48:50 waiting for server to shut down.... done 2792s Nov 06 13:48:50 server stopped 2792s Nov 06 13:48:50 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2793s Nov 06 13:48:51 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2793s Nov 06 13:48:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 2793s Nov 06 13:48:51 And I receive a response role master # features/steps/patroni_api.py:98 2793s Nov 06 13:48:51 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2793s Nov 06 13:48:51 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2794s Nov 06 13:48:52 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2798s Nov 06 13:48:56 2798s Nov 06 13:48:56 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2798s Nov 06 13:48:56 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 2798s Nov 06 13:48:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2798s Nov 06 13:48:56 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2798s Nov 06 13:48:56 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2799s Nov 06 13:48:56 waiting for server to shut down.... done 2799s Nov 06 13:48:56 server stopped 2799s Nov 06 13:48:56 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2802s Nov 06 13:48:59 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2814s Nov 06 13:49:12 2814s Nov 06 13:49:12 Feature: standby cluster # features/standby_cluster.feature:1 2814s Nov 06 13:49:12 2814s Nov 06 13:49:12 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2814s Nov 06 13:49:12 Given I start postgres1 # features/steps/basic_replication.py:8 2824s Nov 06 13:49:22 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2825s Nov 06 13:49:23 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2825s Nov 06 13:49:23 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 2825s Nov 06 13:49:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2825s Nov 06 13:49:23 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2825s Nov 06 13:49:23 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2828s Nov 06 13:49:26 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 2828s Nov 06 13:49:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 2828s Nov 06 13:49:26 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2829s Nov 06 13:49:27 When I start postgres0 # features/steps/basic_replication.py:8 2833s Nov 06 13:49:31 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2833s Nov 06 13:49:31 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2834s Nov 06 13:49:32 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2834s Nov 06 13:49:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2834s Nov 06 13:49:32 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2834s Nov 06 13:49:32 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2834s Nov 06 13:49:32 2834s Nov 06 13:49:32 @slot-advance 2834s Nov 06 13:49:32 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2834s Nov 06 13:49:32 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2837s Nov 06 13:49:35 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2842s Nov 06 13:49:40 2842s Nov 06 13:49:40 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2842s Nov 06 13:49:40 When I shut down postgres1 # features/steps/basic_replication.py:29 2844s Nov 06 13:49:42 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2844s Nov 06 13:49:42 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2845s Nov 06 13:49:43 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2845s Nov 06 13:49:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 2845s Nov 06 13:49:43 2845s Nov 06 13:49:43 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2845s Nov 06 13:49:43 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2848s Nov 06 13:49:46 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2851s Nov 06 13:49:49 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2851s Nov 06 13:49:49 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2851s Nov 06 13:49:49 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2851s Nov 06 13:49:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 2851s Nov 06 13:49:49 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2851s Nov 06 13:49:49 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2854s Nov 06 13:49:52 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2854s Nov 06 13:49:52 Then I receive a response code 503 # features/steps/patroni_api.py:98 2854s Nov 06 13:49:52 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2854s Nov 06 13:49:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2854s Nov 06 13:49:52 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2854s Nov 06 13:49:52 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2854s Nov 06 13:49:52 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2859s Nov 06 13:49:57 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2859s Nov 06 13:49:57 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2859s Nov 06 13:49:57 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2859s Nov 06 13:49:57 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2859s Nov 06 13:49:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 2859s Nov 06 13:49:57 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2859s Nov 06 13:49:57 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2859s Nov 06 13:49:57 2859s Nov 06 13:49:57 Scenario: check switchover # features/standby_cluster.feature:57 2859s Nov 06 13:49:57 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2863s Nov 06 13:50:01 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2863s Nov 06 13:50:01 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2866s Nov 06 13:50:04 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 2866s Nov 06 13:50:04 2866s Nov 06 13:50:04 Scenario: check failover # features/standby_cluster.feature:63 2866s Nov 06 13:50:04 When I kill postgres2 # features/steps/basic_replication.py:34 2867s Nov 06 13:50:05 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2867s Nov 06 13:50:05 waiting for server to shut down.... done 2867s Nov 06 13:50:05 server stopped 2867s Nov 06 13:50:05 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2887s Nov 06 13:50:25 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2887s Nov 06 13:50:25 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2887s Nov 06 13:50:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 2887s Nov 06 13:50:25 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2887s Nov 06 13:50:25 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2888s Nov 06 13:50:26 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 2903s Nov 06 13:50:40 2903s Nov 06 13:50:40 Feature: watchdog # features/watchdog.feature:1 2903s Nov 06 13:50:40 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2903s Nov 06 13:50:40 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2903s Nov 06 13:50:40 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2912s Nov 06 13:50:50 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2913s Nov 06 13:50:51 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2913s Nov 06 13:50:51 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2913s Nov 06 13:50:51 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2913s Nov 06 13:50:51 2913s Nov 06 13:50:51 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2913s Nov 06 13:50:51 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2914s Nov 06 13:50:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2914s Nov 06 13:50:52 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2914s Nov 06 13:50:52 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2918s Nov 06 13:50:56 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2918s Nov 06 13:50:56 2918s Nov 06 13:50:56 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2918s Nov 06 13:50:56 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2920s Nov 06 13:50:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2920s Nov 06 13:50:58 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2922s Nov 06 13:51:00 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2922s Nov 06 13:51:00 2922s Nov 06 13:51:00 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2922s Nov 06 13:51:00 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2922s Nov 06 13:51:00 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2924s Nov 06 13:51:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2924s Nov 06 13:51:02 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2925s Nov 06 13:51:03 2925s Nov 06 13:51:03 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2925s Nov 06 13:51:03 Given I shut down postgres0 # features/steps/basic_replication.py:29 2927s Nov 06 13:51:05 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2927s Nov 06 13:51:05 2927s Nov 06 13:51:05 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2927s Nov 06 13:51:05 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2927s Nov 06 13:51:05 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2930s Nov 06 13:51:08 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2933s Nov 06 13:51:11 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2933s Nov 06 13:51:11 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2970s Nov 06 13:51:48 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4405.XhisdOsx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4408.XTlvHkix 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4452.XgCUaoax 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4500.XNRLgEhx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4549.XIuDXrrx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4595.XmyDtIQx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4670.XfIVCzAx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4720.XeWNFrGx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4724.XTRQorKx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4814.XYTwKhTx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4915.XqTsiJrx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4918.XrRMNwTx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.4961.XhhbDIIx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5008.XIBDdqJx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5099.XOwTajTx 2972s Nov 06 13:51:50 Skipping duplicate data .coverage.autopkgtest.5106.XkBGMNLx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5109.XXjarpBx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5154.XiBvhskx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5209.XbNCETex 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5297.XEgGqmyx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5300.XMQXoUOx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5626.XVjxfwDx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5698.XfSgpLix 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.5755.XSrqasqx 2972s Nov 06 13:51:50 Skipping duplicate data .coverage.autopkgtest.6009.XxDgqKPx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6012.XukxfWPx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6065.XqlyhTPx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6126.XUTWMVsx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6216.XDkCOqPx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6311.XfmAtzIx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6314.XSolzDGx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6357.Xixupwvx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6422.XNZQwXqx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6455.XZFicMPx 2972s Nov 06 13:51:50 Skipping duplicate data .coverage.autopkgtest.6588.XFfUZrKx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6591.XjcuVwnx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6640.XhPlTPhx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6656.XUeFZkLx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6694.XKqFdGdx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6741.XlHXNKEx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6748.XBohyqox 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6785.XFIyAkxx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6828.XvhJopKx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6991.XNEDMuMx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.6994.XgCYgkMx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7001.XrBpOFCx 2972s Nov 06 13:51:50 Skipping duplicate data .coverage.autopkgtest.7137.XJtWKArx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7140.XEQpvssx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7187.XGiGdCRx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7226.XjZFUytx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7270.XIpsTbwx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7323.XWbPUVBx 2972s Nov 06 13:51:50 Skipping duplicate data .coverage.autopkgtest.7486.XslCPzGx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7489.XbsShhRx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7532.XUysMFzx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7604.XVADXgex 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7687.XNgcdslx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.7757.XPjzDppx 2972s Nov 06 13:51:50 Skipping duplicate data .coverage.autopkgtest.8097.XDFagbnx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8100.XJmkDvJx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8143.XASiTzYx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8315.XBuqFVxx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8323.XtfUDzax 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8400.XhIenQRx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8458.XmIOfsYx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8569.XajAnbRx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8698.XgAwJVcx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8838.XjhpywDx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8842.XNaIcWGx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8885.XqxpHNVx 2972s Nov 06 13:51:50 Skipping duplicate data .coverage.autopkgtest.8888.XYCumFUx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8893.XIXeGYzx 2972s Nov 06 13:51:50 Combined data file .coverage.autopkgtest.8905.XPsWeSkx 2972s Nov 06 13:51:50 Skipping duplicate data .coverage.autopkgtest.8970.XRWaYiFx 2975s Nov 06 13:51:52 Name Stmts Miss Cover 2975s Nov 06 13:51:52 ------------------------------------------------------------------------------------------------------------- 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 114 96 16% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 397 257 35% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 59 58% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 50 64% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/utils.py 77 23 70% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/api.py 770 288 63% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 83 87% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 39 88% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/ha.py 1244 308 75% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 215 74% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 31 91% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 18 86% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 132 20% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 378 64% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/six.py 504 250 50% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2975s Nov 06 13:51:52 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2975s Nov 06 13:51:52 patroni/__init__.py 13 2 85% 2975s Nov 06 13:51:52 patroni/__main__.py 199 199 0% 2975s Nov 06 13:51:52 patroni/api.py 770 770 0% 2975s Nov 06 13:51:52 patroni/async_executor.py 96 69 28% 2975s Nov 06 13:51:52 patroni/collections.py 56 15 73% 2975s Nov 06 13:51:52 patroni/config.py 371 189 49% 2975s Nov 06 13:51:52 patroni/config_generator.py 212 212 0% 2975s Nov 06 13:51:52 patroni/ctl.py 936 411 56% 2975s Nov 06 13:51:52 patroni/daemon.py 76 6 92% 2975s Nov 06 13:51:52 patroni/dcs/__init__.py 646 268 59% 2975s Nov 06 13:51:52 patroni/dcs/consul.py 485 485 0% 2975s Nov 06 13:51:52 patroni/dcs/etcd3.py 679 679 0% 2975s Nov 06 13:51:52 patroni/dcs/etcd.py 603 603 0% 2975s Nov 06 13:51:52 patroni/dcs/exhibitor.py 61 61 0% 2975s Nov 06 13:51:52 patroni/dcs/kubernetes.py 938 938 0% 2975s Nov 06 13:51:52 patroni/dcs/raft.py 319 72 77% 2975s Nov 06 13:51:52 patroni/dcs/zookeeper.py 288 288 0% 2975s Nov 06 13:51:52 patroni/dynamic_loader.py 35 7 80% 2975s Nov 06 13:51:52 patroni/exceptions.py 16 1 94% 2975s Nov 06 13:51:52 patroni/file_perm.py 43 15 65% 2975s Nov 06 13:51:52 patroni/global_config.py 81 18 78% 2975s Nov 06 13:51:52 patroni/ha.py 1244 1244 0% 2975s Nov 06 13:51:52 patroni/log.py 219 93 58% 2975s Nov 06 13:51:52 patroni/postgresql/__init__.py 821 651 21% 2975s Nov 06 13:51:52 patroni/postgresql/available_parameters/__init__.py 21 1 95% 2975s Nov 06 13:51:52 patroni/postgresql/bootstrap.py 252 222 12% 2975s Nov 06 13:51:52 patroni/postgresql/callback_executor.py 55 34 38% 2975s Nov 06 13:51:52 patroni/postgresql/cancellable.py 104 84 19% 2975s Nov 06 13:51:52 patroni/postgresql/config.py 813 698 14% 2975s Nov 06 13:51:52 patroni/postgresql/connection.py 75 50 33% 2975s Nov 06 13:51:52 patroni/postgresql/misc.py 41 29 29% 2975s Nov 06 13:51:52 patroni/postgresql/mpp/__init__.py 89 21 76% 2975s Nov 06 13:51:52 patroni/postgresql/mpp/citus.py 259 259 0% 2975s Nov 06 13:51:52 patroni/postgresql/postmaster.py 170 139 18% 2975s Nov 06 13:51:52 patroni/postgresql/rewind.py 416 416 0% 2975s Nov 06 13:51:52 patroni/postgresql/slots.py 334 285 15% 2975s Nov 06 13:51:52 patroni/postgresql/sync.py 130 96 26% 2975s Nov 06 13:51:52 patroni/postgresql/validator.py 157 52 67% 2975s Nov 06 13:51:52 patroni/psycopg.py 42 28 33% 2975s Nov 06 13:51:52 patroni/raft_controller.py 22 1 95% 2975s Nov 06 13:51:52 patroni/request.py 62 6 90% 2975s Nov 06 13:51:52 patroni/scripts/__init__.py 0 0 100% 2975s Nov 06 13:51:52 patroni/scripts/aws.py 59 59 0% 2975s Nov 06 13:51:52 patroni/scripts/barman/__init__.py 0 0 100% 2975s Nov 06 13:51:52 patroni/scripts/barman/cli.py 51 51 0% 2975s Nov 06 13:51:52 patroni/scripts/barman/config_switch.py 51 51 0% 2975s Nov 06 13:51:52 patroni/scripts/barman/recover.py 37 37 0% 2975s Nov 06 13:51:52 patroni/scripts/barman/utils.py 94 94 0% 2975s Nov 06 13:51:52 patroni/scripts/wale_restore.py 207 207 0% 2975s Nov 06 13:51:52 patroni/tags.py 38 11 71% 2975s Nov 06 13:51:52 patroni/utils.py 350 215 39% 2975s Nov 06 13:51:52 patroni/validator.py 301 215 29% 2975s Nov 06 13:51:52 patroni/version.py 1 0 100% 2975s Nov 06 13:51:52 patroni/watchdog/__init__.py 2 2 0% 2975s Nov 06 13:51:52 patroni/watchdog/base.py 203 203 0% 2975s Nov 06 13:51:52 patroni/watchdog/linux.py 135 135 0% 2975s Nov 06 13:51:52 ------------------------------------------------------------------------------------------------------------- 2975s Nov 06 13:51:52 TOTAL 44230 24971 44% 2975s Nov 06 13:51:53 12 features passed, 0 failed, 1 skipped 2975s Nov 06 13:51:53 54 scenarios passed, 0 failed, 6 skipped 2975s Nov 06 13:51:53 522 steps passed, 0 failed, 63 skipped, 0 undefined 2975s Nov 06 13:51:53 Took 9m45.990s 2975s + echo '### End 16 acceptance-raft ###' 2975s + rm -f '/tmp/pgpass?' 2975s ### End 16 acceptance-raft ### 2975s ++ id -u 2975s + '[' 1000 -eq 0 ']' 2975s autopkgtest [13:51:53]: test acceptance-raft: -----------------------] 2976s autopkgtest [13:51:54]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 2976s acceptance-raft PASS 2976s autopkgtest [13:51:54]: test test: preparing testbed 3050s autopkgtest [13:53:08]: testbed dpkg architecture: arm64 3050s autopkgtest [13:53:08]: testbed apt version: 2.9.8 3050s autopkgtest [13:53:08]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3053s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 3053s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 3053s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [177 kB] 3053s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [1652 kB] 3053s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [19.4 kB] 3053s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [242 kB] 3053s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 3053s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [1298 kB] 3053s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [19.4 kB] 3054s Fetched 3539 kB in 1s (3184 kB/s) 3054s Reading package lists... 3056s Reading package lists... 3057s Building dependency tree... 3057s Reading state information... 3057s Calculating upgrade... 3058s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3058s Reading package lists... 3058s Building dependency tree... 3058s Reading state information... 3059s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3059s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 3059s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 3059s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 3059s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 3060s Reading package lists... 3060s Reading package lists... 3060s Building dependency tree... 3060s Reading state information... 3061s Calculating upgrade... 3061s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3061s Reading package lists... 3062s Building dependency tree... 3062s Reading state information... 3062s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3066s Reading package lists... 3067s Building dependency tree... 3067s Reading state information... 3067s Starting pkgProblemResolver with broken count: 0 3067s Starting 2 pkgProblemResolver with broken count: 0 3067s Done 3068s The following additional packages will be installed: 3068s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 3068s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 3068s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 3068s libjs-underscore libpq5 patroni patroni-doc python3-aiohttp 3068s python3-aiosignal python3-async-timeout python3-boto3 python3-botocore 3068s python3-cachetools python3-cdiff python3-click python3-colorama 3068s python3-consul python3-coverage python3-dateutil python3-dnspython 3068s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 3068s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 3068s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 3068s python3-mccabe python3-mock python3-multidict python3-packaging 3068s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 3068s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 3068s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 3068s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 3068s python3-s3transfer python3-six python3-wcwidth python3-websocket 3068s python3-yarl python3-ydiff python3-zope.event python3-zope.interface 3068s sphinx-rtd-theme-common 3068s Suggested packages: 3068s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 3068s python3-tornado python3-twisted python-coverage-doc python3-trio 3068s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 3068s python-eventlet-doc python-gevent-doc python-greenlet-dev 3068s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 3068s Recommended packages: 3068s javascript-common python3-aiodns pyflakes3 3068s The following NEW packages will be installed: 3068s autopkgtest-satdep fonts-font-awesome fonts-lato libcares2 libev4t64 3068s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 3068s libjs-jquery-metadata libjs-jquery-tablesorter 3068s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 3068s patroni patroni-doc python3-aiohttp python3-aiosignal python3-async-timeout 3068s python3-boto3 python3-botocore python3-cachetools python3-cdiff 3068s python3-click python3-colorama python3-consul python3-coverage 3068s python3-dateutil python3-dnspython python3-etcd python3-eventlet 3068s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 3068s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 3068s python3-kerberos python3-kubernetes python3-mccabe python3-mock 3068s python3-multidict python3-packaging python3-pluggy python3-prettytable 3068s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 3068s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 3068s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 3068s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 3068s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 3068s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 3068s 0 upgraded, 70 newly installed, 0 to remove and 0 not upgraded. 3068s Need to get 16.9 MB/16.9 MB of archives. 3068s After this operation, 158 MB of additional disk space will be used. 3068s Get:1 /tmp/autopkgtest.QdIpNW/6-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [792 B] 3068s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 3069s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3069s Get:4 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 3069s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3069s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.33.0-1 [84.5 kB] 3069s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 3069s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 3069s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 3069s Get:10 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 3069s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3069s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 3069s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 3069s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ydiff all 1.3-1 [18.4 kB] 3069s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.3-1 [1770 B] 3069s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 3069s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 3069s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 3069s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 3069s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 3069s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 3069s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 3069s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 3069s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 3069s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 3069s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-consul all 0.7.1-2 [21.6 kB] 3069s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.0.3-0ubuntu6 [153 kB] 3069s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 3069s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 3069s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 6.4-1 [138 kB] 3070s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.2.1-1 [791 kB] 3070s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 3070s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 3070s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 3070s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-multidict arm64 6.1.0-1 [34.0 kB] 3070s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-yarl arm64 1.9.4-1 [68.2 kB] 3070s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-async-timeout all 4.0.3-1 [6412 B] 3070s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-frozenlist arm64 1.4.1-1 [45.5 kB] 3070s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiosignal all 1.3.1-1 [5172 B] 3070s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohttp arm64 3.9.5-1 [278 kB] 3070s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 3070s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1 all 0.5.1-1 [57.4 kB] 3070s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1-modules all 0.3.0-1 [80.2 kB] 3070s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyu2f all 0.1.5-3 [22.9 kB] 3070s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-responses all 0.25.3-1 [54.3 kB] 3070s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 3070s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 3070s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 3070s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-websocket all 1.7.0-1 [38.1 kB] 3070s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kubernetes all 30.1.0-1 [386 kB] 3070s Get:51 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 3070s Get:52 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni all 3.3.1-1 [264 kB] 3070s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-2 [1012 kB] 3070s Get:54 http://ftpmaster.internal/ubuntu plucky/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 3070s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 3070s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 3070s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 3070s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 3070s Get:59 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 3070s Get:60 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 3070s Get:61 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 python3-pycodestyle all 2.12.1-1 [30.1 kB] 3070s Get:62 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyflakes all 3.2.0-1 [52.8 kB] 3070s Get:63 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 python3-flake8 all 7.1.1-2 [44.1 kB] 3070s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 3070s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.1-1 [41.4 kB] 3070s Get:66 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 3071s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.2-1 [251 kB] 3071s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 3071s Get:69 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 3071s Get:70 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 3071s Fetched 16.9 MB in 3s (6355 kB/s) 3071s Selecting previously unselected package fonts-lato. 3071s (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 ... 79706 files and directories currently installed.) 3071s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3071s Unpacking fonts-lato (2.015-1) ... 3071s Selecting previously unselected package libjs-jquery. 3071s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3071s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3071s Selecting previously unselected package libjs-jquery-hotkeys. 3071s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 3071s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3071s Selecting previously unselected package fonts-font-awesome. 3072s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3072s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3072s Selecting previously unselected package libcares2:arm64. 3072s Preparing to unpack .../04-libcares2_1.33.0-1_arm64.deb ... 3072s Unpacking libcares2:arm64 (1.33.0-1) ... 3072s Selecting previously unselected package libev4t64:arm64. 3072s Preparing to unpack .../05-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 3072s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 3072s Selecting previously unselected package libjs-jquery-metadata. 3072s Preparing to unpack .../06-libjs-jquery-metadata_12-4_all.deb ... 3072s Unpacking libjs-jquery-metadata (12-4) ... 3072s Selecting previously unselected package libjs-jquery-tablesorter. 3072s Preparing to unpack .../07-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 3072s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3072s Selecting previously unselected package libjs-jquery-throttle-debounce. 3072s Preparing to unpack .../08-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 3072s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3072s Selecting previously unselected package libjs-underscore. 3072s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3072s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3072s Selecting previously unselected package libjs-sphinxdoc. 3072s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-3_all.deb ... 3072s Unpacking libjs-sphinxdoc (7.4.7-3) ... 3072s Selecting previously unselected package libpq5:arm64. 3072s Preparing to unpack .../11-libpq5_17.0-1_arm64.deb ... 3072s Unpacking libpq5:arm64 (17.0-1) ... 3072s Selecting previously unselected package python3-ydiff. 3072s Preparing to unpack .../12-python3-ydiff_1.3-1_all.deb ... 3072s Unpacking python3-ydiff (1.3-1) ... 3072s Selecting previously unselected package python3-cdiff. 3072s Preparing to unpack .../13-python3-cdiff_1.3-1_all.deb ... 3072s Unpacking python3-cdiff (1.3-1) ... 3072s Selecting previously unselected package python3-colorama. 3072s Preparing to unpack .../14-python3-colorama_0.4.6-4_all.deb ... 3072s Unpacking python3-colorama (0.4.6-4) ... 3072s Selecting previously unselected package python3-click. 3072s Preparing to unpack .../15-python3-click_8.1.7-2_all.deb ... 3072s Unpacking python3-click (8.1.7-2) ... 3072s Selecting previously unselected package python3-six. 3072s Preparing to unpack .../16-python3-six_1.16.0-7_all.deb ... 3072s Unpacking python3-six (1.16.0-7) ... 3072s Selecting previously unselected package python3-dateutil. 3072s Preparing to unpack .../17-python3-dateutil_2.9.0-2_all.deb ... 3072s Unpacking python3-dateutil (2.9.0-2) ... 3072s Selecting previously unselected package python3-wcwidth. 3072s Preparing to unpack .../18-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 3072s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 3072s Selecting previously unselected package python3-prettytable. 3072s Preparing to unpack .../19-python3-prettytable_3.10.1-1_all.deb ... 3072s Unpacking python3-prettytable (3.10.1-1) ... 3072s Selecting previously unselected package python3-psutil. 3072s Preparing to unpack .../20-python3-psutil_5.9.8-2build2_arm64.deb ... 3072s Unpacking python3-psutil (5.9.8-2build2) ... 3072s Selecting previously unselected package python3-psycopg2. 3072s Preparing to unpack .../21-python3-psycopg2_2.9.9-2_arm64.deb ... 3072s Unpacking python3-psycopg2 (2.9.9-2) ... 3072s Selecting previously unselected package python3-dnspython. 3072s Preparing to unpack .../22-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 3072s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 3072s Selecting previously unselected package python3-etcd. 3072s Preparing to unpack .../23-python3-etcd_0.4.5-4_all.deb ... 3072s Unpacking python3-etcd (0.4.5-4) ... 3072s Selecting previously unselected package python3-consul. 3072s Preparing to unpack .../24-python3-consul_0.7.1-2_all.deb ... 3072s Unpacking python3-consul (0.7.1-2) ... 3072s Selecting previously unselected package python3-greenlet. 3072s Preparing to unpack .../25-python3-greenlet_3.0.3-0ubuntu6_arm64.deb ... 3072s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 3072s Selecting previously unselected package python3-eventlet. 3072s Preparing to unpack .../26-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 3072s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 3072s Selecting previously unselected package python3-zope.event. 3072s Preparing to unpack .../27-python3-zope.event_5.0-0.1_all.deb ... 3072s Unpacking python3-zope.event (5.0-0.1) ... 3072s Selecting previously unselected package python3-zope.interface. 3072s Preparing to unpack .../28-python3-zope.interface_6.4-1_arm64.deb ... 3072s Unpacking python3-zope.interface (6.4-1) ... 3072s Selecting previously unselected package python3-gevent. 3072s Preparing to unpack .../29-python3-gevent_24.2.1-1_arm64.deb ... 3072s Unpacking python3-gevent (24.2.1-1) ... 3072s Selecting previously unselected package python3-kerberos. 3072s Preparing to unpack .../30-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 3072s Unpacking python3-kerberos (1.1.14-3.1build9) ... 3072s Selecting previously unselected package python3-pure-sasl. 3072s Preparing to unpack .../31-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 3072s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 3073s Selecting previously unselected package python3-kazoo. 3073s Preparing to unpack .../32-python3-kazoo_2.9.0-2_all.deb ... 3073s Unpacking python3-kazoo (2.9.0-2) ... 3073s Selecting previously unselected package python3-multidict. 3073s Preparing to unpack .../33-python3-multidict_6.1.0-1_arm64.deb ... 3073s Unpacking python3-multidict (6.1.0-1) ... 3073s Selecting previously unselected package python3-yarl. 3073s Preparing to unpack .../34-python3-yarl_1.9.4-1_arm64.deb ... 3073s Unpacking python3-yarl (1.9.4-1) ... 3073s Selecting previously unselected package python3-async-timeout. 3073s Preparing to unpack .../35-python3-async-timeout_4.0.3-1_all.deb ... 3073s Unpacking python3-async-timeout (4.0.3-1) ... 3073s Selecting previously unselected package python3-frozenlist. 3073s Preparing to unpack .../36-python3-frozenlist_1.4.1-1_arm64.deb ... 3073s Unpacking python3-frozenlist (1.4.1-1) ... 3073s Selecting previously unselected package python3-aiosignal. 3073s Preparing to unpack .../37-python3-aiosignal_1.3.1-1_all.deb ... 3073s Unpacking python3-aiosignal (1.3.1-1) ... 3073s Selecting previously unselected package python3-aiohttp. 3073s Preparing to unpack .../38-python3-aiohttp_3.9.5-1_arm64.deb ... 3073s Unpacking python3-aiohttp (3.9.5-1) ... 3073s Selecting previously unselected package python3-cachetools. 3073s Preparing to unpack .../39-python3-cachetools_5.3.3-1_all.deb ... 3073s Unpacking python3-cachetools (5.3.3-1) ... 3073s Selecting previously unselected package python3-pyasn1. 3073s Preparing to unpack .../40-python3-pyasn1_0.5.1-1_all.deb ... 3073s Unpacking python3-pyasn1 (0.5.1-1) ... 3073s Selecting previously unselected package python3-pyasn1-modules. 3073s Preparing to unpack .../41-python3-pyasn1-modules_0.3.0-1_all.deb ... 3073s Unpacking python3-pyasn1-modules (0.3.0-1) ... 3073s Selecting previously unselected package python3-pyu2f. 3073s Preparing to unpack .../42-python3-pyu2f_0.1.5-3_all.deb ... 3073s Unpacking python3-pyu2f (0.1.5-3) ... 3073s Selecting previously unselected package python3-responses. 3073s Preparing to unpack .../43-python3-responses_0.25.3-1_all.deb ... 3073s Unpacking python3-responses (0.25.3-1) ... 3073s Selecting previously unselected package python3-rsa. 3073s Preparing to unpack .../44-python3-rsa_4.9-2_all.deb ... 3073s Unpacking python3-rsa (4.9-2) ... 3073s Selecting previously unselected package python3-google-auth. 3073s Preparing to unpack .../45-python3-google-auth_2.28.2-3_all.deb ... 3073s Unpacking python3-google-auth (2.28.2-3) ... 3073s Selecting previously unselected package python3-requests-oauthlib. 3073s Preparing to unpack .../46-python3-requests-oauthlib_1.3.1-1_all.deb ... 3073s Unpacking python3-requests-oauthlib (1.3.1-1) ... 3073s Selecting previously unselected package python3-websocket. 3073s Preparing to unpack .../47-python3-websocket_1.7.0-1_all.deb ... 3073s Unpacking python3-websocket (1.7.0-1) ... 3073s Selecting previously unselected package python3-kubernetes. 3073s Preparing to unpack .../48-python3-kubernetes_30.1.0-1_all.deb ... 3073s Unpacking python3-kubernetes (30.1.0-1) ... 3073s Selecting previously unselected package python3-pysyncobj. 3073s Preparing to unpack .../49-python3-pysyncobj_0.3.12-1_all.deb ... 3073s Unpacking python3-pysyncobj (0.3.12-1) ... 3073s Selecting previously unselected package patroni. 3073s Preparing to unpack .../50-patroni_3.3.1-1_all.deb ... 3073s Unpacking patroni (3.3.1-1) ... 3073s Selecting previously unselected package sphinx-rtd-theme-common. 3073s Preparing to unpack .../51-sphinx-rtd-theme-common_2.0.0+dfsg-2_all.deb ... 3073s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 3073s Selecting previously unselected package patroni-doc. 3073s Preparing to unpack .../52-patroni-doc_3.3.1-1_all.deb ... 3073s Unpacking patroni-doc (3.3.1-1) ... 3073s Selecting previously unselected package python3-jmespath. 3073s Preparing to unpack .../53-python3-jmespath_1.0.1-1_all.deb ... 3073s Unpacking python3-jmespath (1.0.1-1) ... 3073s Selecting previously unselected package python3-botocore. 3073s Preparing to unpack .../54-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 3073s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 3074s Selecting previously unselected package python3-s3transfer. 3074s Preparing to unpack .../55-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 3074s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 3074s Selecting previously unselected package python3-boto3. 3074s Preparing to unpack .../56-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 3074s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3074s Selecting previously unselected package python3-coverage. 3074s Preparing to unpack .../57-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 3074s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3074s Selecting previously unselected package python3-mccabe. 3074s Preparing to unpack .../58-python3-mccabe_0.7.0-1_all.deb ... 3074s Unpacking python3-mccabe (0.7.0-1) ... 3074s Selecting previously unselected package python3-pycodestyle. 3074s Preparing to unpack .../59-python3-pycodestyle_2.12.1-1_all.deb ... 3074s Unpacking python3-pycodestyle (2.12.1-1) ... 3074s Selecting previously unselected package python3-pyflakes. 3074s Preparing to unpack .../60-python3-pyflakes_3.2.0-1_all.deb ... 3074s Unpacking python3-pyflakes (3.2.0-1) ... 3074s Selecting previously unselected package python3-flake8. 3074s Preparing to unpack .../61-python3-flake8_7.1.1-2_all.deb ... 3074s Unpacking python3-flake8 (7.1.1-2) ... 3074s Selecting previously unselected package python3-iniconfig. 3074s Preparing to unpack .../62-python3-iniconfig_1.1.1-2_all.deb ... 3074s Unpacking python3-iniconfig (1.1.1-2) ... 3074s Selecting previously unselected package python3-packaging. 3074s Preparing to unpack .../63-python3-packaging_24.1-1_all.deb ... 3074s Unpacking python3-packaging (24.1-1) ... 3074s Selecting previously unselected package python3-pluggy. 3074s Preparing to unpack .../64-python3-pluggy_1.5.0-1_all.deb ... 3074s Unpacking python3-pluggy (1.5.0-1) ... 3074s Selecting previously unselected package python3-pytest. 3074s Preparing to unpack .../65-python3-pytest_8.3.2-1_all.deb ... 3074s Unpacking python3-pytest (8.3.2-1) ... 3074s Selecting previously unselected package libjs-jquery-isonscreen. 3074s Preparing to unpack .../66-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 3074s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 3074s Selecting previously unselected package python3-pytest-cov. 3074s Preparing to unpack .../67-python3-pytest-cov_5.0.0-1_all.deb ... 3074s Unpacking python3-pytest-cov (5.0.0-1) ... 3074s Selecting previously unselected package python3-mock. 3074s Preparing to unpack .../68-python3-mock_5.1.0-1_all.deb ... 3074s Unpacking python3-mock (5.1.0-1) ... 3074s Selecting previously unselected package autopkgtest-satdep. 3074s Preparing to unpack .../69-6-autopkgtest-satdep.deb ... 3074s Unpacking autopkgtest-satdep (0) ... 3074s Setting up python3-iniconfig (1.1.1-2) ... 3075s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 3075s Setting up fonts-lato (2.015-1) ... 3075s Setting up python3-pysyncobj (0.3.12-1) ... 3075s Setting up python3-cachetools (5.3.3-1) ... 3075s Setting up python3-colorama (0.4.6-4) ... 3075s Setting up python3-zope.event (5.0-0.1) ... 3075s Setting up python3-zope.interface (6.4-1) ... 3075s Setting up python3-pyflakes (3.2.0-1) ... 3076s Setting up python3-ydiff (1.3-1) ... 3076s Setting up libpq5:arm64 (17.0-1) ... 3076s Setting up python3-kerberos (1.1.14-3.1build9) ... 3076s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3076s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3076s Setting up python3-click (8.1.7-2) ... 3076s Setting up python3-psutil (5.9.8-2build2) ... 3077s Setting up python3-multidict (6.1.0-1) ... 3077s Setting up python3-frozenlist (1.4.1-1) ... 3077s Setting up python3-aiosignal (1.3.1-1) ... 3077s Setting up python3-mock (5.1.0-1) ... 3077s Setting up python3-async-timeout (4.0.3-1) ... 3077s Setting up python3-six (1.16.0-7) ... 3077s Setting up python3-responses (0.25.3-1) ... 3077s Setting up python3-pycodestyle (2.12.1-1) ... 3078s Setting up python3-packaging (24.1-1) ... 3078s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 3078s Setting up python3-pyu2f (0.1.5-3) ... 3078s Setting up python3-jmespath (1.0.1-1) ... 3078s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 3078s Setting up libcares2:arm64 (1.33.0-1) ... 3078s Setting up python3-psycopg2 (2.9.9-2) ... 3078s Setting up python3-pluggy (1.5.0-1) ... 3079s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 3079s Setting up python3-pyasn1 (0.5.1-1) ... 3079s Setting up python3-dateutil (2.9.0-2) ... 3079s Setting up python3-mccabe (0.7.0-1) ... 3079s Setting up python3-consul (0.7.1-2) ... 3079s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3079s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3079s Setting up python3-prettytable (3.10.1-1) ... 3080s Setting up python3-yarl (1.9.4-1) ... 3080s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3080s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-2) ... 3080s Setting up python3-websocket (1.7.0-1) ... 3080s Setting up python3-requests-oauthlib (1.3.1-1) ... 3080s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3080s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 3080s Setting up python3-etcd (0.4.5-4) ... 3080s Setting up python3-pytest (8.3.2-1) ... 3081s Setting up python3-cdiff (1.3-1) ... 3081s Setting up python3-aiohttp (3.9.5-1) ... 3081s Setting up python3-gevent (24.2.1-1) ... 3081s Setting up python3-flake8 (7.1.1-2) ... 3081s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 3082s Setting up python3-kazoo (2.9.0-2) ... 3082s Setting up python3-pyasn1-modules (0.3.0-1) ... 3082s Setting up libjs-jquery-metadata (12-4) ... 3082s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 3082s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 3083s Setting up libjs-sphinxdoc (7.4.7-3) ... 3083s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3083s Setting up python3-rsa (4.9-2) ... 3083s Setting up patroni (3.3.1-1) ... 3083s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3083s Setting up patroni-doc (3.3.1-1) ... 3083s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 3083s Setting up python3-pytest-cov (5.0.0-1) ... 3084s Setting up python3-google-auth (2.28.2-3) ... 3084s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3084s Setting up python3-kubernetes (30.1.0-1) ... 3085s Setting up autopkgtest-satdep (0) ... 3085s Processing triggers for man-db (2.12.1-3) ... 3086s Processing triggers for libc-bin (2.40-1ubuntu3) ... 3091s (Reading database ... 85809 files and directories currently installed.) 3091s Removing autopkgtest-satdep (0) ... 3095s autopkgtest [13:53:53]: test test: [----------------------- 3096s running test 3096s ============================= test session starts ============================== 3096s platform linux -- Python 3.12.7, pytest-8.3.2, pluggy-1.5.0 -- /usr/bin/python3 3096s cachedir: .pytest_cache 3096s rootdir: /tmp/autopkgtest.QdIpNW/build.HgV/src 3096s plugins: cov-5.0.0, typeguard-4.3.0 3103s collecting ... collected 646 items 3103s 3103s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 3103s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 3103s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 3103s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 3103s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 3103s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 3103s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 3103s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 3103s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 3103s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 3103s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 3103s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 3103s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 3103s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 3103s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 3103s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 3103s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 3103s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 3103s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 3103s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 3103s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 3103s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 3103s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 3103s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 3104s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 3104s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 3104s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 3104s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 3104s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 3104s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 3104s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 3104s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 3104s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 3104s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 3104s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 3104s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 3104s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 3104s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 3104s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 3104s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 3104s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 3104s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 3104s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 3104s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 3104s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 3104s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 3104s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 3104s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 3104s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 3104s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 3104s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 3104s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 8%] 3104s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 3104s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 3104s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 3104s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 3104s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 3104s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 3104s tests/test_barman.py::TestMain::test_main PASSED [ 9%] 3104s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 3104s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 3104s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 3104s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 3104s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 3104s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 10%] 3104s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 3104s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 3104s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 3104s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 3104s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 3104s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 3104s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 11%] 3104s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 3104s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 3104s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 3104s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 3104s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 3104s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 12%] 3104s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 3104s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 3104s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 3104s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 3104s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 3104s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 13%] 3104s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 13%] 3104s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 3104s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 3104s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 3104s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 3104s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 3104s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 14%] 3104s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 3104s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 3104s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 3104s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 3104s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 3105s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 15%] 3105s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 15%] 3105s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 3105s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 15%] 3105s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 3105s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 3105s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 3105s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 16%] 3105s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 16%] 3105s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 3105s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 3105s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 3105s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 3105s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 17%] 3105s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 17%] 3105s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 3105s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 3105s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 3105s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 3105s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 3105s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 18%] 3105s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 18%] 3105s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 3105s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 3105s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 3105s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 3105s tests/test_consul.py::TestConsul::test_update_service PASSED [ 19%] 3105s tests/test_consul.py::TestConsul::test_watch PASSED [ 19%] 3105s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 3105s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 3105s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 3105s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 3105s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 3105s tests/test_ctl.py::TestCtl::test_failover PASSED [ 20%] 3105s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 20%] 3105s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 3105s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 3105s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 3105s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 3105s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 21%] 3105s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 21%] 3105s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 3105s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 3105s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 3105s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 3105s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 3105s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 22%] 3105s tests/test_ctl.py::TestCtl::test_members PASSED [ 22%] 3105s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 3105s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 3105s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 3105s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 3105s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 23%] 3105s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 23%] 3105s tests/test_ctl.py::TestCtl::test_reload PASSED [ 23%] 3105s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 3105s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 3105s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 3105s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 3105s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 24%] 3105s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 24%] 3105s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 3105s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 3105s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 3105s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 3105s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 25%] 3105s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 25%] 3105s tests/test_etcd.py::TestClient::test___del__ PASSED [ 25%] 3105s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 3105s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 3105s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 3105s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 26%] 3107s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 26%] 3107s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 26%] 3107s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 3107s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 3107s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 3107s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 3107s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 27%] 3107s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 27%] 3107s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 27%] 3107s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 3107s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 3107s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 3107s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 28%] 3107s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 28%] 3107s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 28%] 3107s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 3107s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 3107s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 3107s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 3107s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 29%] 3107s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 29%] 3107s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 29%] 3107s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 3107s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 3107s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 3107s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 30%] 3107s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 30%] 3107s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 30%] 3107s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 30%] 3107s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 3107s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 3107s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 3107s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 31%] 3107s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 31%] 3107s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 31%] 3107s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 3107s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 3107s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 3107s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 32%] 3107s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 32%] 3107s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 32%] 3107s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 32%] 3107s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 3107s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 3107s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 3107s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 33%] 3107s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 33%] 3107s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 33%] 3107s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 3107s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 3107s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 3107s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 34%] 3107s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 34%] 3107s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 34%] 3107s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 34%] 3107s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 3107s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 3107s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 3107s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 35%] 3107s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 35%] 3107s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 35%] 3107s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 3107s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 3107s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 3107s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 36%] 3107s tests/test_ha.py::TestHa::test_after_pause PASSED [ 36%] 3107s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 36%] 3107s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 3107s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 3107s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 3107s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 3107s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 37%] 3107s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 37%] 3107s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 3107s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 3107s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 3107s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 3107s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 38%] 3107s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 38%] 3107s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 3107s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 3107s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 3107s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 3108s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 39%] 3108s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 39%] 3108s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 3108s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 3108s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 3108s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 3108s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 3108s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 40%] 3108s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 3108s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 3108s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 3108s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 3108s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 3108s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 41%] 3108s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 3108s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 3108s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 3108s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 3108s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 3108s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 3108s tests/test_ha.py::TestHa::test_is_leader PASSED [ 42%] 3108s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 3108s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 3108s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 3108s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 3108s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 3108s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 43%] 3108s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 43%] 3108s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 3108s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 3108s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 3108s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 3108s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 3108s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 44%] 3108s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 3108s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 3108s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 3108s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 3108s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 3108s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 45%] 3108s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 3108s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 3108s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 3108s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 3108s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 3109s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 3109s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 3109s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 3109s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 3109s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 3109s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3109s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 3109s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 3109s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 3109s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 3109s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 3109s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 3109s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 3109s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 3109s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 3109s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 3109s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 3109s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 3109s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 3109s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 3109s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 3109s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 3109s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 3109s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 3109s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 3109s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 3109s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 3109s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 3109s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 3109s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 3109s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 3109s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 3109s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 3109s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 3109s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 3109s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 3109s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 3109s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 51%] 3109s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 3109s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 3109s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 3109s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 3109s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 3109s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 52%] 3109s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 3109s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 3109s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 3109s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 3109s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 3109s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 53%] 3109s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 53%] 3110s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 3110s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 3110s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 3110s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 3110s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 54%] 3110s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 54%] 3110s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 3110s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 3110s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 55%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 55%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 55%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 56%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 56%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 56%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 57%] 3110s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 57%] 3110s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 3110s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 3110s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 3111s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 3111s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 58%] 3111s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 58%] 3111s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 58%] 3111s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 3111s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 3111s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 3111s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 59%] 3111s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 59%] 3111s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 59%] 3111s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 3111s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 3111s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 60%] 3111s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 60%] 3111s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 60%] 3111s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 60%] 3111s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 60%] 3111s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 3111s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 61%] 3111s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 61%] 3111s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 61%] 3111s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 61%] 3111s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 3111s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 3111s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 62%] 3111s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 62%] 3111s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 62%] 3111s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 62%] 3111s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 62%] 3111s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 3111s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 63%] 3111s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 63%] 3111s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 63%] 3111s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 63%] 3111s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 63%] 3112s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 3112s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 3112s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 64%] 3112s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 64%] 3112s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 64%] 3112s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 64%] 3112s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 64%] 3112s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 3112s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 65%] 3112s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 65%] 3112s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 65%] 3112s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 65%] 3112s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 65%] 3112s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 3112s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 3112s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 66%] 3112s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 66%] 3112s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 66%] 3112s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 66%] 3112s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 3112s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 3112s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 67%] 3112s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 67%] 3112s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 67%] 3112s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 67%] 3112s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 3112s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 3112s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 3112s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 68%] 3112s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 68%] 3112s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 68%] 3112s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 3112s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 3112s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 3112s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 69%] 3112s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 69%] 3112s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 69%] 3112s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 3112s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 3112s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 3112s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 3112s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 70%] 3112s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 70%] 3112s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 3112s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 3112s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 3112s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 3112s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 71%] 3112s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 71%] 3112s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 3112s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 3112s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 3112s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 3112s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 3112s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 72%] 3113s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 72%] 3113s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 3113s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 3113s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 3113s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 3113s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 73%] 3113s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 73%] 3113s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 3113s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 3113s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 3113s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 3113s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 3113s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 74%] 3113s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 3113s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 3113s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 3113s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 3113s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 3113s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 75%] 3115s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 3117s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 3118s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 3118s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 3120s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 3120s tests/test_raft.py::TestRaft::test_init PASSED [ 76%] 3122s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 3122s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 3122s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 3122s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 3122s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 3122s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 3122s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 3122s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 3122s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 3122s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 3122s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 3122s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 3122s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 3122s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 3122s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 3122s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 3122s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 3122s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 3122s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 3122s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 3122s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 3122s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 3122s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 3122s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 3122s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 3122s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 80%] 3122s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 3122s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 3122s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 3122s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 3122s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 3123s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 3123s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 81%] 3123s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 3123s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 3123s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 3123s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 3123s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 3123s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 3123s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 3123s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 3123s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 3123s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 3123s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 3123s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 3123s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 3123s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 3123s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 3123s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 3123s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 3123s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 3123s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 3123s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 3123s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 3123s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 3123s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 3123s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 3123s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 3123s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 3123s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 3123s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 3123s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 3123s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 3123s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 3123s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 3123s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 3123s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 3123s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 3123s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 3123s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 3123s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 3123s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 3123s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 3123s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 3123s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 3123s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 3123s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 3123s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 3123s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 3123s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 3123s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 3123s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 3123s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 3123s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 3123s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 3123s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 3123s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 3123s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 3123s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 3123s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 3123s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 3123s patroni/api.py::patroni.api.check_access PASSED [ 93%] 3123s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 3123s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 3123s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 3123s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 3123s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 3123s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 3123s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 3123s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 3123s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 3124s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 3124s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 95%] 3124s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 3124s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 3124s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 3124s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 3124s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 3124s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 3124s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 3124s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 3124s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 3124s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 3124s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 3124s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 3124s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 97%] 3124s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 3124s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 3124s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 3124s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 3124s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 3124s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 97%] 3124s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 3124s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 3124s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 3124s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 3124s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 3124s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 3124s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 3124s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 3124s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 3124s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 3124s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 3124s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 3128s patroni/utils.py::patroni.utils.unquote PASSED [100%] 3128s 3128s ---------- coverage: platform linux, python 3.12.7-final-0 ----------- 3128s Name Stmts Miss Cover Missing 3128s ----------------------------------------------------------------------------------- 3128s patroni/__init__.py 13 0 100% 3128s patroni/__main__.py 199 1 99% 395 3128s patroni/api.py 770 0 100% 3128s patroni/async_executor.py 96 0 100% 3128s patroni/collections.py 56 3 95% 50, 99, 107 3128s patroni/config.py 371 0 100% 3128s patroni/config_generator.py 212 0 100% 3128s patroni/ctl.py 936 0 100% 3128s patroni/daemon.py 76 0 100% 3128s patroni/dcs/__init__.py 646 0 100% 3128s patroni/dcs/consul.py 485 0 100% 3128s patroni/dcs/etcd3.py 679 0 100% 3128s patroni/dcs/etcd.py 603 0 100% 3128s patroni/dcs/exhibitor.py 61 0 100% 3128s patroni/dcs/kubernetes.py 938 0 100% 3128s patroni/dcs/raft.py 319 0 100% 3128s patroni/dcs/zookeeper.py 288 0 100% 3128s patroni/dynamic_loader.py 35 0 100% 3128s patroni/exceptions.py 16 0 100% 3128s patroni/file_perm.py 43 0 100% 3128s patroni/global_config.py 81 0 100% 3128s patroni/ha.py 1244 2 99% 1925-1926 3128s patroni/log.py 219 2 99% 365-367 3128s patroni/postgresql/__init__.py 821 0 100% 3128s patroni/postgresql/available_parameters/__init__.py 21 0 100% 3128s patroni/postgresql/bootstrap.py 252 0 100% 3128s patroni/postgresql/callback_executor.py 55 0 100% 3128s patroni/postgresql/cancellable.py 104 0 100% 3128s patroni/postgresql/config.py 813 0 100% 3128s patroni/postgresql/connection.py 75 0 100% 3128s patroni/postgresql/misc.py 41 0 100% 3128s patroni/postgresql/mpp/__init__.py 89 0 100% 3128s 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 3128s patroni/postgresql/postmaster.py 170 0 100% 3128s patroni/postgresql/rewind.py 416 0 100% 3128s patroni/postgresql/slots.py 334 0 100% 3128s patroni/postgresql/sync.py 130 0 100% 3128s patroni/postgresql/validator.py 157 0 100% 3128s patroni/psycopg.py 42 16 62% 19, 25-26, 42, 44-82, 120 3128s patroni/raft_controller.py 22 0 100% 3128s patroni/request.py 62 0 100% 3128s patroni/scripts/__init__.py 0 0 100% 3128s patroni/scripts/aws.py 59 1 98% 86 3128s patroni/scripts/barman/__init__.py 0 0 100% 3128s patroni/scripts/barman/cli.py 51 1 98% 240 3128s patroni/scripts/barman/config_switch.py 51 0 100% 3128s patroni/scripts/barman/recover.py 37 0 100% 3128s patroni/scripts/barman/utils.py 94 0 100% 3128s patroni/scripts/wale_restore.py 207 1 99% 374 3128s patroni/tags.py 38 0 100% 3128s patroni/utils.py 350 0 100% 3128s patroni/validator.py 301 0 100% 3128s patroni/version.py 1 0 100% 3128s patroni/watchdog/__init__.py 2 0 100% 3128s patroni/watchdog/base.py 203 0 100% 3128s patroni/watchdog/linux.py 135 1 99% 36 3128s ----------------------------------------------------------------------------------- 3128s TOTAL 13778 150 99% 3128s Coverage XML written to file coverage.xml 3128s 3128s 3128s ======================= 632 passed, 14 skipped in 31.67s ======================= 3128s autopkgtest [13:54:26]: test test: -----------------------] 3129s autopkgtest [13:54:27]: test test: - - - - - - - - - - results - - - - - - - - - - 3129s test PASS 3129s autopkgtest [13:54:27]: @@@@@@@@@@@@@@@@@@@@ summary 3129s acceptance-etcd3 PASS 3129s acceptance-etcd-basic PASS 3129s acceptance-etcd PASS 3129s acceptance-zookeeper PASS 3129s acceptance-raft PASS 3129s test PASS 3145s virt: nova [W] Skipping flock in bos03-arm64 3145s virt: Creating nova instance adt-plucky-arm64-patroni-20241106-130217-juju-7f2275-prod-proposed-migration-environment-2-765ea779-e188-475d-b0e5-c7d670f339a5 from image adt/ubuntu-plucky-arm64-server-20241106.img (UUID bb4f5218-c1f4-4167-8452-b16bb0a4cb65)... 3145s virt: nova [W] Skipping flock in bos03-arm64 3145s virt: Creating nova instance adt-plucky-arm64-patroni-20241106-130217-juju-7f2275-prod-proposed-migration-environment-2-765ea779-e188-475d-b0e5-c7d670f339a5 from image adt/ubuntu-plucky-arm64-server-20241106.img (UUID bb4f5218-c1f4-4167-8452-b16bb0a4cb65)... 3145s virt: nova [W] Skipping flock in bos03-arm64 3145s virt: Creating nova instance adt-plucky-arm64-patroni-20241106-130217-juju-7f2275-prod-proposed-migration-environment-2-765ea779-e188-475d-b0e5-c7d670f339a5 from image adt/ubuntu-plucky-arm64-server-20241106.img (UUID bb4f5218-c1f4-4167-8452-b16bb0a4cb65)... 3145s virt: nova [W] Skipping flock in bos03-arm64 3145s virt: Creating nova instance adt-plucky-arm64-patroni-20241106-130217-juju-7f2275-prod-proposed-migration-environment-2-765ea779-e188-475d-b0e5-c7d670f339a5 from image adt/ubuntu-plucky-arm64-server-20241106.img (UUID bb4f5218-c1f4-4167-8452-b16bb0a4cb65)... 3145s virt: nova [W] Skipping flock in bos03-arm64 3145s virt: Creating nova instance adt-plucky-arm64-patroni-20241106-130217-juju-7f2275-prod-proposed-migration-environment-2-765ea779-e188-475d-b0e5-c7d670f339a5 from image adt/ubuntu-plucky-arm64-server-20241106.img (UUID bb4f5218-c1f4-4167-8452-b16bb0a4cb65)...