0s autopkgtest [15:19:07]: starting date and time: 2024-11-01 15:19:07+0000 0s autopkgtest [15:19:07]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [15:19:07]: host juju-7f2275-prod-proposed-migration-environment-14; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.nq911ey6/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:patroni,src:sphinx-rtd-theme --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=patroni/3.3.2-1 sphinx-rtd-theme/3.0.1+dfsg-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-14@bos03-arm64-13.secgroup --name adt-plucky-arm64-patroni-20241101-144423-juju-7f2275-prod-proposed-migration-environment-14-7e8bba96-7394-4792-a5e1-4fbc46d55fa4 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-14 --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/ 108s autopkgtest [15:20:55]: testbed dpkg architecture: arm64 108s autopkgtest [15:20:55]: testbed apt version: 2.9.8 108s autopkgtest [15:20:55]: @@@@@@@@@@@@@@@@@@@@ test bed setup 116s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 117s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 117s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [51.2 kB] 117s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [3104 kB] 117s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [196 kB] 117s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [250 kB] 117s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 117s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [2202 kB] 117s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [40.3 kB] 117s Fetched 5975 kB in 1s (4296 kB/s) 118s Reading package lists... 155s Reading package lists... 156s Building dependency tree... 156s Reading state information... 156s Calculating upgrade... 156s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 157s Reading package lists... 157s Building dependency tree... 157s Reading state information... 157s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 165s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 165s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 165s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 165s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 165s Reading package lists... 166s Reading package lists... 166s Building dependency tree... 166s Reading state information... 166s Calculating upgrade... 166s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 166s Reading package lists... 166s Building dependency tree... 166s Reading state information... 166s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 280s autopkgtest [15:23:47]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 287s autopkgtest [15:23:54]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 397s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 3.3.2-1 (dsc) [2851 B] 397s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 3.3.2-1 (tar) [1151 kB] 397s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe patroni 3.3.2-1 (diff) [23.0 kB] 397s gpgv: Signature made Fri Aug 30 15:06:27 2024 UTC 397s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 397s gpgv: Can't check signature: No public key 397s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.2-1.dsc: no acceptable signature found 398s autopkgtest [15:25:45]: testing package patroni version 3.3.2-1 420s autopkgtest [15:26:07]: build not needed 900s autopkgtest [15:34:07]: test acceptance-etcd3: preparing testbed 909s Reading package lists... 909s Building dependency tree... 909s Reading state information... 910s Starting pkgProblemResolver with broken count: 0 910s Starting 2 pkgProblemResolver with broken count: 0 910s Done 911s The following additional packages will be installed: 911s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 911s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 911s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 911s patroni-doc postgresql postgresql-16 postgresql-client-16 911s postgresql-client-common postgresql-common python3-behave python3-cdiff 911s python3-click python3-colorama python3-coverage python3-dateutil 911s python3-dnspython python3-etcd python3-parse python3-parse-type 911s python3-prettytable python3-psutil python3-psycopg2 python3-six 911s python3-wcwidth sphinx-rtd-theme-common ssl-cert 911s Suggested packages: 911s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 911s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 911s python3-httpcore etcd python-psycopg2-doc 911s Recommended packages: 911s javascript-common libjson-xs-perl 911s The following NEW packages will be installed: 911s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 911s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 911s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 911s patroni-doc postgresql postgresql-16 postgresql-client-16 911s postgresql-client-common postgresql-common python3-behave python3-cdiff 911s python3-click python3-colorama python3-coverage python3-dateutil 911s python3-dnspython python3-etcd python3-parse python3-parse-type 911s python3-prettytable python3-psutil python3-psycopg2 python3-six 911s python3-wcwidth sphinx-rtd-theme-common ssl-cert 911s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 911s Need to get 34.5 MB/34.5 MB of archives. 911s After this operation, 126 MB of additional disk space will be used. 911s Get:1 /tmp/autopkgtest.fgWJKE/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [764 B] 913s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 917s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 917s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 917s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 917s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 917s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.15-7 [10.5 MB] 919s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 919s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 919s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 919s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 919s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 919s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 919s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 919s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 919s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 919s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 919s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 919s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 919s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 919s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 919s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 919s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 919s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 919s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 919s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 919s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 919s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 919s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 919s Get:30 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni all 3.3.2-1 [265 kB] 919s Get:31 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 919s Get:32 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni-doc all 3.3.2-1 [497 kB] 919s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 919s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 920s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 920s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 920s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 920s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 920s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 920s Preconfiguring packages ... 921s Fetched 34.5 MB in 10s (3617 kB/s) 921s Selecting previously unselected package fonts-lato. 921s (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 ... 79705 files and directories currently installed.) 921s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 921s Unpacking fonts-lato (2.015-1) ... 921s Selecting previously unselected package libjson-perl. 921s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 921s Unpacking libjson-perl (4.10000-1) ... 921s Selecting previously unselected package postgresql-client-common. 921s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 921s Unpacking postgresql-client-common (262) ... 921s Selecting previously unselected package ssl-cert. 921s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 921s Unpacking ssl-cert (1.1.2ubuntu2) ... 921s Selecting previously unselected package postgresql-common. 921s Preparing to unpack .../04-postgresql-common_262_all.deb ... 921s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 921s Unpacking postgresql-common (262) ... 921s Selecting previously unselected package etcd-server. 921s Preparing to unpack .../05-etcd-server_3.5.15-7_arm64.deb ... 921s Unpacking etcd-server (3.5.15-7) ... 921s Selecting previously unselected package fonts-font-awesome. 921s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 921s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 922s Selecting previously unselected package libio-pty-perl. 922s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 922s Unpacking libio-pty-perl (1:1.20-1build3) ... 922s Selecting previously unselected package libipc-run-perl. 922s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 922s Unpacking libipc-run-perl (20231003.0-2) ... 922s Selecting previously unselected package libjs-jquery. 922s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 922s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 922s Selecting previously unselected package libjs-underscore. 922s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 922s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 922s Selecting previously unselected package libjs-sphinxdoc. 922s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-3_all.deb ... 922s Unpacking libjs-sphinxdoc (7.4.7-3) ... 922s Selecting previously unselected package libpq5:arm64. 922s Preparing to unpack .../12-libpq5_17.0-1_arm64.deb ... 922s Unpacking libpq5:arm64 (17.0-1) ... 922s Selecting previously unselected package libtime-duration-perl. 922s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 922s Unpacking libtime-duration-perl (1.21-2) ... 922s Selecting previously unselected package libtimedate-perl. 922s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 922s Unpacking libtimedate-perl (2.3300-2) ... 922s Selecting previously unselected package libxslt1.1:arm64. 922s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 922s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 922s Selecting previously unselected package moreutils. 922s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 922s Unpacking moreutils (0.69-1) ... 922s Selecting previously unselected package python3-cdiff. 922s Preparing to unpack .../17-python3-cdiff_1.0-1.1_all.deb ... 922s Unpacking python3-cdiff (1.0-1.1) ... 922s Selecting previously unselected package python3-colorama. 922s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 922s Unpacking python3-colorama (0.4.6-4) ... 922s Selecting previously unselected package python3-click. 922s Preparing to unpack .../19-python3-click_8.1.7-2_all.deb ... 922s Unpacking python3-click (8.1.7-2) ... 922s Selecting previously unselected package python3-six. 922s Preparing to unpack .../20-python3-six_1.16.0-7_all.deb ... 922s Unpacking python3-six (1.16.0-7) ... 922s Selecting previously unselected package python3-dateutil. 922s Preparing to unpack .../21-python3-dateutil_2.9.0-2_all.deb ... 922s Unpacking python3-dateutil (2.9.0-2) ... 922s Selecting previously unselected package python3-wcwidth. 922s Preparing to unpack .../22-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 922s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 922s Selecting previously unselected package python3-prettytable. 922s Preparing to unpack .../23-python3-prettytable_3.10.1-1_all.deb ... 922s Unpacking python3-prettytable (3.10.1-1) ... 922s Selecting previously unselected package python3-psutil. 922s Preparing to unpack .../24-python3-psutil_5.9.8-2build2_arm64.deb ... 922s Unpacking python3-psutil (5.9.8-2build2) ... 922s Selecting previously unselected package python3-psycopg2. 922s Preparing to unpack .../25-python3-psycopg2_2.9.9-2_arm64.deb ... 922s Unpacking python3-psycopg2 (2.9.9-2) ... 922s Selecting previously unselected package python3-dnspython. 922s Preparing to unpack .../26-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 922s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 922s Selecting previously unselected package python3-etcd. 922s Preparing to unpack .../27-python3-etcd_0.4.5-4_all.deb ... 922s Unpacking python3-etcd (0.4.5-4) ... 922s Selecting previously unselected package patroni. 922s Preparing to unpack .../28-patroni_3.3.2-1_all.deb ... 922s Unpacking patroni (3.3.2-1) ... 922s Selecting previously unselected package sphinx-rtd-theme-common. 922s Preparing to unpack .../29-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 922s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 922s Selecting previously unselected package patroni-doc. 922s Preparing to unpack .../30-patroni-doc_3.3.2-1_all.deb ... 922s Unpacking patroni-doc (3.3.2-1) ... 922s Selecting previously unselected package postgresql-client-16. 922s Preparing to unpack .../31-postgresql-client-16_16.4-3_arm64.deb ... 922s Unpacking postgresql-client-16 (16.4-3) ... 923s Selecting previously unselected package postgresql-16. 923s Preparing to unpack .../32-postgresql-16_16.4-3_arm64.deb ... 923s Unpacking postgresql-16 (16.4-3) ... 923s Selecting previously unselected package postgresql. 923s Preparing to unpack .../33-postgresql_16+262_all.deb ... 923s Unpacking postgresql (16+262) ... 923s Selecting previously unselected package python3-parse. 923s Preparing to unpack .../34-python3-parse_1.20.2-1_all.deb ... 923s Unpacking python3-parse (1.20.2-1) ... 923s Selecting previously unselected package python3-parse-type. 923s Preparing to unpack .../35-python3-parse-type_0.6.2-1_all.deb ... 923s Unpacking python3-parse-type (0.6.2-1) ... 923s Selecting previously unselected package python3-behave. 923s Preparing to unpack .../36-python3-behave_1.2.6-5_all.deb ... 923s Unpacking python3-behave (1.2.6-5) ... 923s Selecting previously unselected package python3-coverage. 923s Preparing to unpack .../37-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 923s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 923s Selecting previously unselected package autopkgtest-satdep. 923s Preparing to unpack .../38-1-autopkgtest-satdep.deb ... 923s Unpacking autopkgtest-satdep (0) ... 923s Setting up postgresql-client-common (262) ... 923s Setting up fonts-lato (2.015-1) ... 923s Setting up libio-pty-perl (1:1.20-1build3) ... 923s Setting up python3-colorama (0.4.6-4) ... 923s Setting up python3-cdiff (1.0-1.1) ... 923s Setting up libpq5:arm64 (17.0-1) ... 923s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 924s Setting up python3-click (8.1.7-2) ... 924s Setting up python3-psutil (5.9.8-2build2) ... 924s Setting up python3-six (1.16.0-7) ... 924s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 924s Setting up ssl-cert (1.1.2ubuntu2) ... 925s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 925s Setting up python3-psycopg2 (2.9.9-2) ... 925s Setting up libipc-run-perl (20231003.0-2) ... 925s Setting up libtime-duration-perl (1.21-2) ... 925s Setting up libtimedate-perl (2.3300-2) ... 926s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 926s Setting up python3-parse (1.20.2-1) ... 926s Setting up libjson-perl (4.10000-1) ... 926s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 926s Setting up python3-dateutil (2.9.0-2) ... 926s Setting up etcd-server (3.5.15-7) ... 926s info: Selecting UID from range 100 to 999 ... 926s 926s info: Selecting GID from range 100 to 999 ... 926s info: Adding system user `etcd' (UID 107) ... 926s info: Adding new group `etcd' (GID 111) ... 926s info: Adding new user `etcd' (UID 107) with group `etcd' ... 926s info: Creating home directory `/var/lib/etcd/' ... 927s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 927s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 927s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 927s Setting up python3-prettytable (3.10.1-1) ... 927s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 927s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 927s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 927s Setting up moreutils (0.69-1) ... 927s Setting up python3-etcd (0.4.5-4) ... 927s Setting up postgresql-client-16 (16.4-3) ... 928s 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 928s Setting up python3-parse-type (0.6.2-1) ... 928s Setting up postgresql-common (262) ... 929s 929s Creating config file /etc/postgresql-common/createcluster.conf with new version 929s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 929s Removing obsolete dictionary files: 929s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 930s Setting up libjs-sphinxdoc (7.4.7-3) ... 930s Setting up python3-behave (1.2.6-5) ... 930s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 930s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 930s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 930s """Registers a custom type that will be available to "parse" 930s Setting up patroni (3.3.2-1) ... 930s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 931s Setting up postgresql-16 (16.4-3) ... 931s Creating new PostgreSQL cluster 16/main ... 931s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 931s The files belonging to this database system will be owned by user "postgres". 931s This user must also own the server process. 931s 931s The database cluster will be initialized with locale "C.UTF-8". 931s The default database encoding has accordingly been set to "UTF8". 931s The default text search configuration will be set to "english". 931s 931s Data page checksums are disabled. 931s 931s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 931s creating subdirectories ... ok 931s selecting dynamic shared memory implementation ... posix 931s selecting default max_connections ... 100 931s selecting default shared_buffers ... 128MB 931s selecting default time zone ... Etc/UTC 931s creating configuration files ... ok 931s running bootstrap script ... ok 932s performing post-bootstrap initialization ... ok 932s syncing data to disk ... ok 935s Setting up patroni-doc (3.3.2-1) ... 935s Setting up postgresql (16+262) ... 935s Setting up autopkgtest-satdep (0) ... 935s Processing triggers for man-db (2.12.1-3) ... 935s Processing triggers for libc-bin (2.40-1ubuntu3) ... 939s (Reading database ... 82910 files and directories currently installed.) 939s Removing autopkgtest-satdep (0) ... 940s autopkgtest [15:34:47]: test acceptance-etcd3: debian/tests/acceptance etcd3 940s autopkgtest [15:34:47]: test acceptance-etcd3: [----------------------- 940s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 940s ++ ls -1r /usr/lib/postgresql/ 940s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 940s + '[' 16 == 10 -o 16 == 11 ']' 940s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 940s ### PostgreSQL 16 acceptance-etcd3 ### 940s + 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' 941s Nov 01 15:34:48 Feature: basic replication # features/basic_replication.feature:1 941s Nov 01 15:34:48 We should check that the basic bootstrapping, replication and failover works. 941s Nov 01 15:34:48 Scenario: check replication of a single table # features/basic_replication.feature:4 941s Nov 01 15:34:48 Given I start postgres0 # features/steps/basic_replication.py:8 945s Nov 01 15:34:52 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 945s Nov 01 15:34:52 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 945s Nov 01 15:34:52 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 945s Nov 01 15:34:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 945s Nov 01 15:34:52 When I start postgres1 # features/steps/basic_replication.py:8 949s Nov 01 15:34:56 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 953s Nov 01 15:35:00 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 953s Nov 01 15:35:00 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 953s Nov 01 15:35:00 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 954s Nov 01 15:35:01 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 954s Nov 01 15:35:01 954s Nov 01 15:35:01 Scenario: check restart of sync replica # features/basic_replication.feature:17 954s Nov 01 15:35:01 Given I shut down postgres2 # features/steps/basic_replication.py:29 955s Nov 01 15:35:02 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 955s Nov 01 15:35:02 When I start postgres2 # features/steps/basic_replication.py:8 958s Nov 01 15:35:05 And I shut down postgres1 # features/steps/basic_replication.py:29 961s Nov 01 15:35:08 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 962s Nov 01 15:35:09 When I start postgres1 # features/steps/basic_replication.py:8 965s Nov 01 15:35:12 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 966s Nov 01 15:35:13 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 967s Nov 01 15:35:13 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 967s Nov 01 15:35:14 967s Nov 01 15:35:14 Scenario: check stuck sync replica # features/basic_replication.feature:28 967s Nov 01 15:35:14 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 967s Nov 01 15:35:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 967s Nov 01 15:35:14 And I create table on postgres0 # features/steps/basic_replication.py:73 967s Nov 01 15:35:14 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 968s Nov 01 15:35:15 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 968s Nov 01 15:35:15 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 968s Nov 01 15:35:15 And I load data on postgres0 # features/steps/basic_replication.py:84 968s Nov 01 15:35:15 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 971s Nov 01 15:35:18 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 971s Nov 01 15:35:18 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 971s Nov 01 15:35:18 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 971s Nov 01 15:35:18 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 971s Nov 01 15:35:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 971s Nov 01 15:35:18 And I drop table on postgres0 # features/steps/basic_replication.py:73 971s Nov 01 15:35:18 971s Nov 01 15:35:18 Scenario: check multi sync replication # features/basic_replication.feature:44 971s Nov 01 15:35:18 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 972s Nov 01 15:35:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 972s Nov 01 15:35:18 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 976s Nov 01 15:35:22 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 976s Nov 01 15:35:23 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 976s Nov 01 15:35:23 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 976s Nov 01 15:35:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 976s Nov 01 15:35:23 And I shut down postgres1 # features/steps/basic_replication.py:29 979s Nov 01 15:35:26 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 980s Nov 01 15:35:27 When I start postgres1 # features/steps/basic_replication.py:8 984s Nov 01 15:35:31 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 985s Nov 01 15:35:32 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 985s Nov 01 15:35:32 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 985s Nov 01 15:35:32 985s Nov 01 15:35:32 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 985s Nov 01 15:35:32 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 987s Nov 01 15:35:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 987s Nov 01 15:35:34 When I sleep for 2 seconds # features/steps/patroni_api.py:39 989s Nov 01 15:35:36 And I shut down postgres0 # features/steps/basic_replication.py:29 990s Nov 01 15:35:37 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 992s Nov 01 15:35:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 992s Nov 01 15:35:39 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1011s Nov 01 15:35:58 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1013s Nov 01 15:36:00 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1013s Nov 01 15:36: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 1013s Nov 01 15:36:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1013s Nov 01 15:36:00 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1013s Nov 01 15:36:00 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1016s Nov 01 15:36: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 1016s Nov 01 15:36:03 1016s Nov 01 15:36:03 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1016s Nov 01 15:36:03 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1016s Nov 01 15:36:03 And I start postgres0 # features/steps/basic_replication.py:8 1016s Nov 01 15:36:03 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1024s Nov 01 15:36:11 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1024s Nov 01 15:36:11 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1024s Nov 01 15:36:11 1024s Nov 01 15:36:11 @reject-duplicate-name 1024s Nov 01 15:36:11 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1024s Nov 01 15:36:11 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1027s Nov 01 15:36:14 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 1031s Nov 01 15:36:18 1031s Nov 01 15:36:18 Feature: cascading replication # features/cascading_replication.feature:1 1031s Nov 01 15:36:18 We should check that patroni can do base backup and streaming from the replica 1031s Nov 01 15:36:18 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1031s Nov 01 15:36:18 Given I start postgres0 # features/steps/basic_replication.py:8 1035s Nov 01 15:36:22 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1035s Nov 01 15:36:22 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1039s Nov 01 15:36:26 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1041s Nov 01 15:36:27 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1041s Nov 01 15:36:28 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1041s Nov 01 15:36:28 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1041s Nov 01 15:36:28 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1045s Nov 01 15:36:32 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1046s Nov 01 15:36:33 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1051s Nov 01 15:36:38 1051s Nov 01 15:36:38 Feature: citus # features/citus.feature:1 1051s SKIP FEATURE citus: Citus extenstion isn't available 1051s Nov 01 15:36:38SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1051s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1051s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1051s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1051s 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 1051s We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1051s Nov 01 15:36:38 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1051s Nov 01 15:36:38 Given I start postgres0 in citus group 0 # None 1051s Nov 01 15:36:38 And I start postgres2 in citus group 1 # None 1051s Nov 01 15:36:38 Then postgres0 is a leader in a group 0 after 10 seconds # None 1051s Nov 01 15:36:38 And postgres2 is a leader in a group 1 after 10 seconds # None 1051s Nov 01 15:36:38 When I start postgres1 in citus group 0 # None 1051s Nov 01 15:36:38 And I start postgres3 in citus group 1 # None 1051s Nov 01 15:36:38 Then replication works from postgres0 to postgres1 after 15 seconds # None 1051s Nov 01 15:36:38 Then replication works from postgres2 to postgres3 after 15 seconds # None 1051s Nov 01 15:36:38 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1051s Nov 01 15:36:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1051s Nov 01 15:36:38 1051s Nov 01 15:36:38 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1051s Nov 01 15:36:38 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1051s Nov 01 15:36:38 Then postgres1 role is the primary after 10 seconds # None 1051s Nov 01 15:36:38 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1051s Nov 01 15:36:38 And replication works from postgres1 to postgres0 after 15 seconds # None 1051s Nov 01 15:36:38 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1051s Nov 01 15:36:38 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1051s Nov 01 15:36:38 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1051s Nov 01 15:36:38 Then postgres0 role is the primary after 10 seconds # None 1051s Nov 01 15:36:38 And replication works from postgres0 to postgres1 after 15 seconds # None 1051s Nov 01 15:36:38 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1051s Nov 01 15:36:38 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1051s Nov 01 15:36:38 1051s Nov 01 15:36:38 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1051s Nov 01 15:36:38 Given I create a distributed table on postgres0 # None 1051s Nov 01 15:36:38 And I start a thread inserting data on postgres0 # None 1051s Nov 01 15:36:38 When I run patronictl.py switchover batman --group 1 --force # None 1051s Nov 01 15:36:38 Then I receive a response returncode 0 # None 1051s Nov 01 15:36:38 And postgres3 role is the primary after 10 seconds # None 1051s Nov 01 15:36:38 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1051s Nov 01 15:36:38 And replication works from postgres3 to postgres2 after 15 seconds # None 1051s Nov 01 15:36:38 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1051s Nov 01 15:36:38 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1051s Nov 01 15:36:38 And a thread is still alive # None 1051s Nov 01 15:36:38 When I run patronictl.py switchover batman --group 1 --force # None 1051s Nov 01 15:36:38 Then I receive a response returncode 0 # None 1051s Nov 01 15:36:38 And postgres2 role is the primary after 10 seconds # None 1051s Nov 01 15:36:38 And replication works from postgres2 to postgres3 after 15 seconds # None 1051s Nov 01 15:36:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1051s Nov 01 15:36:38 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1051s Nov 01 15:36:38 And a thread is still alive # None 1051s Nov 01 15:36:38 When I stop a thread # None 1051s Nov 01 15:36:38 Then a distributed table on postgres0 has expected rows # None 1051s Nov 01 15:36:38 1051s Nov 01 15:36:38 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1051s Nov 01 15:36:38 Given I cleanup a distributed table on postgres0 # None 1051s Nov 01 15:36:38 And I start a thread inserting data on postgres0 # None 1051s Nov 01 15:36:38 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1051s Nov 01 15:36:38 Then I receive a response returncode 0 # None 1051s Nov 01 15:36:38 And postgres2 role is the primary after 10 seconds # None 1051s Nov 01 15:36:38 And replication works from postgres2 to postgres3 after 15 seconds # None 1051s Nov 01 15:36:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1051s Nov 01 15:36:38 And a thread is still alive # None 1051s Nov 01 15:36:38 When I stop a thread # None 1051s Nov 01 15:36:38 Then a distributed table on postgres0 has expected rows # None 1051s Nov 01 15:36:38 1051s Nov 01 15:36: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 1051s Nov 01 15:36:38 Given I start postgres4 in citus group 2 # None 1051s Nov 01 15:36:38 Then postgres4 is a leader in a group 2 after 10 seconds # None 1051s Nov 01 15:36:38 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1051s Nov 01 15:36:38 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1051s Nov 01 15:36:38 Then I receive a response returncode 0 # None 1051s Nov 01 15:36:38 And I receive a response output "+ttl: 20" # None 1051s Nov 01 15:36:38 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1051s Nov 01 15:36:38 When I shut down postgres4 # None 1051s Nov 01 15:36:38 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1051s Nov 01 15:36:38 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1051s Nov 01 15:36:38 Then a transaction finishes in 20 seconds # None 1051s Nov 01 15:36:38 1051s Nov 01 15:36:38 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1051s Nov 01 15:36:38 We should check that patroni can bootstrap a new cluster from a backup 1051s Nov 01 15:36:38 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1051s Nov 01 15:36:38 Given I start postgres0 # features/steps/basic_replication.py:8 1055s Nov 01 15:36:42 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1055s Nov 01 15:36:42 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1055s Nov 01 15:36:42 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1060s Nov 01 15:36:46 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1060s Nov 01 15:36:47 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1060s Nov 01 15:36:47 1060s Nov 01 15:36:47 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1060s Nov 01 15:36:47 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1060s Nov 01 15:36:47 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1060s Nov 01 15:36:47 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1066s Nov 01 15:36:53 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1066s Nov 01 15:36:53 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1076s Nov 01 15:36:59 1076s Nov 01 15:36:59 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1076s Nov 01 15:36:59 We should check the basic dcs failsafe mode functioning 1076s Nov 01 15:36:59 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1076s Nov 01 15:36:59 Given I start postgres0 # features/steps/basic_replication.py:8 1077s Nov 01 15:37:04 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1077s Nov 01 15:37:04 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1077s Nov 01 15:37:04 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 1077s Nov 01 15:37:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 1077s Nov 01 15:37:04 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1078s Nov 01 15:37:05 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1078s Nov 01 15:37:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1078s Nov 01 15:37:05 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1078s Nov 01 15:37:05 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 1078s Nov 01 15:37:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1078s Nov 01 15:37:05 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 1078s Nov 01 15:37:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1078s Nov 01 15:37:05 1078s Nov 01 15:37:05 @dcs-failsafe 1078s Nov 01 15:37:05 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1078s Nov 01 15:37:05 Given DCS is down # None 1078s Nov 01 15:37:05 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 1078s Nov 01 15:37:05 And postgres0 role is the primary after 10 seconds # None 1078s Nov 01 15:37:05 1078s Nov 01 15:37:05 @dcs-failsafe 1078s Nov 01 15:37:05 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1078s Nov 01 15:37:05 Given DCS is up # None 1078s Nov 01 15:37:05 When I do a backup of postgres0 # None 1078s Nov 01 15:37:05 And I shut down postgres0 # None 1078s Nov 01 15:37:05 When I start postgres1 in a cluster batman from backup with no_leader # None 1078s Nov 01 15:37:05 Then postgres1 role is the replica after 12 seconds # None 1078s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 1078s 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 1078s Nov 01 15:37:05 1078s Nov 01 15:37:05 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1078s Nov 01 15:37:05 Given I start postgres0 # features/steps/basic_replication.py:8 1078s Nov 01 15:37:05 And I start postgres1 # features/steps/basic_replication.py:8 1082s Nov 01 15:37:09 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1082s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 1082s 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 1082s 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 1082s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 1082s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 1082s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 1082s 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 1082s Nov 01 15:37:09 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1082s Nov 01 15:37:09 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1082s Nov 01 15:37:09 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1082s Nov 01 15:37:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1082s Nov 01 15:37:09 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1082s Nov 01 15:37:09 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1082s Nov 01 15:37:09 1082s Nov 01 15:37:09 @dcs-failsafe @slot-advance 1082s Nov 01 15:37:09 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1082s Nov 01 15:37:09 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 1082s Nov 01 15:37:09 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 1082s Nov 01 15:37:09 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 1082s Nov 01 15:37:09 And DCS is down # None 1082s Nov 01 15:37:09 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 1082s Nov 01 15:37:09 Then postgres0 role is the primary after 10 seconds # None 1082s Nov 01 15:37:09 And postgres1 role is the replica after 2 seconds # None 1082s Nov 01 15:37:09 And replication works from postgres0 to postgres1 after 10 seconds # None 1082s Nov 01 15:37:09 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 1082s Nov 01 15:37:09 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 1082s Nov 01 15:37:09 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 1082s Nov 01 15:37:09 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 1082s Nov 01 15:37:09 1082s Nov 01 15:37:09 @dcs-failsafe 1082s Nov 01 15:37:09 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1082s Nov 01 15:37:09 Given DCS is down # None 1082s Nov 01 15:37:09 And I kill postgres1 # None 1082s Nov 01 15:37:09 And I kill postmaster on postgres1 # None 1082s Nov 01 15:37:09 Then postgres0 role is the replica after 12 seconds # None 1082s Nov 01 15:37:09 1082s Nov 01 15:37:09 @dcs-failsafe 1082s Nov 01 15:37:09 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1082s Nov 01 15:37:09 Given I kill postgres0 # None 1082s Nov 01 15:37:09 And I shut down postmaster on postgres0 # None 1082s Nov 01 15:37:09 And DCS is up # None 1082s Nov 01 15:37:09 When I start postgres1 # None 1082s Nov 01 15:37:09 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 1082s Nov 01 15:37:09 And postgres1 role is the primary after 25 seconds # None 1082s Nov 01 15:37:09 1082s Nov 01 15:37:09 @dcs-failsafe 1082s Nov 01 15:37:09 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1082s Nov 01 15:37:09 Given I start postgres0 # None 1082s Nov 01 15:37:09 And I start postgres2 # None 1082s Nov 01 15:37:09 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 1082s Nov 01 15:37:09 And "members/postgres0" key in DCS has state=running after 20 seconds # None 1082s Nov 01 15:37:09 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 1082s Nov 01 15:37:09 And replication works from postgres1 to postgres0 after 10 seconds # None 1082s Nov 01 15:37:09 And replication works from postgres1 to postgres2 after 10 seconds # None 1082s Nov 01 15:37:09 1082s Nov 01 15:37:09 @dcs-failsafe @slot-advance 1082s Nov 01 15:37:09 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1082s Nov 01 15:37:09 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 1082s Nov 01 15:37:09 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 1082s Nov 01 15:37:09 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 1082s Nov 01 15:37:09 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 1082s Nov 01 15:37:09 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 1082s Nov 01 15:37:09 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 1082s Nov 01 15:37:09 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 1082s Nov 01 15:37:09 1082s Nov 01 15:37:09 @dcs-failsafe 1082s Nov 01 15:37:09 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1082s Nov 01 15:37:09 Given DCS is down # None 1082s Nov 01 15:37:09 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 1082s Nov 01 15:37:09 Then postgres1 role is the primary after 10 seconds # None 1082s Nov 01 15:37:09 And postgres0 role is the replica after 2 seconds # None 1082s Nov 01 15:37:09 And postgres2 role is the replica after 2 seconds # None 1086s Nov 01 15:37:13 1086s Nov 01 15:37:13 @dcs-failsafe @slot-advance 1086s Nov 01 15:37:13 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1086s Nov 01 15:37:13 Given replication works from postgres1 to postgres0 after 10 seconds # None 1086s Nov 01 15:37:13 And replication works from postgres1 to postgres2 after 10 seconds # None 1086s Nov 01 15:37:13 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 1086s Nov 01 15:37:13 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 1086s Nov 01 15:37:13 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 1086s Nov 01 15:37:13 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 1086s Nov 01 15:37:13 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 1086s Nov 01 15:37:13 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 1086s Nov 01 15:37:13 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 1086s Nov 01 15:37:13 1086s Nov 01 15:37:13 Feature: ignored slots # features/ignored_slots.feature:1 1086s Nov 01 15:37:13 1086s Nov 01 15:37:13 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1086s Nov 01 15:37:13 Given I start postgres1 # features/steps/basic_replication.py:8 1090s Nov 01 15:37:17 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1090s Nov 01 15:37:17 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1090s Nov 01 15:37:17 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 1090s Nov 01 15:37:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1090s Nov 01 15:37:17 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1090s Nov 01 15:37:17 When I shut down postgres1 # features/steps/basic_replication.py:29 1092s Nov 01 15:37:19 And I start postgres1 # features/steps/basic_replication.py:8 1095s Nov 01 15:37:22 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1096s Nov 01 15:37:23 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1097s Nov 01 15:37:24 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1097s Nov 01 15:37:24 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1097s Nov 01 15:37:24 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1097s Nov 01 15:37:24 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1097s Nov 01 15:37:24 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1097s Nov 01 15:37:24 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1097s Nov 01 15:37:24 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1097s Nov 01 15:37:24 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1097s Nov 01 15:37:24 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1097s Nov 01 15:37:24 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1097s Nov 01 15:37:24 When I start postgres0 # features/steps/basic_replication.py:8 1101s Nov 01 15:37:28 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1101s Nov 01 15:37:28 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1101s Nov 01 15:37:28 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1103s Nov 01 15:37:30 When I shut down postgres1 # features/steps/basic_replication.py:29 1105s Nov 01 15:37:32 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1106s Nov 01 15:37:33 When I start postgres1 # features/steps/basic_replication.py:8 1109s Nov 01 15:37:36 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1109s Nov 01 15:37:36 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1110s Nov 01 15:37:37 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1112s Nov 01 15:37:39 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1112s Nov 01 15:37:39 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1112s Nov 01 15:37:39 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1112s Nov 01 15:37:39 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1112s Nov 01 15:37:39 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1112s Nov 01 15:37:39 When I shut down postgres0 # features/steps/basic_replication.py:29 1114s Nov 01 15:37:41 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1115s Nov 01 15:37:42 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1115s Nov 01 15:37:42 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1115s Nov 01 15:37:42 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1115s Nov 01 15:37:42 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1117s Nov 01 15:37:44 1117s Nov 01 15:37:44 Feature: nostream node # features/nostream_node.feature:1 1117s Nov 01 15:37:44 1117s Nov 01 15:37:44 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1117s Nov 01 15:37:44 When I start postgres0 # features/steps/basic_replication.py:8 1121s Nov 01 15:37:48 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1125s Nov 01 15:37:52 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1125s Nov 01 15:37:52 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1130s Nov 01 15:37:57 1130s Nov 01 15:37:57 @slot-advance 1130s Nov 01 15:37:57 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1130s Nov 01 15:37:57 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 1130s Nov 01 15:37:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1130s Nov 01 15:37:57 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1132s Nov 01 15:37:59 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1133s Nov 01 15:38:00 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1137s Nov 01 15:38:04 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1144s Nov 01 15:38:11 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1144s Nov 01 15:38:11 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1151s Nov 01 15:38:17 1151s Nov 01 15:38:17 Feature: patroni api # features/patroni_api.feature:1 1151s Nov 01 15:38:17 We should check that patroni correctly responds to valid and not-valid API requests. 1151s Nov 01 15:38:17 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1151s Nov 01 15:38:17 Given I start postgres0 # features/steps/basic_replication.py:8 1155s Nov 01 15:38:22 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1155s Nov 01 15:38:22 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1155s Nov 01 15:38:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 1155s Nov 01 15:38:22 And I receive a response state running # features/steps/patroni_api.py:98 1155s Nov 01 15:38:22 And I receive a response role master # features/steps/patroni_api.py:98 1155s Nov 01 15:38:22 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1155s Nov 01 15:38:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 1155s Nov 01 15:38:22 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1155s Nov 01 15:38:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 1155s Nov 01 15:38:22 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1155s Nov 01 15:38:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 1155s Nov 01 15:38:22 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1155s Nov 01 15:38:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 1155s Nov 01 15:38:22 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1155s Nov 01 15:38:22 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1157s Nov 01 15:38:24 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1157s Nov 01 15:38:24 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1157s Nov 01 15:38:24 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1157s Nov 01 15:38:24 Then I receive a response code 412 # features/steps/patroni_api.py:98 1157s Nov 01 15:38:24 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1157s Nov 01 15:38:24 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1157s Nov 01 15:38:24 Then I receive a response code 400 # features/steps/patroni_api.py:98 1157s Nov 01 15:38:24 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1157s Nov 01 15:38:24 Then I receive a response code 400 # features/steps/patroni_api.py:98 1157s Nov 01 15:38:24 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1157s Nov 01 15:38:24 1157s Nov 01 15:38:24 Scenario: check local configuration reload # features/patroni_api.feature:32 1157s Nov 01 15:38:24 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1157s Nov 01 15:38:24 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1157s Nov 01 15:38:24 Then I receive a response code 202 # features/steps/patroni_api.py:98 1157s Nov 01 15:38:24 1157s Nov 01 15:38:24 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1157s Nov 01 15:38:24 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 1157s Nov 01 15:38:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 1157s Nov 01 15:38:24 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1160s Nov 01 15:38:27 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1160s Nov 01 15:38:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1160s Nov 01 15:38:27 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1160s Nov 01 15:38:27 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1160s Nov 01 15:38:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 1160s Nov 01 15:38:27 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1160s Nov 01 15:38:27 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1164s Nov 01 15:38:31 1164s Nov 01 15:38:31 Scenario: check the scheduled restart # features/patroni_api.feature:49 1164s Nov 01 15:38:31 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1166s Nov 01 15:38:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1166s Nov 01 15:38:33 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1166s Nov 01 15:38:33 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1166s Nov 01 15:38:33 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 1166s Nov 01 15:38:33 Then I receive a response code 202 # features/steps/patroni_api.py:98 1166s Nov 01 15:38:33 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1174s Nov 01 15:38:41 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1174s Nov 01 15:38:41 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 1174s Nov 01 15:38:41 Then I receive a response code 202 # features/steps/patroni_api.py:98 1174s Nov 01 15:38:41 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 1181s Nov 01 15:38:48 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1182s Nov 01 15:38:49 1183s Nov 01 15:38:49 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1183s Nov 01 15:38:49 Given I start postgres1 # features/steps/basic_replication.py:8 1186s Nov 01 15:38:53 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1187s Nov 01 15:38:54 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1189s Nov 01 15:38:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1189s Nov 01 15:38:56 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1189s Nov 01 15:38:56 waiting for server to shut down.... done 1189s Nov 01 15:38:56 server stopped 1189s Nov 01 15:38:56 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1189s Nov 01 15:38:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 1189s Nov 01 15:38:56 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1191s Nov 01 15:38:58 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1195s Nov 01 15:39:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1195s Nov 01 15:39:02 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1196s Nov 01 15:39:03 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1198s Nov 01 15:39:05 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1198s Nov 01 15:39:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1198s Nov 01 15:39:05 And I receive a response state running # features/steps/patroni_api.py:98 1198s Nov 01 15:39:05 And I receive a response role replica # features/steps/patroni_api.py:98 1198s Nov 01 15:39:05 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1202s Nov 01 15:39:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1202s Nov 01 15:39:09 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1202s Nov 01 15:39:09 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1203s Nov 01 15:39:10 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1204s Nov 01 15:39:11 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1206s Nov 01 15:39:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1206s Nov 01 15:39:13 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1206s Nov 01 15:39:13 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1207s Nov 01 15:39:14 1207s Nov 01 15:39:14 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1207s Nov 01 15:39:14 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 1210s Nov 01 15:39:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1210s Nov 01 15:39:17 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1210s Nov 01 15:39:17 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1211s Nov 01 15:39:18 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1218s Nov 01 15:39:25 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1218s Nov 01 15:39:25 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1218s Nov 01 15:39:25 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1218s Nov 01 15:39:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 1218s Nov 01 15:39:25 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1218s Nov 01 15:39:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1218s Nov 01 15:39:25 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1218s Nov 01 15:39:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1218s Nov 01 15:39:25 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1218s Nov 01 15:39:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 1218s Nov 01 15:39:25 1218s Nov 01 15:39:25 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1218s Nov 01 15:39:25 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1220s Nov 01 15:39:27 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1220s Nov 01 15:39:27 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1220s Nov 01 15:39:27 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1222s Nov 01 15:39:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1222s Nov 01 15:39:29 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1224s Nov 01 15:39:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1224s Nov 01 15:39:31 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1234s Nov 01 15:39:41 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1235s Nov 01 15:39:42 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1237s Nov 01 15:39:44 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1237s Nov 01 15:39:44 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1238s Nov 01 15:39:45 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1238s Nov 01 15:39:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1238s Nov 01 15:39:45 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1238s Nov 01 15:39:45 Then I receive a response code 503 # features/steps/patroni_api.py:98 1238s Nov 01 15:39:45 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1238s Nov 01 15:39:45 Then I receive a response code 503 # features/steps/patroni_api.py:98 1238s Nov 01 15:39:45 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1238s Nov 01 15:39:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1242s Nov 01 15:39:49 1242s Nov 01 15:39:49 Feature: permanent slots # features/permanent_slots.feature:1 1242s Nov 01 15:39:49 1242s Nov 01 15:39:49 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1242s Nov 01 15:39:49 Given I start postgres0 # features/steps/basic_replication.py:8 1246s Nov 01 15:39:53 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1246s Nov 01 15:39:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1246s Nov 01 15:39:53 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 1246s Nov 01 15:39:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1246s Nov 01 15:39:53 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1246s Nov 01 15:39:53 When I start postgres1 # features/steps/basic_replication.py:8 1250s Nov 01 15:39:57 And I start postgres2 # features/steps/basic_replication.py:8 1255s Nov 01 15:40:02 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1259s Nov 01 15:40:06 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1259s Nov 01 15:40:06 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1259s Nov 01 15:40:06 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1259s Nov 01 15:40:06 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1259s Nov 01 15:40:06 1259s Nov 01 15:40:06 @slot-advance 1259s Nov 01 15:40:06 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1259s Nov 01 15:40:06 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1261s Nov 01 15:40:08 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1261s Nov 01 15:40:08 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1262s Nov 01 15:40:09 1262s Nov 01 15:40:09 @slot-advance 1262s Nov 01 15:40:09 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1262s Nov 01 15:40:09 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1267s Nov 01 15:40:14 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1267s Nov 01 15:40:14 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1268s Nov 01 15:40:15 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1269s Nov 01 15:40:16 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1269s Nov 01 15:40:16 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1269s Nov 01 15:40:16 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1269s Nov 01 15:40:16 1269s Nov 01 15:40:16 @slot-advance 1269s Nov 01 15:40:16 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1269s Nov 01 15:40:16 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1269s Nov 01 15:40:16 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1269s Nov 01 15:40:16 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1269s Nov 01 15:40:16 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1269s Nov 01 15:40:16 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1269s Nov 01 15:40:16 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1269s Nov 01 15:40:16 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1269s Nov 01 15:40:16 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1269s Nov 01 15:40:16 1269s Nov 01 15:40:16 @slot-advance 1269s Nov 01 15:40:16 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1269s Nov 01 15:40:16 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1269s Nov 01 15:40:16 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1269s Nov 01 15:40:16 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1269s Nov 01 15:40:16 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1271s Nov 01 15:40:18 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1271s Nov 01 15:40:18 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1271s Nov 01 15:40:18 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1271s Nov 01 15:40:18 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1271s Nov 01 15:40:18 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1271s Nov 01 15:40:18 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1271s Nov 01 15:40:18 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1272s Nov 01 15:40:18 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1272s Nov 01 15:40:18 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1272s Nov 01 15:40:18 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1272s Nov 01 15:40:18 1272s Nov 01 15:40:18 @slot-advance 1272s Nov 01 15:40:18 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1272s Nov 01 15:40:18 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1272s Nov 01 15:40:18 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1272s Nov 01 15:40:18 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1272s Nov 01 15:40:18 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1272s Nov 01 15:40:18 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1272s Nov 01 15:40:18 1272s Nov 01 15:40:18 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1272s Nov 01 15:40:18 Given I shut down postgres3 # features/steps/basic_replication.py:29 1272s Nov 01 15:40:19 And I shut down postgres2 # features/steps/basic_replication.py:29 1273s Nov 01 15:40:20 And I shut down postgres0 # features/steps/basic_replication.py:29 1275s Nov 01 15:40:22 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1275s Nov 01 15:40:22 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1275s Nov 01 15:40:22 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1278s Nov 01 15:40:25 1278s Nov 01 15:40:25 Feature: priority replication # features/priority_failover.feature:1 1278s Nov 01 15:40:25 We should check that we can give nodes priority during failover 1278s Nov 01 15:40:25 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1278s Nov 01 15:40:25 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1282s Nov 01 15:40:29 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1286s Nov 01 15:40:33 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1287s Nov 01 15:40:34 When I shut down postgres0 # features/steps/basic_replication.py:29 1289s Nov 01 15:40:36 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 1291s Nov 01 15:40:38 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1291s Nov 01 15:40:38 When I start postgres0 # features/steps/basic_replication.py:8 1294s Nov 01 15:40:41 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1296s Nov 01 15:40:43 1296s Nov 01 15:40:43 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1296s Nov 01 15:40:43 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1300s Nov 01 15:40:47 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1304s Nov 01 15:40:51 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1305s Nov 01 15:40:52 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1306s Nov 01 15:40:53 When I shut down postgres0 # features/steps/basic_replication.py:29 1308s Nov 01 15:40:55 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1309s Nov 01 15:40:56 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 1309s Nov 01 15:40:56 1309s Nov 01 15:40:56 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1309s Nov 01 15:40:56 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1309s Nov 01 15:40:56 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1309s Nov 01 15:40:56 Then I receive a response code 202 # features/steps/patroni_api.py:98 1309s Nov 01 15:40:56 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 1312s Nov 01 15:40:59 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1313s Nov 01 15:41:00 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1313s Nov 01 15:41:00 Then I receive a response code 412 # features/steps/patroni_api.py:98 1313s Nov 01 15:41:00 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1313s Nov 01 15:41:00 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1313s Nov 01 15:41:00 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1313s Nov 01 15:41:00 Then I receive a response code 202 # features/steps/patroni_api.py:98 1313s Nov 01 15:41:00 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 1314s Nov 01 15:41:01 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1315s Nov 01 15:41:02 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1318s Nov 01 15:41:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1318s Nov 01 15:41:05 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1324s Nov 01 15:41:11 1324s Nov 01 15:41:11 Feature: recovery # features/recovery.feature:1 1324s Nov 01 15:41:11 We want to check that crashed postgres is started back 1324s Nov 01 15:41:11 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1324s Nov 01 15:41:11 Given I start postgres0 # features/steps/basic_replication.py:8 1328s Nov 01 15:41:15 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1328s Nov 01 15:41:15 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1328s Nov 01 15:41:15 When I start postgres1 # features/steps/basic_replication.py:8 1332s Nov 01 15:41:19 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1332s Nov 01 15:41:19 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1333s Nov 01 15:41:20 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1333s Nov 01 15:41:20 waiting for server to shut down.... done 1333s Nov 01 15:41:20 server stopped 1333s Nov 01 15:41:20 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1336s Nov 01 15:41:23 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1336s Nov 01 15:41:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 1336s Nov 01 15:41:23 And I receive a response role master # features/steps/patroni_api.py:98 1336s Nov 01 15:41:23 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1336s Nov 01 15:41:23 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1337s Nov 01 15:41:24 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1337s Nov 01 15:41:24 1337s Nov 01 15:41:24 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1337s Nov 01 15:41:24 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 1337s Nov 01 15:41:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 1337s Nov 01 15:41:24 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1337s Nov 01 15:41:24 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1337s Nov 01 15:41:24 waiting for server to shut down.... done 1337s Nov 01 15:41:24 server stopped 1337s Nov 01 15:41:24 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1342s Nov 01 15:41:29 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1346s Nov 01 15:41:33 1346s Nov 01 15:41:33 Feature: standby cluster # features/standby_cluster.feature:1 1346s Nov 01 15:41:33 1346s Nov 01 15:41:33 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1346s Nov 01 15:41:33 Given I start postgres1 # features/steps/basic_replication.py:8 1350s Nov 01 15:41:37 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1350s Nov 01 15:41:37 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1350s Nov 01 15:41:37 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 1350s Nov 01 15:41:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1350s Nov 01 15:41:37 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1351s Nov 01 15:41:37 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1354s Nov 01 15:41:40 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 1354s Nov 01 15:41:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1354s Nov 01 15:41:41 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1354s Nov 01 15:41:41 When I start postgres0 # features/steps/basic_replication.py:8 1358s Nov 01 15:41:45 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1358s Nov 01 15:41:45 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1359s Nov 01 15:41:46 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1359s Nov 01 15:41:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1359s Nov 01 15:41:46 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1359s Nov 01 15:41:46 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1360s Nov 01 15:41:47 1360s Nov 01 15:41:47 @slot-advance 1360s Nov 01 15:41:47 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1360s Nov 01 15:41:47 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1363s Nov 01 15:41:50 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1369s Nov 01 15:41:56 1369s Nov 01 15:41:56 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1369s Nov 01 15:41:56 When I shut down postgres1 # features/steps/basic_replication.py:29 1371s Nov 01 15:41:58 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1371s Nov 01 15:41:58 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1372s Nov 01 15:41:59 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1372s Nov 01 15:41:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1372s Nov 01 15:41:59 1372s Nov 01 15:41:59 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1372s Nov 01 15:41:59 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1376s Nov 01 15:42:03 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1376s Nov 01 15:42:03 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1376s Nov 01 15:42:03 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1376s Nov 01 15:42:03 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1376s Nov 01 15:42:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1376s Nov 01 15:42:03 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1376s Nov 01 15:42:03 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1379s Nov 01 15:42:06 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1379s Nov 01 15:42:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 1379s Nov 01 15:42:06 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1379s Nov 01 15:42:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 1379s Nov 01 15:42:06 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1379s Nov 01 15:42:06 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1379s Nov 01 15:42:06 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1383s Nov 01 15:42:10 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1383s Nov 01 15:42:10 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1383s Nov 01 15:42:10 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1383s Nov 01 15:42:10 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1383s Nov 01 15:42:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 1383s Nov 01 15:42:10 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1383s Nov 01 15:42:10 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1383s Nov 01 15:42:10 1383s Nov 01 15:42:10 Scenario: check switchover # features/standby_cluster.feature:57 1383s Nov 01 15:42:10 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1387s Nov 01 15:42:14 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1387s Nov 01 15:42:14 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1389s Nov 01 15:42:16 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 1389s Nov 01 15:42:16 1389s Nov 01 15:42:16 Scenario: check failover # features/standby_cluster.feature:63 1389s Nov 01 15:42:16 When I kill postgres2 # features/steps/basic_replication.py:34 1390s Nov 01 15:42:17 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1390s Nov 01 15:42:17 waiting for server to shut down.... done 1390s Nov 01 15:42:17 server stopped 1390s Nov 01 15:42:17 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1409s Nov 01 15:42:36 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1409s Nov 01 15:42:36 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1409s Nov 01 15:42:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 1409s Nov 01 15:42:36 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1409s Nov 01 15:42:36 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1410s Nov 01 15:42:37 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 1415s Nov 01 15:42:42 1415s Nov 01 15:42:42 Feature: watchdog # features/watchdog.feature:1 1415s Nov 01 15:42:42 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1415s Nov 01 15:42:42 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1415s Nov 01 15:42:42 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1419s Nov 01 15:42:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1419s Nov 01 15:42:46 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1419s Nov 01 15:42:46 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1419s Nov 01 15:42:46 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1419s Nov 01 15:42:46 1419s Nov 01 15:42:46 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1419s Nov 01 15:42:46 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1421s Nov 01 15:42:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1421s Nov 01 15:42:48 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1421s Nov 01 15:42:48 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1425s Nov 01 15:42:52 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1425s Nov 01 15:42:52 1425s Nov 01 15:42:52 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1425s Nov 01 15:42:52 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1427s Nov 01 15:42:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1427s Nov 01 15:42:54 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1429s Nov 01 15:42:56 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1429s Nov 01 15:42:56 1429s Nov 01 15:42:56 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1429s Nov 01 15:42:56 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1429s Nov 01 15:42:56 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1431s Nov 01 15:42:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1431s Nov 01 15:42:57 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1432s Nov 01 15:42:58 1432s Nov 01 15:42:58 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1432s Nov 01 15:42:58 Given I shut down postgres0 # features/steps/basic_replication.py:29 1434s Nov 01 15:43:00 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1434s Nov 01 15:43:00 1434s Nov 01 15:43:00 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1434s Nov 01 15:43:00 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1434s Nov 01 15:43:00 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1437s Nov 01 15:43:04 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1439s Nov 01 15:43:06 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1439s Nov 01 15:43:06 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1466s Nov 01 15:43:33 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.4764.XZEljHyx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.4808.XgTfbSlx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.4855.XbQWMtLx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.4911.XFKJEjlx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.4957.XXsXqZEx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5028.XHGiZIYx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5079.XgQfKnex 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5082.XacWjiex 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5170.XHwuxcex 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5267.XxYAfwjx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5275.XYNzIzcx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5318.XrAvLgQx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5373.XySiYAJx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5488.XRKmkjpx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5535.XcTrlsOx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5590.XRxFyEGx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5677.XYHFXqjx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5726.XiYzmVKx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5823.XqHFFIqx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5874.XQtOKjDx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.5936.XdLQYxjx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6027.XBBHHaJx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6124.XKoNSKgx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6167.XprfIxvx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6230.XwWNbAOx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6264.XiSaGNVx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6442.XwWCRKLx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6492.XbniOEJx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6508.XrVATjsx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6546.XfxapXux 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6595.XMGhsGPx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6600.XxRQPalx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6635.XhQWbfkx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6677.XwjZsdCx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6841.XafxecMx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6843.XapEvetx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6849.XDXGNmCx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.6986.XCvnCMCx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7031.XAhkqtOx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7080.XDiEPQSx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7133.XpjhScKx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7187.XtAsbMpx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7382.XxAQqJsx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7425.XjyhbOwx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7498.XspTNoAx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7577.XzatyFQx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7651.XXUVpGzx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.7997.XdRhbDOx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8041.XbHxoJzx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8180.XXIJVFEx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8243.XlAXchBx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8309.XUoqvjNx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8407.XWkXPjCx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8523.XLdyqZHx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8656.XXBGBkGx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8699.XLIIxhax 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8701.XeKxQuDx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8704.XSIbIqNx 1466s Nov 01 15:43:33 Combined data file .coverage.autopkgtest.8715.XbgSdVhx 1469s Nov 01 15:43:36 Name Stmts Miss Cover 1469s Nov 01 15:43:36 ------------------------------------------------------------------------------------------------------------- 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/idna/core.py 293 258 12% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/__main__.py 199 62 69% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/api.py 770 286 63% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 78 88% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 253 58% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/ha.py 1246 361 71% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 166 80% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 816 216 74% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 338 31 91% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/utils.py 350 104 70% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/six.py 504 250 50% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/response.py 562 280 50% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1469s Nov 01 15:43:36 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1469s Nov 01 15:43:36 patroni/__init__.py 13 2 85% 1469s Nov 01 15:43:36 patroni/__main__.py 199 199 0% 1469s Nov 01 15:43:36 patroni/api.py 770 770 0% 1469s Nov 01 15:43:36 patroni/async_executor.py 96 69 28% 1469s Nov 01 15:43:36 patroni/collections.py 56 15 73% 1469s Nov 01 15:43:36 patroni/config.py 371 196 47% 1469s Nov 01 15:43:36 patroni/config_generator.py 212 212 0% 1469s Nov 01 15:43:36 patroni/ctl.py 936 411 56% 1469s Nov 01 15:43:36 patroni/daemon.py 76 76 0% 1469s Nov 01 15:43:36 patroni/dcs/__init__.py 646 269 58% 1469s Nov 01 15:43:36 patroni/dcs/consul.py 485 485 0% 1469s Nov 01 15:43:36 patroni/dcs/etcd3.py 679 346 49% 1469s Nov 01 15:43:36 patroni/dcs/etcd.py 603 277 54% 1469s Nov 01 15:43:36 patroni/dcs/exhibitor.py 61 61 0% 1469s Nov 01 15:43:36 patroni/dcs/kubernetes.py 938 938 0% 1469s Nov 01 15:43:36 patroni/dcs/raft.py 319 319 0% 1469s Nov 01 15:43:36 patroni/dcs/zookeeper.py 288 288 0% 1469s Nov 01 15:43:36 patroni/dynamic_loader.py 35 7 80% 1469s Nov 01 15:43:36 patroni/exceptions.py 16 1 94% 1469s Nov 01 15:43:36 patroni/file_perm.py 43 15 65% 1469s Nov 01 15:43:36 patroni/global_config.py 81 18 78% 1469s Nov 01 15:43:36 patroni/ha.py 1246 1246 0% 1469s Nov 01 15:43:36 patroni/log.py 219 173 21% 1469s Nov 01 15:43:36 patroni/postgresql/__init__.py 821 651 21% 1469s Nov 01 15:43:36 patroni/postgresql/available_parameters/__init__.py 21 1 95% 1469s Nov 01 15:43:36 patroni/postgresql/bootstrap.py 252 222 12% 1469s Nov 01 15:43:36 patroni/postgresql/callback_executor.py 55 34 38% 1469s Nov 01 15:43:36 patroni/postgresql/cancellable.py 104 84 19% 1469s Nov 01 15:43:36 patroni/postgresql/config.py 816 699 14% 1469s Nov 01 15:43:36 patroni/postgresql/connection.py 75 50 33% 1469s Nov 01 15:43:36 patroni/postgresql/misc.py 41 29 29% 1469s Nov 01 15:43:36 patroni/postgresql/mpp/__init__.py 89 21 76% 1469s Nov 01 15:43:36 patroni/postgresql/mpp/citus.py 259 259 0% 1469s Nov 01 15:43:36 patroni/postgresql/postmaster.py 170 139 18% 1469s Nov 01 15:43:36 patroni/postgresql/rewind.py 416 416 0% 1469s Nov 01 15:43:36 patroni/postgresql/slots.py 338 289 14% 1469s Nov 01 15:43:36 patroni/postgresql/sync.py 130 96 26% 1469s Nov 01 15:43:36 patroni/postgresql/validator.py 157 52 67% 1469s Nov 01 15:43:36 patroni/psycopg.py 42 28 33% 1469s Nov 01 15:43:36 patroni/raft_controller.py 22 22 0% 1469s Nov 01 15:43:36 patroni/request.py 62 6 90% 1469s Nov 01 15:43:36 patroni/scripts/__init__.py 0 0 100% 1469s Nov 01 15:43:36 patroni/scripts/aws.py 59 59 0% 1469s Nov 01 15:43:36 patroni/scripts/barman/__init__.py 0 0 100% 1469s Nov 01 15:43:36 patroni/scripts/barman/cli.py 51 51 0% 1469s Nov 01 15:43:36 patroni/scripts/barman/config_switch.py 51 51 0% 1469s Nov 01 15:43:36 patroni/scripts/barman/recover.py 37 37 0% 1469s Nov 01 15:43:36 patroni/scripts/barman/utils.py 94 94 0% 1469s Nov 01 15:43:36 patroni/scripts/wale_restore.py 207 207 0% 1469s Nov 01 15:43:36 patroni/tags.py 38 11 71% 1469s Nov 01 15:43:36 patroni/utils.py 350 177 49% 1469s Nov 01 15:43:36 patroni/validator.py 301 215 29% 1469s Nov 01 15:43:36 patroni/version.py 1 0 100% 1469s Nov 01 15:43:36 patroni/watchdog/__init__.py 2 2 0% 1469s Nov 01 15:43:36 patroni/watchdog/base.py 203 203 0% 1469s Nov 01 15:43:36 patroni/watchdog/linux.py 135 135 0% 1469s Nov 01 15:43:36 ------------------------------------------------------------------------------------------------------------- 1469s Nov 01 15:43:36 TOTAL 53758 32244 40% 1469s Nov 01 15:43:36 12 features passed, 0 failed, 1 skipped 1469s Nov 01 15:43:36 46 scenarios passed, 0 failed, 14 skipped 1469s Nov 01 15:43:36 466 steps passed, 0 failed, 119 skipped, 0 undefined 1469s Nov 01 15:43:36 Took 7m56.702s 1469s ### End 16 acceptance-etcd3 ### 1469s + echo '### End 16 acceptance-etcd3 ###' 1469s + rm -f '/tmp/pgpass?' 1469s ++ id -u 1469s + '[' 1000 -eq 0 ']' 1469s autopkgtest [15:43:36]: test acceptance-etcd3: -----------------------] 1470s autopkgtest [15:43:37]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 1470s acceptance-etcd3 PASS 1470s autopkgtest [15:43:37]: test acceptance-etcd-basic: preparing testbed 1541s autopkgtest [15:44:48]: testbed dpkg architecture: arm64 1541s autopkgtest [15:44:48]: testbed apt version: 2.9.8 1541s autopkgtest [15:44:48]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1542s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1542s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [51.2 kB] 1542s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [3104 kB] 1543s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [196 kB] 1543s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 1543s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [250 kB] 1543s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 1543s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [2202 kB] 1543s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [40.3 kB] 1543s Fetched 5975 kB in 1s (4696 kB/s) 1543s Reading package lists... 1546s Reading package lists... 1547s Building dependency tree... 1547s Reading state information... 1548s Calculating upgrade... 1550s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1550s Reading package lists... 1550s Building dependency tree... 1550s Reading state information... 1552s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1552s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 1552s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1552s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1552s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1554s Reading package lists... 1554s Reading package lists... 1554s Building dependency tree... 1554s Reading state information... 1555s Calculating upgrade... 1556s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1556s Reading package lists... 1556s Building dependency tree... 1556s Reading state information... 1557s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1561s Reading package lists... 1562s Building dependency tree... 1562s Reading state information... 1562s Starting pkgProblemResolver with broken count: 0 1562s Starting 2 pkgProblemResolver with broken count: 0 1562s Done 1563s The following additional packages will be installed: 1563s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 1563s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 1563s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 1563s patroni-doc postgresql postgresql-16 postgresql-client-16 1563s postgresql-client-common postgresql-common python3-behave python3-cdiff 1563s python3-click python3-colorama python3-coverage python3-dateutil 1563s python3-dnspython python3-etcd python3-parse python3-parse-type 1563s python3-prettytable python3-psutil python3-psycopg2 python3-six 1563s python3-wcwidth sphinx-rtd-theme-common ssl-cert 1563s Suggested packages: 1563s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 1563s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 1563s python3-httpcore etcd python-psycopg2-doc 1563s Recommended packages: 1563s javascript-common libjson-xs-perl 1563s The following NEW packages will be installed: 1563s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 1563s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 1563s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 1563s patroni-doc postgresql postgresql-16 postgresql-client-16 1563s postgresql-client-common postgresql-common python3-behave python3-cdiff 1563s python3-click python3-colorama python3-coverage python3-dateutil 1563s python3-dnspython python3-etcd python3-parse python3-parse-type 1563s python3-prettytable python3-psutil python3-psycopg2 python3-six 1563s python3-wcwidth sphinx-rtd-theme-common ssl-cert 1563s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 1563s Need to get 34.5 MB/34.5 MB of archives. 1563s After this operation, 126 MB of additional disk space will be used. 1563s Get:1 /tmp/autopkgtest.fgWJKE/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [772 B] 1563s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 1564s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1564s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 1564s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 1564s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 1564s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 etcd-server arm64 3.5.15-7 [10.5 MB] 1564s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1564s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 1564s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1564s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1564s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1564s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 1564s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 1564s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1564s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1564s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 1564s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1564s Get:19 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 1564s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 1564s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 1564s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 1564s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 1564s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1564s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 1564s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 1564s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 1564s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1564s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 1564s Get:30 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni all 3.3.2-1 [265 kB] 1564s Get:31 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 1565s Get:32 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni-doc all 3.3.2-1 [497 kB] 1565s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 1565s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 1565s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 1565s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 1565s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 1565s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 1565s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 1567s Preconfiguring packages ... 1567s Fetched 34.5 MB in 2s (15.3 MB/s) 1567s Selecting previously unselected package fonts-lato. 1567s (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 ... 79705 files and directories currently installed.) 1567s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 1567s Unpacking fonts-lato (2.015-1) ... 1567s Selecting previously unselected package libjson-perl. 1567s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 1567s Unpacking libjson-perl (4.10000-1) ... 1567s Selecting previously unselected package postgresql-client-common. 1567s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 1567s Unpacking postgresql-client-common (262) ... 1567s Selecting previously unselected package ssl-cert. 1567s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 1567s Unpacking ssl-cert (1.1.2ubuntu2) ... 1567s Selecting previously unselected package postgresql-common. 1567s Preparing to unpack .../04-postgresql-common_262_all.deb ... 1567s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1567s Unpacking postgresql-common (262) ... 1567s Selecting previously unselected package etcd-server. 1567s Preparing to unpack .../05-etcd-server_3.5.15-7_arm64.deb ... 1567s Unpacking etcd-server (3.5.15-7) ... 1567s Selecting previously unselected package fonts-font-awesome. 1567s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1567s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1567s Selecting previously unselected package libio-pty-perl. 1567s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 1567s Unpacking libio-pty-perl (1:1.20-1build3) ... 1567s Selecting previously unselected package libipc-run-perl. 1567s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 1567s Unpacking libipc-run-perl (20231003.0-2) ... 1567s Selecting previously unselected package libjs-jquery. 1567s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1567s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1567s Selecting previously unselected package libjs-underscore. 1567s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1567s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1567s Selecting previously unselected package libjs-sphinxdoc. 1567s Preparing to unpack .../11-libjs-sphinxdoc_7.4.7-3_all.deb ... 1567s Unpacking libjs-sphinxdoc (7.4.7-3) ... 1567s Selecting previously unselected package libpq5:arm64. 1567s Preparing to unpack .../12-libpq5_17.0-1_arm64.deb ... 1567s Unpacking libpq5:arm64 (17.0-1) ... 1567s Selecting previously unselected package libtime-duration-perl. 1567s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 1567s Unpacking libtime-duration-perl (1.21-2) ... 1567s Selecting previously unselected package libtimedate-perl. 1567s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 1567s Unpacking libtimedate-perl (2.3300-2) ... 1567s Selecting previously unselected package libxslt1.1:arm64. 1567s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 1567s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 1567s Selecting previously unselected package moreutils. 1567s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 1567s Unpacking moreutils (0.69-1) ... 1568s Selecting previously unselected package python3-cdiff. 1568s Preparing to unpack .../17-python3-cdiff_1.0-1.1_all.deb ... 1568s Unpacking python3-cdiff (1.0-1.1) ... 1568s Selecting previously unselected package python3-colorama. 1568s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 1568s Unpacking python3-colorama (0.4.6-4) ... 1568s Selecting previously unselected package python3-click. 1568s Preparing to unpack .../19-python3-click_8.1.7-2_all.deb ... 1568s Unpacking python3-click (8.1.7-2) ... 1568s Selecting previously unselected package python3-six. 1568s Preparing to unpack .../20-python3-six_1.16.0-7_all.deb ... 1568s Unpacking python3-six (1.16.0-7) ... 1568s Selecting previously unselected package python3-dateutil. 1568s Preparing to unpack .../21-python3-dateutil_2.9.0-2_all.deb ... 1568s Unpacking python3-dateutil (2.9.0-2) ... 1568s Selecting previously unselected package python3-wcwidth. 1568s Preparing to unpack .../22-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1568s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1568s Selecting previously unselected package python3-prettytable. 1568s Preparing to unpack .../23-python3-prettytable_3.10.1-1_all.deb ... 1568s Unpacking python3-prettytable (3.10.1-1) ... 1568s Selecting previously unselected package python3-psutil. 1568s Preparing to unpack .../24-python3-psutil_5.9.8-2build2_arm64.deb ... 1568s Unpacking python3-psutil (5.9.8-2build2) ... 1568s Selecting previously unselected package python3-psycopg2. 1568s Preparing to unpack .../25-python3-psycopg2_2.9.9-2_arm64.deb ... 1568s Unpacking python3-psycopg2 (2.9.9-2) ... 1568s Selecting previously unselected package python3-dnspython. 1568s Preparing to unpack .../26-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1568s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1568s Selecting previously unselected package python3-etcd. 1568s Preparing to unpack .../27-python3-etcd_0.4.5-4_all.deb ... 1568s Unpacking python3-etcd (0.4.5-4) ... 1568s Selecting previously unselected package patroni. 1568s Preparing to unpack .../28-patroni_3.3.2-1_all.deb ... 1568s Unpacking patroni (3.3.2-1) ... 1568s Selecting previously unselected package sphinx-rtd-theme-common. 1568s Preparing to unpack .../29-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 1568s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1568s Selecting previously unselected package patroni-doc. 1568s Preparing to unpack .../30-patroni-doc_3.3.2-1_all.deb ... 1568s Unpacking patroni-doc (3.3.2-1) ... 1568s Selecting previously unselected package postgresql-client-16. 1568s Preparing to unpack .../31-postgresql-client-16_16.4-3_arm64.deb ... 1568s Unpacking postgresql-client-16 (16.4-3) ... 1568s Selecting previously unselected package postgresql-16. 1568s Preparing to unpack .../32-postgresql-16_16.4-3_arm64.deb ... 1568s Unpacking postgresql-16 (16.4-3) ... 1569s Selecting previously unselected package postgresql. 1569s Preparing to unpack .../33-postgresql_16+262_all.deb ... 1569s Unpacking postgresql (16+262) ... 1569s Selecting previously unselected package python3-parse. 1569s Preparing to unpack .../34-python3-parse_1.20.2-1_all.deb ... 1569s Unpacking python3-parse (1.20.2-1) ... 1569s Selecting previously unselected package python3-parse-type. 1569s Preparing to unpack .../35-python3-parse-type_0.6.2-1_all.deb ... 1569s Unpacking python3-parse-type (0.6.2-1) ... 1569s Selecting previously unselected package python3-behave. 1569s Preparing to unpack .../36-python3-behave_1.2.6-5_all.deb ... 1569s Unpacking python3-behave (1.2.6-5) ... 1569s Selecting previously unselected package python3-coverage. 1569s Preparing to unpack .../37-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 1569s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1569s Selecting previously unselected package autopkgtest-satdep. 1569s Preparing to unpack .../38-2-autopkgtest-satdep.deb ... 1569s Unpacking autopkgtest-satdep (0) ... 1569s Setting up postgresql-client-common (262) ... 1569s Setting up fonts-lato (2.015-1) ... 1569s Setting up libio-pty-perl (1:1.20-1build3) ... 1569s Setting up python3-colorama (0.4.6-4) ... 1570s Setting up python3-cdiff (1.0-1.1) ... 1570s Setting up libpq5:arm64 (17.0-1) ... 1570s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1570s Setting up python3-click (8.1.7-2) ... 1570s Setting up python3-psutil (5.9.8-2build2) ... 1571s Setting up python3-six (1.16.0-7) ... 1571s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1571s Setting up ssl-cert (1.1.2ubuntu2) ... 1572s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1572s Setting up python3-psycopg2 (2.9.9-2) ... 1573s Setting up libipc-run-perl (20231003.0-2) ... 1573s Setting up libtime-duration-perl (1.21-2) ... 1573s Setting up libtimedate-perl (2.3300-2) ... 1573s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1573s Setting up python3-parse (1.20.2-1) ... 1573s Setting up libjson-perl (4.10000-1) ... 1573s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 1573s Setting up python3-dateutil (2.9.0-2) ... 1573s Setting up etcd-server (3.5.15-7) ... 1573s info: Selecting UID from range 100 to 999 ... 1573s 1573s info: Selecting GID from range 100 to 999 ... 1573s info: Adding system user `etcd' (UID 107) ... 1573s info: Adding new group `etcd' (GID 111) ... 1573s info: Adding new user `etcd' (UID 107) with group `etcd' ... 1573s info: Creating home directory `/var/lib/etcd/' ... 1574s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 1574s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 1574s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1574s Setting up python3-prettytable (3.10.1-1) ... 1575s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1575s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 1575s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1575s Setting up moreutils (0.69-1) ... 1575s Setting up python3-etcd (0.4.5-4) ... 1575s Setting up postgresql-client-16 (16.4-3) ... 1575s 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 1575s Setting up python3-parse-type (0.6.2-1) ... 1576s Setting up postgresql-common (262) ... 1576s 1576s Creating config file /etc/postgresql-common/createcluster.conf with new version 1576s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1576s Removing obsolete dictionary files: 1577s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1577s Setting up libjs-sphinxdoc (7.4.7-3) ... 1577s Setting up python3-behave (1.2.6-5) ... 1577s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1577s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1577s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1577s """Registers a custom type that will be available to "parse" 1577s Setting up patroni (3.3.2-1) ... 1578s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1578s Setting up postgresql-16 (16.4-3) ... 1578s Creating new PostgreSQL cluster 16/main ... 1578s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1578s The files belonging to this database system will be owned by user "postgres". 1578s This user must also own the server process. 1578s 1578s The database cluster will be initialized with locale "C.UTF-8". 1578s The default database encoding has accordingly been set to "UTF8". 1578s The default text search configuration will be set to "english". 1578s 1578s Data page checksums are disabled. 1578s 1578s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1578s creating subdirectories ... ok 1578s selecting dynamic shared memory implementation ... posix 1579s selecting default max_connections ... 100 1579s selecting default shared_buffers ... 128MB 1579s selecting default time zone ... Etc/UTC 1579s creating configuration files ... ok 1579s running bootstrap script ... ok 1579s performing post-bootstrap initialization ... ok 1579s syncing data to disk ... ok 1583s Setting up patroni-doc (3.3.2-1) ... 1583s Setting up postgresql (16+262) ... 1583s Setting up autopkgtest-satdep (0) ... 1583s Processing triggers for man-db (2.12.1-3) ... 1584s Processing triggers for libc-bin (2.40-1ubuntu3) ... 1588s (Reading database ... 82910 files and directories currently installed.) 1588s Removing autopkgtest-satdep (0) ... 1590s autopkgtest [15:45:37]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 1590s autopkgtest [15:45:37]: test acceptance-etcd-basic: [----------------------- 1590s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1591s ○ etcd.service - etcd - highly-available key value store 1591s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1591s Active: inactive (dead) since Fri 2024-11-01 15:45:38 UTC; 12ms ago 1591s Duration: 16.427s 1591s Invocation: 34f35b91ea0642478a9b581549106c32 1591s Docs: https://etcd.io/docs 1591s man:etcd 1591s Process: 2410 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1591s Main PID: 2410 (code=killed, signal=TERM) 1591s Mem peak: 7.3M 1591s CPU: 176ms 1591s 1591s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.268776Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 1591s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.269801Z","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"]} 1591s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"warn","ts":"2024-11-01T15:45:38.270051Z","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"} 1591s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"warn","ts":"2024-11-01T15:45:38.270353Z","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"} 1591s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.270395Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 1591s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.274344Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 1591s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.274662Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 1591s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.274674Z","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"]} 1591s Nov 01 15:45:38 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 1591s Nov 01 15:45:38 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1591s ++ ls -1r /usr/lib/postgresql/ 1591s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1591s + '[' 16 == 10 -o 16 == 11 ']' 1591s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 1591s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 1591s + 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' 1593s Nov 01 15:45:40 Feature: basic replication # features/basic_replication.feature:1 1593s Nov 01 15:45:40 We should check that the basic bootstrapping, replication and failover works. 1593s Nov 01 15:45:40 Scenario: check replication of a single table # features/basic_replication.feature:4 1593s Nov 01 15:45:40 Given I start postgres0 # features/steps/basic_replication.py:8 1596s Nov 01 15:45:43 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1596s Nov 01 15:45:43 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1596s Nov 01 15:45:43 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 1596s Nov 01 15:45:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 1596s Nov 01 15:45:43 When I start postgres1 # features/steps/basic_replication.py:8 1600s Nov 01 15:45:47 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1604s Nov 01 15:45:51 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1604s Nov 01 15:45:51 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1604s Nov 01 15:45:51 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1605s Nov 01 15:45:52 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1605s Nov 01 15:45:52 1605s Nov 01 15:45:52 Scenario: check restart of sync replica # features/basic_replication.feature:17 1605s Nov 01 15:45:52 Given I shut down postgres2 # features/steps/basic_replication.py:29 1606s Nov 01 15:45:53 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1606s Nov 01 15:45:53 When I start postgres2 # features/steps/basic_replication.py:8 1610s Nov 01 15:45:57 And I shut down postgres1 # features/steps/basic_replication.py:29 1613s Nov 01 15:46:00 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1613s Nov 01 15:46:00 When I start postgres1 # features/steps/basic_replication.py:8 1617s Nov 01 15:46:04 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1618s Nov 01 15:46:05 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1618s Nov 01 15:46:05 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1618s Nov 01 15:46:05 1618s Nov 01 15:46:05 Scenario: check stuck sync replica # features/basic_replication.feature:28 1618s Nov 01 15:46:05 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1618s Nov 01 15:46:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1618s Nov 01 15:46:05 And I create table on postgres0 # features/steps/basic_replication.py:73 1618s Nov 01 15:46:05 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1619s Nov 01 15:46:06 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1619s Nov 01 15:46:06 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1619s Nov 01 15:46:06 And I load data on postgres0 # features/steps/basic_replication.py:84 1620s Nov 01 15:46:07 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1623s Nov 01 15:46:10 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1623s Nov 01 15:46:10 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1624s Nov 01 15:46:11 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1624s Nov 01 15:46:11 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1624s Nov 01 15:46:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1624s Nov 01 15:46:11 And I drop table on postgres0 # features/steps/basic_replication.py:73 1624s Nov 01 15:46:11 1624s Nov 01 15:46:11 Scenario: check multi sync replication # features/basic_replication.feature:44 1624s Nov 01 15:46:11 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1624s Nov 01 15:46:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1624s Nov 01 15:46:11 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1628s Nov 01 15:46:15 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1628s Nov 01 15:46:15 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 01 15:46:15 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1628s Nov 01 15:46:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 1628s Nov 01 15:46:15 And I shut down postgres1 # features/steps/basic_replication.py:29 1631s Nov 01 15:46:18 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1632s Nov 01 15:46:19 When I start postgres1 # features/steps/basic_replication.py:8 1636s Nov 01 15:46:23 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1636s Nov 01 15:46:23 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1636s Nov 01 15:46:23 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1637s Nov 01 15:46:23 1637s Nov 01 15:46:23 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1637s Nov 01 15:46:23 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1640s Nov 01 15:46:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1640s Nov 01 15:46:26 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1641s Nov 01 15:46:28 And I shut down postgres0 # features/steps/basic_replication.py:29 1642s Nov 01 15:46:29 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1644s Nov 01 15:46:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1644s Nov 01 15:46:31 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1663s Nov 01 15:46:50 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1665s Nov 01 15:46:52 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1665s Nov 01 15:46:52 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 1665s Nov 01 15:46:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1665s Nov 01 15:46:52 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1665s Nov 01 15:46:52 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1668s Nov 01 15:46:55 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1668s Nov 01 15:46:55 1668s Nov 01 15:46:55 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1668s Nov 01 15:46:55 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1668s Nov 01 15:46:55 And I start postgres0 # features/steps/basic_replication.py:8 1668s Nov 01 15:46:55 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1672s Nov 01 15:46:59 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1672s Nov 01 15:46:59 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1676s Nov 01 15:47:03 1676s Nov 01 15:47:03 @reject-duplicate-name 1676s Nov 01 15:47:03 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1676s Nov 01 15:47:03 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1678s Nov 01 15:47:05 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 1682s Nov 01 15:47:09 1682s 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'))") 1683s 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'))") 1683s 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'))") 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.4590.XmtdHtFx 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.4634.XkfMVAfx 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.4681.XmGTAJdx 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.4728.XXIzSlax 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.4774.XWlHczGx 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.4845.XqwFsWOx 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.4893.XbwqCSxx 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.4897.XCyGuENx 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.4993.XRkLeiVx 1683s Nov 01 15:47:10 Combined data file .coverage.autopkgtest.5095.XwqkJSrx 1686s Nov 01 15:47:13 Name Stmts Miss Cover 1686s Nov 01 15:47:13 ------------------------------------------------------------------------------------------------------------- 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 603 45% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/idna/core.py 293 258 12% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/api.py 770 429 44% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 149 77% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/ha.py 1246 612 51% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/log.py 219 71 68% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 239 71% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 91 64% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 816 251 69% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 338 178 47% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/utils.py 350 140 60% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/validator.py 301 211 30% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/six.py 504 250 50% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1686s Nov 01 15:47:13 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1686s Nov 01 15:47:13 patroni/__init__.py 13 2 85% 1686s Nov 01 15:47:13 patroni/__main__.py 199 199 0% 1686s Nov 01 15:47:13 patroni/api.py 770 770 0% 1686s Nov 01 15:47:13 patroni/async_executor.py 96 69 28% 1686s Nov 01 15:47:13 patroni/collections.py 56 15 73% 1686s Nov 01 15:47:13 patroni/config.py 371 196 47% 1686s Nov 01 15:47:13 patroni/config_generator.py 212 212 0% 1686s Nov 01 15:47:13 patroni/ctl.py 936 663 29% 1686s Nov 01 15:47:13 patroni/daemon.py 76 76 0% 1686s Nov 01 15:47:13 patroni/dcs/__init__.py 646 308 52% 1686s Nov 01 15:47:13 patroni/dcs/consul.py 485 485 0% 1686s Nov 01 15:47:13 patroni/dcs/etcd3.py 679 679 0% 1686s Nov 01 15:47:13 patroni/dcs/etcd.py 603 235 61% 1686s Nov 01 15:47:13 patroni/dcs/exhibitor.py 61 61 0% 1686s Nov 01 15:47:13 patroni/dcs/kubernetes.py 938 938 0% 1686s Nov 01 15:47:13 patroni/dcs/raft.py 319 319 0% 1686s Nov 01 15:47:13 patroni/dcs/zookeeper.py 288 288 0% 1686s Nov 01 15:47:13 patroni/dynamic_loader.py 35 7 80% 1686s Nov 01 15:47:13 patroni/exceptions.py 16 1 94% 1686s Nov 01 15:47:13 patroni/file_perm.py 43 15 65% 1686s Nov 01 15:47:13 patroni/global_config.py 81 23 72% 1686s Nov 01 15:47:13 patroni/ha.py 1246 1246 0% 1686s Nov 01 15:47:13 patroni/log.py 219 173 21% 1686s Nov 01 15:47:13 patroni/postgresql/__init__.py 821 651 21% 1686s Nov 01 15:47:13 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1686s Nov 01 15:47:13 patroni/postgresql/bootstrap.py 252 222 12% 1686s Nov 01 15:47:13 patroni/postgresql/callback_executor.py 55 34 38% 1686s Nov 01 15:47:13 patroni/postgresql/cancellable.py 104 84 19% 1686s Nov 01 15:47:13 patroni/postgresql/config.py 816 699 14% 1686s Nov 01 15:47:13 patroni/postgresql/connection.py 75 50 33% 1686s Nov 01 15:47:13 patroni/postgresql/misc.py 41 29 29% 1686s Nov 01 15:47:13 patroni/postgresql/mpp/__init__.py 89 21 76% 1686s Nov 01 15:47:13 patroni/postgresql/mpp/citus.py 259 259 0% 1686s Nov 01 15:47:13 patroni/postgresql/postmaster.py 170 139 18% 1686s Nov 01 15:47:13 patroni/postgresql/rewind.py 416 416 0% 1686s Nov 01 15:47:13 patroni/postgresql/slots.py 338 289 14% 1686s Nov 01 15:47:13 patroni/postgresql/sync.py 130 96 26% 1686s Nov 01 15:47:13 patroni/postgresql/validator.py 157 52 67% 1686s Nov 01 15:47:13 patroni/psycopg.py 42 28 33% 1686s Nov 01 15:47:13 patroni/raft_controller.py 22 22 0% 1686s Nov 01 15:47:13 patroni/request.py 62 6 90% 1686s Nov 01 15:47:13 patroni/scripts/__init__.py 0 0 100% 1686s Nov 01 15:47:13 patroni/scripts/aws.py 59 59 0% 1686s Nov 01 15:47:13 patroni/scripts/barman/__init__.py 0 0 100% 1686s Nov 01 15:47:13 patroni/scripts/barman/cli.py 51 51 0% 1686s Nov 01 15:47:13 patroni/scripts/barman/config_switch.py 51 51 0% 1686s Nov 01 15:47:13 patroni/scripts/barman/recover.py 37 37 0% 1686s Nov 01 15:47:13 patroni/scripts/barman/utils.py 94 94 0% 1686s Nov 01 15:47:13 patroni/scripts/wale_restore.py 207 207 0% 1686s Nov 01 15:47:13 patroni/tags.py 38 15 61% 1686s Nov 01 15:47:13 patroni/utils.py 350 246 30% 1686s Nov 01 15:47:13 patroni/validator.py 301 215 29% 1686s Nov 01 15:47:13 patroni/version.py 1 0 100% 1686s Nov 01 15:47:13 patroni/watchdog/__init__.py 2 2 0% 1686s Nov 01 15:47:13 patroni/watchdog/base.py 203 203 0% 1686s Nov 01 15:47:13 patroni/watchdog/linux.py 135 135 0% 1686s Nov 01 15:47:13 ------------------------------------------------------------------------------------------------------------- 1686s Nov 01 15:47:13 TOTAL 53079 33820 36% 1686s Nov 01 15:47:13 1 feature passed, 0 failed, 0 skipped 1686s Nov 01 15:47:13 7 scenarios passed, 0 failed, 0 skipped 1686s Nov 01 15:47:13 68 steps passed, 0 failed, 0 skipped, 0 undefined 1686s Nov 01 15:47:13 Took 1m25.363s 1686s ### End 16 acceptance-etcd features/basic_replication.feature ### 1686s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 1686s + rm -f '/tmp/pgpass?' 1686s ++ id -u 1686s + '[' 0 -eq 0 ']' 1686s + '[' -x /etc/init.d/zookeeper ']' 1686s autopkgtest [15:47:13]: test acceptance-etcd-basic: -----------------------] 1687s acceptance-etcd-basic PASS 1687s autopkgtest [15:47:14]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 1687s autopkgtest [15:47:14]: test acceptance-etcd: preparing testbed 1692s Reading package lists... 1692s Building dependency tree... 1692s Reading state information... 1693s Starting pkgProblemResolver with broken count: 0 1693s Starting 2 pkgProblemResolver with broken count: 0 1693s Done 1694s The following NEW packages will be installed: 1694s autopkgtest-satdep 1694s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1694s Need to get 0 B/768 B of archives. 1694s After this operation, 0 B of additional disk space will be used. 1694s Get:1 /tmp/autopkgtest.fgWJKE/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 1694s Selecting previously unselected package autopkgtest-satdep. 1694s (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 ... 82910 files and directories currently installed.) 1694s Preparing to unpack .../3-autopkgtest-satdep.deb ... 1694s Unpacking autopkgtest-satdep (0) ... 1694s Setting up autopkgtest-satdep (0) ... 1697s (Reading database ... 82910 files and directories currently installed.) 1697s Removing autopkgtest-satdep (0) ... 1697s autopkgtest [15:47:24]: test acceptance-etcd: debian/tests/acceptance etcd 1697s autopkgtest [15:47:24]: test acceptance-etcd: [----------------------- 1698s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1698s ○ etcd.service - etcd - highly-available key value store 1698s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1698s Active: inactive (dead) since Fri 2024-11-01 15:45:38 UTC; 1min 47s ago 1698s Duration: 16.427s 1698s Invocation: 34f35b91ea0642478a9b581549106c32 1698s Docs: https://etcd.io/docs 1698s man:etcd 1698s Process: 2410 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1698s Main PID: 2410 (code=killed, signal=TERM) 1698s Mem peak: 7.3M 1698s CPU: 176ms 1698s 1698s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.268776Z","caller":"osutil/interrupt_unix.go:64","msg":"received signal; shutting down","signal":"terminated"} 1698s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.269801Z","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"]} 1698s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"warn","ts":"2024-11-01T15:45:38.270051Z","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"} 1698s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"warn","ts":"2024-11-01T15:45:38.270353Z","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"} 1698s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.270395Z","caller":"etcdserver/server.go:1521","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 1698s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.274344Z","caller":"embed/etcd.go:581","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 1698s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.274662Z","caller":"embed/etcd.go:586","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 1698s Nov 01 15:45:38 autopkgtest etcd[2410]: {"level":"info","ts":"2024-11-01T15:45:38.274674Z","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"]} 1698s Nov 01 15:45:38 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 1698s Nov 01 15:45:38 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1698s ++ ls -1r /usr/lib/postgresql/ 1698s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1698s + '[' 16 == 10 -o 16 == 11 ']' 1698s + echo '### PostgreSQL 16 acceptance-etcd ###' 1698s + 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' 1698s ### PostgreSQL 16 acceptance-etcd ### 1700s Nov 01 15:47:27 Feature: basic replication # features/basic_replication.feature:1 1700s Nov 01 15:47:27 We should check that the basic bootstrapping, replication and failover works. 1700s Nov 01 15:47:27 Scenario: check replication of a single table # features/basic_replication.feature:4 1700s Nov 01 15:47:27 Given I start postgres0 # features/steps/basic_replication.py:8 1703s Nov 01 15:47:30 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1703s Nov 01 15:47:30 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1703s Nov 01 15:47:30 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 1703s Nov 01 15:47:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 1703s Nov 01 15:47:30 When I start postgres1 # features/steps/basic_replication.py:8 1707s Nov 01 15:47:34 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1711s Nov 01 15:47:38 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1711s Nov 01 15:47:38 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1711s Nov 01 15:47:38 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1712s Nov 01 15:47:39 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1712s Nov 01 15:47:39 1712s Nov 01 15:47:39 Scenario: check restart of sync replica # features/basic_replication.feature:17 1712s Nov 01 15:47:39 Given I shut down postgres2 # features/steps/basic_replication.py:29 1713s Nov 01 15:47:40 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1713s Nov 01 15:47:40 When I start postgres2 # features/steps/basic_replication.py:8 1716s Nov 01 15:47:43 And I shut down postgres1 # features/steps/basic_replication.py:29 1719s Nov 01 15:47:46 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1720s Nov 01 15:47:47 When I start postgres1 # features/steps/basic_replication.py:8 1723s Nov 01 15:47:50 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1724s Nov 01 15:47:51 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1724s Nov 01 15:47:51 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1724s Nov 01 15:47:51 1724s Nov 01 15:47:51 Scenario: check stuck sync replica # features/basic_replication.feature:28 1724s Nov 01 15:47: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 1724s Nov 01 15:47:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1724s Nov 01 15:47:51 And I create table on postgres0 # features/steps/basic_replication.py:73 1724s Nov 01 15:47:51 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1725s Nov 01 15:47:52 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1725s Nov 01 15:47:52 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1725s Nov 01 15:47:52 And I load data on postgres0 # features/steps/basic_replication.py:84 1726s Nov 01 15:47:53 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1729s Nov 01 15:47:56 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1729s Nov 01 15:47:56 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1730s Nov 01 15:47:57 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1730s Nov 01 15:47: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 1730s Nov 01 15:47:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1730s Nov 01 15:47:57 And I drop table on postgres0 # features/steps/basic_replication.py:73 1730s Nov 01 15:47:57 1730s Nov 01 15:47:57 Scenario: check multi sync replication # features/basic_replication.feature:44 1730s Nov 01 15:47: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 1730s Nov 01 15:47:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1730s Nov 01 15:47:57 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1734s Nov 01 15:48:01 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1734s Nov 01 15:48:01 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1734s Nov 01 15:48: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 1734s Nov 01 15:48:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 1734s Nov 01 15:48:01 And I shut down postgres1 # features/steps/basic_replication.py:29 1737s Nov 01 15:48:04 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1738s Nov 01 15:48:05 When I start postgres1 # features/steps/basic_replication.py:8 1741s Nov 01 15:48:08 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1742s Nov 01 15:48:09 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1742s Nov 01 15:48:09 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1742s Nov 01 15:48:09 1742s Nov 01 15:48:09 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1742s Nov 01 15:48:09 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1744s Nov 01 15:48:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1744s Nov 01 15:48:11 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1746s Nov 01 15:48:13 And I shut down postgres0 # features/steps/basic_replication.py:29 1747s Nov 01 15:48:14 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1749s Nov 01 15:48:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1749s Nov 01 15:48:16 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1768s Nov 01 15:48:35 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1770s Nov 01 15:48:37 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1770s Nov 01 15:48: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 1770s Nov 01 15:48:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1770s Nov 01 15:48:37 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1770s Nov 01 15:48:37 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1773s Nov 01 15:48: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 1773s Nov 01 15:48:40 1773s Nov 01 15:48:40 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1773s Nov 01 15:48:40 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1773s Nov 01 15:48:40 And I start postgres0 # features/steps/basic_replication.py:8 1773s Nov 01 15:48:40 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1778s Nov 01 15:48:44 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1778s Nov 01 15:48:44 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1781s Nov 01 15:48:47 1781s Nov 01 15:48:47 @reject-duplicate-name 1781s Nov 01 15:48:47 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1781s Nov 01 15:48:47 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1783s Nov 01 15:48:50 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 1787s Nov 01 15:48:54 1787s Nov 01 15:48:54 Feature: cascading replication # features/cascading_replication.feature:1 1787s Nov 01 15:48:54 We should check that patroni can do base backup and streaming from the replica 1787s Nov 01 15:48:54 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1787s Nov 01 15:48:54 Given I start postgres0 # features/steps/basic_replication.py:8 1791s Nov 01 15:48:58 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1791s Nov 01 15:48:58 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1794s Nov 01 15:49:01 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1795s Nov 01 15:49:02 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1795s Nov 01 15:49:02 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1795s Nov 01 15:49:02 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1795s Nov 01 15:49:02 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1798s Nov 01 15:49:05 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1799s Nov 01 15:49:06 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1805s Nov 01 15:49:11 1805s SKIP FEATURE citus: Citus extenstion isn't available 1805s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1805s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1805s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1805s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1805s 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 1805s Nov 01 15:49:11 Feature: citus # features/citus.feature:1 1805s Nov 01 15:49:11 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1805s Nov 01 15:49:11 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1805s Nov 01 15:49:11 Given I start postgres0 in citus group 0 # None 1805s Nov 01 15:49:11 And I start postgres2 in citus group 1 # None 1805s Nov 01 15:49:11 Then postgres0 is a leader in a group 0 after 10 seconds # None 1805s Nov 01 15:49:11 And postgres2 is a leader in a group 1 after 10 seconds # None 1805s Nov 01 15:49:11 When I start postgres1 in citus group 0 # None 1805s Nov 01 15:49:11 And I start postgres3 in citus group 1 # None 1805s Nov 01 15:49:11 Then replication works from postgres0 to postgres1 after 15 seconds # None 1805s Nov 01 15:49:11 Then replication works from postgres2 to postgres3 after 15 seconds # None 1805s Nov 01 15:49:11 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1805s Nov 01 15:49:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1805s Nov 01 15:49:11 1805s Nov 01 15:49:11 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1805s Nov 01 15:49:11 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1805s Nov 01 15:49:11 Then postgres1 role is the primary after 10 seconds # None 1805s Nov 01 15:49:11 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1805s Nov 01 15:49:11 And replication works from postgres1 to postgres0 after 15 seconds # None 1805s Nov 01 15:49:11 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1805s Nov 01 15:49:11 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1805s Nov 01 15:49:11 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1805s Nov 01 15:49:11 Then postgres0 role is the primary after 10 seconds # None 1805s Nov 01 15:49:11 And replication works from postgres0 to postgres1 after 15 seconds # None 1805s Nov 01 15:49:11 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1805s Nov 01 15:49:11 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1805s Nov 01 15:49:11 1805s Nov 01 15:49:11 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1805s Nov 01 15:49:11 Given I create a distributed table on postgres0 # None 1805s Nov 01 15:49:11 And I start a thread inserting data on postgres0 # None 1805s Nov 01 15:49:11 When I run patronictl.py switchover batman --group 1 --force # None 1805s Nov 01 15:49:11 Then I receive a response returncode 0 # None 1805s Nov 01 15:49:11 And postgres3 role is the primary after 10 seconds # None 1805s Nov 01 15:49:11 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1805s Nov 01 15:49:11 And replication works from postgres3 to postgres2 after 15 seconds # None 1805s Nov 01 15:49:11 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1805s Nov 01 15:49:11 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1805s Nov 01 15:49:11 And a thread is still alive # None 1805s Nov 01 15:49:11 When I run patronictl.py switchover batman --group 1 --force # None 1805s Nov 01 15:49:11 Then I receive a response returncode 0 # None 1805s Nov 01 15:49:11 And postgres2 role is the primary after 10 seconds # None 1805s Nov 01 15:49:11 And replication works from postgres2 to postgres3 after 15 seconds # None 1805s Nov 01 15:49:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1805s Nov 01 15:49:11 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1805s Nov 01 15:49:11 And a thread is still alive # None 1805s Nov 01 15:49:11 When I stop a thread # None 1805s Nov 01 15:49:11 Then a distributed table on postgres0 has expected rows # None 1805s Nov 01 15:49:11 1805s Nov 01 15:49:11 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1805s Nov 01 15:49:11 Given I cleanup a distributed table on postgres0 # None 1805s Nov 01 15:49:11 And I start a thread inserting data on postgres0 # None 1805s Nov 01 15:49:11 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1805s Nov 01 15:49:11 Then I receive a response returncode 0 # None 1805s Nov 01 15:49:11 And postgres2 role is the primary after 10 seconds # None 1805s Nov 01 15:49:11 And replication works from postgres2 to postgres3 after 15 seconds # None 1805s Nov 01 15:49:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1805s Nov 01 15:49:11 And a thread is still alive # None 1805s Nov 01 15:49:11 When I stop a thread # None 1805s Nov 01 15:49:11 Then a distributed table on postgres0 has expected rows # None 1805s Nov 01 15:49:11 1805s Nov 01 15:49:11 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1805s Nov 01 15:49:11 Given I start postgres4 in citus group 2 # None 1805s Nov 01 15:49:11 Then postgres4 is a leader in a group 2 after 10 seconds # None 1805s Nov 01 15:49:11 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1805s Nov 01 15:49:11 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1805s Nov 01 15:49:11 Then I receive a response returncode 0 # None 1805s Nov 01 15:49:11 And I receive a response output "+ttl: 20" # None 1805s Nov 01 15:49:11 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1805s Nov 01 15:49:11 When I shut down postgres4 # None 1805s Nov 01 15:49:11 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1805s Nov 01 15:49:11 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1805s Nov 01 15:49:11 Then a transaction finishes in 20 seconds # None 1805s Nov 01 15:49:11 1805s Nov 01 15:49:11 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1805s Nov 01 15:49:11 We should check that patroni can bootstrap a new cluster from a backup 1805s Nov 01 15:49:11 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1805s Nov 01 15:49:11 Given I start postgres0 # features/steps/basic_replication.py:8 1808s Nov 01 15:49:15 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1808s Nov 01 15:49:15 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1808s Nov 01 15:49:15 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1812s Nov 01 15:49:19 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1813s Nov 01 15:49:20 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1813s Nov 01 15:49:20 1813s Nov 01 15:49:20 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1813s Nov 01 15:49:20 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1813s Nov 01 15:49:20 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1814s Nov 01 15:49:21 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1819s Nov 01 15:49:26 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1819s Nov 01 15:49:26 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1825s Nov 01 15:49:32 1825s Nov 01 15:49:32 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1825s Nov 01 15:49:32 We should check the basic dcs failsafe mode functioning 1825s Nov 01 15:49:32 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1825s Nov 01 15:49:32 Given I start postgres0 # features/steps/basic_replication.py:8 1828s Nov 01 15:49:35 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1829s Nov 01 15:49:36 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1829s Nov 01 15:49:36 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 1829s Nov 01 15:49:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1829s Nov 01 15:49:36 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1829s Nov 01 15:49:36 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1829s Nov 01 15:49:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1829s Nov 01 15:49:36 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1829s Nov 01 15:49:36 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 1829s Nov 01 15:49:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1829s Nov 01 15:49:36 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 1829s Nov 01 15:49:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1829s Nov 01 15:49:36 1829s Nov 01 15:49:36 @dcs-failsafe 1829s Nov 01 15:49:36 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1829s Nov 01 15:49:36 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1829s Nov 01 15:49:36 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 1836s Nov 01 15:49:43 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1836s Nov 01 15:49:43 1836s Nov 01 15:49:43 @dcs-failsafe 1836s Nov 01 15:49:43 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1836s Nov 01 15:49:43 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1836s Nov 01 15:49:43 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1836s Nov 01 15:49:43 And I shut down postgres0 # features/steps/basic_replication.py:29 1838s Nov 01 15:49:45 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1841s Nov 01 15:49:48 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1841s Nov 01 15:49:48 1841s Nov 01 15:49:48 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1841s Nov 01 15:49:48 Given I start postgres0 # features/steps/basic_replication.py:8 1844s Nov 01 15:49:51 And I start postgres1 # features/steps/basic_replication.py:8 1844s Nov 01 15:49:51 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1845s Nov 01 15:49:52 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1845s Nov 01 15:49:52 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1846s Nov 01 15:49:53 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1846s Nov 01 15:49:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1846s Nov 01 15:49:53 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1846s Nov 01 15:49:53 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1846s Nov 01 15:49:53 1846s Nov 01 15:49:53 @dcs-failsafe @slot-advance 1846s Nov 01 15:49:53 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1846s Nov 01 15:49:53 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1846s Nov 01 15:49:53 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1848s Nov 01 15:49:55 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1851s Nov 01 15:49:58 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1851s Nov 01 15:49:58 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 1857s Nov 01 15:50:03 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1857s Nov 01 15:50:03 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1857s Nov 01 15:50:03 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1857s Nov 01 15:50:04 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1857s Nov 01 15:50:04 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1857s Nov 01 15:50:04 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1861s Nov 01 15:50:08 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1861s Nov 01 15:50:08 1861s Nov 01 15:50:08 @dcs-failsafe 1861s Nov 01 15:50:08 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1861s Nov 01 15:50:08 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1861s Nov 01 15:50:08 And I kill postgres1 # features/steps/basic_replication.py:34 1862s Nov 01 15:50:09 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1862s Nov 01 15:50:09 waiting for server to shut down.... done 1862s Nov 01 15:50:09 server stopped 1862s Nov 01 15:50:09 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1864s Nov 01 15:50:11 1864s Nov 01 15:50:11 @dcs-failsafe 1864s Nov 01 15:50:11 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1864s Nov 01 15:50:11 Given I kill postgres0 # features/steps/basic_replication.py:34 1865s Nov 01 15:50:12 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1865s Nov 01 15:50:12 waiting for server to shut down.... done 1865s Nov 01 15:50:12 server stopped 1865s Nov 01 15:50:12 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1865s Nov 01 15:50:12 When I start postgres1 # features/steps/basic_replication.py:8 1868s Nov 01 15:50:15 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1869s Nov 01 15:50:16 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1871s Nov 01 15:50:18 1871s Nov 01 15:50:18 @dcs-failsafe 1871s Nov 01 15:50:18 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1871s Nov 01 15:50:18 Given I start postgres0 # features/steps/basic_replication.py:8 1875s Nov 01 15:50:22 And I start postgres2 # features/steps/basic_replication.py:8 1880s Nov 01 15:50:27 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1880s Nov 01 15:50:27 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1880s Nov 01 15:50:27 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1880s Nov 01 15:50:27 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1881s Nov 01 15:50:28 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1882s Nov 01 15:50:29 1882s Nov 01 15:50:29 @dcs-failsafe @slot-advance 1882s Nov 01 15:50:29 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1882s Nov 01 15:50:29 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1882s Nov 01 15:50:29 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1888s Nov 01 15:50:35 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1889s Nov 01 15:50:36 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1889s Nov 01 15:50:36 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1890s Nov 01 15:50:37 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1890s Nov 01 15:50:37 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1890s Nov 01 15:50:37 1890s Nov 01 15:50:37 @dcs-failsafe 1890s Nov 01 15:50:37 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1890s Nov 01 15:50:37 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1890s Nov 01 15:50:37 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 1898s Nov 01 15:50:45 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1898s Nov 01 15:50:45 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1898s Nov 01 15:50:45 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1898s Nov 01 15:50:45 1898s Nov 01 15:50:45 @dcs-failsafe @slot-advance 1898s Nov 01 15:50:45 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1898s Nov 01 15:50:45 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1898s Nov 01 15:50:45 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1899s Nov 01 15:50:46 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1899s Nov 01 15:50:46 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1899s Nov 01 15:50:46 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1900s Nov 01 15:50:47 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1900s Nov 01 15:50:47 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1900s Nov 01 15:50:47 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1900s Nov 01 15:50:47 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1904s Nov 01 15:50:51 1904s Nov 01 15:50:51 Feature: ignored slots # features/ignored_slots.feature:1 1904s Nov 01 15:50:51 1904s Nov 01 15:50:51 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1904s Nov 01 15:50:51 Given I start postgres1 # features/steps/basic_replication.py:8 1908s Nov 01 15:50:55 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1908s Nov 01 15:50:55 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1908s Nov 01 15:50: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 1908s Nov 01 15:50:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1908s Nov 01 15:50:55 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1908s Nov 01 15:50:55 When I shut down postgres1 # features/steps/basic_replication.py:29 1910s Nov 01 15:50:57 And I start postgres1 # features/steps/basic_replication.py:8 1913s Nov 01 15:51:00 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1914s Nov 01 15:51:01 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1915s Nov 01 15:51:02 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1915s Nov 01 15:51:02 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 01 15:51:02 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 01 15:51:02 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 01 15:51:02 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 01 15:51:02 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1915s Nov 01 15:51: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 1915s Nov 01 15:51: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 1915s Nov 01 15:51: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 1915s Nov 01 15:51: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 1915s Nov 01 15:51:02 When I start postgres0 # features/steps/basic_replication.py:8 1918s Nov 01 15:51:05 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1919s Nov 01 15:51:06 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1919s Nov 01 15:51:06 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1920s Nov 01 15:51:07 When I shut down postgres1 # features/steps/basic_replication.py:29 1922s Nov 01 15:51:09 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1923s Nov 01 15:51:10 When I start postgres1 # features/steps/basic_replication.py:8 1926s Nov 01 15:51:13 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1926s Nov 01 15:51:13 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1927s Nov 01 15:51:14 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1929s Nov 01 15:51: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 1929s Nov 01 15:51: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 1929s Nov 01 15:51: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 1929s Nov 01 15:51: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 1929s Nov 01 15:51:16 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1929s Nov 01 15:51:16 When I shut down postgres0 # features/steps/basic_replication.py:29 1931s Nov 01 15:51:18 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1932s Nov 01 15:51: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 1932s Nov 01 15:51: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 1932s Nov 01 15:51: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 1932s Nov 01 15:51: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 1935s Nov 01 15:51:22 1935s Nov 01 15:51:22 Feature: nostream node # features/nostream_node.feature:1 1935s Nov 01 15:51:22 1935s Nov 01 15:51:22 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1935s Nov 01 15:51:22 When I start postgres0 # features/steps/basic_replication.py:8 1938s Nov 01 15:51:25 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1941s Nov 01 15:51:28 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1942s Nov 01 15:51:29 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1947s Nov 01 15:51:34 1947s Nov 01 15:51:34 @slot-advance 1947s Nov 01 15:51:34 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1947s Nov 01 15:51: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 1947s Nov 01 15:51:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 1947s Nov 01 15:51:34 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1949s Nov 01 15:51:36 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1950s Nov 01 15:51:37 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1955s Nov 01 15:51:42 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1955s Nov 01 15:51:42 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1955s Nov 01 15:51:42 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1961s Nov 01 15:51:48 1961s Nov 01 15:51:48 Feature: patroni api # features/patroni_api.feature:1 1961s Nov 01 15:51:48 We should check that patroni correctly responds to valid and not-valid API requests. 1961s Nov 01 15:51:48 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1961s Nov 01 15:51:48 Given I start postgres0 # features/steps/basic_replication.py:8 1964s Nov 01 15:51:51 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1965s Nov 01 15:51:52 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1965s Nov 01 15:51:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1965s Nov 01 15:51:52 And I receive a response state running # features/steps/patroni_api.py:98 1965s Nov 01 15:51:52 And I receive a response role master # features/steps/patroni_api.py:98 1965s Nov 01 15:51:52 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1965s Nov 01 15:51:52 Then I receive a response code 503 # features/steps/patroni_api.py:98 1965s Nov 01 15:51:52 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1965s Nov 01 15:51:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1965s Nov 01 15:51:52 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1965s Nov 01 15:51:52 Then I receive a response code 503 # features/steps/patroni_api.py:98 1965s Nov 01 15:51:52 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1965s Nov 01 15:51:52 Then I receive a response code 503 # features/steps/patroni_api.py:98 1965s Nov 01 15:51:52 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1965s Nov 01 15:51:52 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1967s Nov 01 15:51:54 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1967s Nov 01 15:51:54 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1967s Nov 01 15:51:54 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1967s Nov 01 15:51:54 Then I receive a response code 412 # features/steps/patroni_api.py:98 1967s Nov 01 15:51:54 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1967s Nov 01 15:51:54 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1967s Nov 01 15:51:54 Then I receive a response code 400 # features/steps/patroni_api.py:98 1967s Nov 01 15:51:54 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1967s Nov 01 15:51:54 Then I receive a response code 400 # features/steps/patroni_api.py:98 1967s Nov 01 15:51:54 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1967s Nov 01 15:51:54 1967s Nov 01 15:51:54 Scenario: check local configuration reload # features/patroni_api.feature:32 1967s Nov 01 15:51:54 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1967s Nov 01 15:51:54 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1967s Nov 01 15:51:54 Then I receive a response code 202 # features/steps/patroni_api.py:98 1967s Nov 01 15:51:54 1967s Nov 01 15:51:54 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1967s Nov 01 15:51:54 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 1967s Nov 01 15:51:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1967s Nov 01 15:51:54 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1969s Nov 01 15:51:56 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1969s Nov 01 15:51:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1969s Nov 01 15:51:56 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1969s Nov 01 15:51:56 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1969s Nov 01 15:51:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 1969s Nov 01 15:51:56 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1969s Nov 01 15:51:56 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1973s Nov 01 15:52:00 1973s Nov 01 15:52:00 Scenario: check the scheduled restart # features/patroni_api.feature:49 1973s Nov 01 15:52:00 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1975s Nov 01 15:52:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1975s Nov 01 15:52:02 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1975s Nov 01 15:52:02 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1975s Nov 01 15:52:02 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 1975s Nov 01 15:52:02 Then I receive a response code 202 # features/steps/patroni_api.py:98 1975s Nov 01 15:52:02 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1983s Nov 01 15:52:10 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1983s Nov 01 15:52:10 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 1984s Nov 01 15:52:11 Then I receive a response code 202 # features/steps/patroni_api.py:98 1984s Nov 01 15:52:11 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 1993s Nov 01 15:52:17 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1993s Nov 01 15:52:18 1993s Nov 01 15:52:18 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1993s Nov 01 15:52:18 Given I start postgres1 # features/steps/basic_replication.py:8 1994s Nov 01 15:52:21 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1995s Nov 01 15:52:22 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1997s Nov 01 15:52:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1997s Nov 01 15:52:24 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1997s Nov 01 15:52:24 waiting for server to shut down.... done 1997s Nov 01 15:52:24 server stopped 1997s Nov 01 15:52:24 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1997s Nov 01 15:52:24 Then I receive a response code 503 # features/steps/patroni_api.py:98 1997s Nov 01 15:52:24 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1999s Nov 01 15:52:25 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2002s Nov 01 15:52:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2002s Nov 01 15:52:29 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2003s Nov 01 15:52:30 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2005s Nov 01 15:52:32 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2005s Nov 01 15:52:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2005s Nov 01 15:52:32 And I receive a response state running # features/steps/patroni_api.py:98 2005s Nov 01 15:52:32 And I receive a response role replica # features/steps/patroni_api.py:98 2005s Nov 01 15:52:32 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2009s Nov 01 15:52:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2009s Nov 01 15:52:36 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2009s Nov 01 15:52:36 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2010s Nov 01 15:52:37 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2010s Nov 01 15:52:37 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2012s Nov 01 15:52:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2012s Nov 01 15:52:39 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2012s Nov 01 15:52:39 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2013s Nov 01 15:52:40 2013s Nov 01 15:52:40 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2013s Nov 01 15:52:40 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 2016s Nov 01 15:52:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 2016s Nov 01 15:52:42 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2016s Nov 01 15:52:42 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2016s Nov 01 15:52:43 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2020s Nov 01 15:52:47 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2020s Nov 01 15:52:47 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2022s Nov 01 15:52:48 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2022s Nov 01 15:52:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 2022s Nov 01 15:52:49 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2022s Nov 01 15:52:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 2022s Nov 01 15:52:49 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2022s Nov 01 15:52:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 2022s Nov 01 15:52:49 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2022s Nov 01 15:52:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 2022s Nov 01 15:52:49 2022s Nov 01 15:52:49 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2022s Nov 01 15:52:49 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2024s Nov 01 15:52:51 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2024s Nov 01 15:52:51 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2024s Nov 01 15:52:51 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2025s Nov 01 15:52:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2025s Nov 01 15:52:52 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2028s Nov 01 15:52:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2028s Nov 01 15:52:54 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2037s Nov 01 15:53:04 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2037s Nov 01 15:53:04 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2040s Nov 01 15:53:07 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2040s Nov 01 15:53:07 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2040s Nov 01 15:53:07 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2041s Nov 01 15:53:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 2041s Nov 01 15:53:08 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2041s Nov 01 15:53:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 2041s Nov 01 15:53:08 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2041s Nov 01 15:53:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 2041s Nov 01 15:53:08 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2041s Nov 01 15:53:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 2045s Nov 01 15:53:12 2045s Nov 01 15:53:12 Feature: permanent slots # features/permanent_slots.feature:1 2045s Nov 01 15:53:12 2045s Nov 01 15:53:12 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2045s Nov 01 15:53:12 Given I start postgres0 # features/steps/basic_replication.py:8 2048s Nov 01 15:53:15 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2049s Nov 01 15:53:16 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2049s Nov 01 15:53:16 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 2049s Nov 01 15:53:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2049s Nov 01 15:53:16 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2049s Nov 01 15:53:16 When I start postgres1 # features/steps/basic_replication.py:8 2052s Nov 01 15:53:19 And I start postgres2 # features/steps/basic_replication.py:8 2055s Nov 01 15:53:22 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2059s Nov 01 15:53:26 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2059s Nov 01 15:53:26 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2059s Nov 01 15:53:26 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2059s Nov 01 15:53:26 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2059s Nov 01 15:53:26 2059s Nov 01 15:53:26 @slot-advance 2059s Nov 01 15:53:26 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2059s Nov 01 15:53:26 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2062s Nov 01 15:53:29 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2062s Nov 01 15:53:29 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2063s Nov 01 15:53:30 2063s Nov 01 15:53:30 @slot-advance 2063s Nov 01 15:53:30 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2063s Nov 01 15:53:30 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2068s Nov 01 15:53:35 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2068s Nov 01 15:53:35 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2069s Nov 01 15:53:36 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2070s Nov 01 15:53:37 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2070s Nov 01 15:53:37 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2070s Nov 01 15:53:37 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2070s Nov 01 15:53:37 2070s Nov 01 15:53:37 @slot-advance 2070s Nov 01 15:53:37 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2070s Nov 01 15:53:37 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2070s Nov 01 15:53:37 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2070s Nov 01 15:53:37 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2070s Nov 01 15:53:37 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2070s Nov 01 15:53:37 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2070s Nov 01 15:53:37 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2070s Nov 01 15:53:37 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2070s Nov 01 15:53:37 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2070s Nov 01 15:53:37 2070s Nov 01 15:53:37 @slot-advance 2070s Nov 01 15:53:37 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2070s Nov 01 15:53:37 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2070s Nov 01 15:53:37 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2070s Nov 01 15:53:37 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2070s Nov 01 15:53:37 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2072s Nov 01 15:53:39 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2072s Nov 01 15:53:39 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2072s Nov 01 15:53:39 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2072s Nov 01 15:53:39 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2072s Nov 01 15:53:39 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2072s Nov 01 15:53:39 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2072s Nov 01 15:53:39 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2074s Nov 01 15:53:41 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2074s Nov 01 15:53:41 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2074s Nov 01 15:53:41 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2074s Nov 01 15:53:41 2074s Nov 01 15:53:41 @slot-advance 2074s Nov 01 15:53:41 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2074s Nov 01 15:53:41 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2074s Nov 01 15:53:41 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2074s Nov 01 15:53:41 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2074s Nov 01 15:53:41 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2074s Nov 01 15:53:41 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2074s Nov 01 15:53:41 2074s Nov 01 15:53:41 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2074s Nov 01 15:53:41 Given I shut down postgres3 # features/steps/basic_replication.py:29 2075s Nov 01 15:53:42 And I shut down postgres2 # features/steps/basic_replication.py:29 2076s Nov 01 15:53:43 And I shut down postgres0 # features/steps/basic_replication.py:29 2078s Nov 01 15:53:45 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2078s Nov 01 15:53:45 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2078s Nov 01 15:53:45 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2081s Nov 01 15:53:47 2081s Nov 01 15:53:47 Feature: priority replication # features/priority_failover.feature:1 2081s Nov 01 15:53:47 We should check that we can give nodes priority during failover 2081s Nov 01 15:53:47 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2081s Nov 01 15:53:47 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2084s Nov 01 15:53:51 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2087s Nov 01 15:53:54 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2088s Nov 01 15:53:55 When I shut down postgres0 # features/steps/basic_replication.py:29 2090s Nov 01 15:53:57 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2092s Nov 01 15:53:59 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2092s Nov 01 15:53:59 When I start postgres0 # features/steps/basic_replication.py:8 2095s Nov 01 15:54:02 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2096s Nov 01 15:54:03 2096s Nov 01 15:54:03 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2096s Nov 01 15:54:03 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2100s Nov 01 15:54:07 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2103s Nov 01 15:54:10 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2104s Nov 01 15:54:11 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2105s Nov 01 15:54:12 When I shut down postgres0 # features/steps/basic_replication.py:29 2107s Nov 01 15:54:14 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2107s Nov 01 15:54:14 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 2107s Nov 01 15:54:14 2107s Nov 01 15:54:14 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2107s Nov 01 15:54:14 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2107s Nov 01 15:54:14 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2107s Nov 01 15:54:14 Then I receive a response code 202 # features/steps/patroni_api.py:98 2107s Nov 01 15:54:14 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 2108s Nov 01 15:54:15 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2109s Nov 01 15:54:16 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2109s Nov 01 15:54:16 Then I receive a response code 412 # features/steps/patroni_api.py:98 2109s Nov 01 15:54:16 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2109s Nov 01 15:54:16 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2109s Nov 01 15:54:16 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2109s Nov 01 15:54:16 Then I receive a response code 202 # features/steps/patroni_api.py:98 2109s Nov 01 15:54:16 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 2110s Nov 01 15:54:17 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2111s Nov 01 15:54:18 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2115s Nov 01 15:54:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2115s Nov 01 15:54:22 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2119s Nov 01 15:54:26 2119s Nov 01 15:54:26 Feature: recovery # features/recovery.feature:1 2119s Nov 01 15:54:26 We want to check that crashed postgres is started back 2119s Nov 01 15:54:26 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2119s Nov 01 15:54:26 Given I start postgres0 # features/steps/basic_replication.py:8 2124s Nov 01 15:54:30 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2124s Nov 01 15:54:30 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2124s Nov 01 15:54:30 When I start postgres1 # features/steps/basic_replication.py:8 2127s Nov 01 15:54:34 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2127s Nov 01 15:54:34 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2128s Nov 01 15:54:35 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2128s Nov 01 15:54:35 waiting for server to shut down.... done 2128s Nov 01 15:54:35 server stopped 2128s Nov 01 15:54:35 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2130s Nov 01 15:54:37 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2130s Nov 01 15:54:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2130s Nov 01 15:54:37 And I receive a response role master # features/steps/patroni_api.py:98 2130s Nov 01 15:54:37 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2130s Nov 01 15:54:37 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2131s Nov 01 15:54:38 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2133s Nov 01 15:54:40 2133s Nov 01 15:54:40 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2133s Nov 01 15:54:40 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 2133s Nov 01 15:54:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2133s Nov 01 15:54:40 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2133s Nov 01 15:54:40 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2133s Nov 01 15:54:40 waiting for server to shut down.... done 2133s Nov 01 15:54:40 server stopped 2133s Nov 01 15:54:40 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2135s Nov 01 15:54:42 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2139s Nov 01 15:54:46 2139s Nov 01 15:54:46 Feature: standby cluster # features/standby_cluster.feature:1 2139s Nov 01 15:54:46 2139s Nov 01 15:54:46 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2139s Nov 01 15:54:46 Given I start postgres1 # features/steps/basic_replication.py:8 2142s Nov 01 15:54:49 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2143s Nov 01 15:54:50 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2143s Nov 01 15:54:50 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 2143s Nov 01 15:54:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 2143s Nov 01 15:54:50 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2143s Nov 01 15:54:50 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2146s Nov 01 15:54:53 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 2146s Nov 01 15:54:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 2146s Nov 01 15:54:53 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2147s Nov 01 15:54:54 When I start postgres0 # features/steps/basic_replication.py:8 2150s Nov 01 15:54:57 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2151s Nov 01 15:54:58 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2152s Nov 01 15:54:59 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2152s Nov 01 15:54:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 2152s Nov 01 15:54:59 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2152s Nov 01 15:54:59 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2153s Nov 01 15:55:00 2153s Nov 01 15:55:00 @slot-advance 2153s Nov 01 15:55:00 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2153s Nov 01 15:55:00 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2155s Nov 01 15:55:02 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2160s Nov 01 15:55:07 2160s Nov 01 15:55:07 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2160s Nov 01 15:55:07 When I shut down postgres1 # features/steps/basic_replication.py:29 2162s Nov 01 15:55:09 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2162s Nov 01 15:55:09 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2163s Nov 01 15:55:10 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2163s Nov 01 15:55:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 2163s Nov 01 15:55:10 2163s Nov 01 15:55:10 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2163s Nov 01 15:55:10 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2166s Nov 01 15:55:13 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2167s Nov 01 15:55:14 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2168s Nov 01 15:55:14 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2168s Nov 01 15:55:14 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2168s Nov 01 15:55:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2168s Nov 01 15:55:15 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2168s Nov 01 15:55:15 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2171s Nov 01 15:55:18 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2171s Nov 01 15:55:18 Then I receive a response code 503 # features/steps/patroni_api.py:98 2171s Nov 01 15:55:18 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2171s Nov 01 15:55:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 2171s Nov 01 15:55:18 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2171s Nov 01 15:55:18 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2171s Nov 01 15:55:18 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2174s Nov 01 15:55:21 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2174s Nov 01 15:55:21 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2175s Nov 01 15:55:22 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2175s Nov 01 15:55:22 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2175s Nov 01 15:55:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2175s Nov 01 15:55:22 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2175s Nov 01 15:55:22 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2175s Nov 01 15:55:22 2175s Nov 01 15:55:22 Scenario: check switchover # features/standby_cluster.feature:57 2175s Nov 01 15:55:22 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2179s Nov 01 15:55:26 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2179s Nov 01 15:55:26 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2181s Nov 01 15:55:28 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 2181s Nov 01 15:55:28 2181s Nov 01 15:55:28 Scenario: check failover # features/standby_cluster.feature:63 2181s Nov 01 15:55:28 When I kill postgres2 # features/steps/basic_replication.py:34 2182s Nov 01 15:55:29 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2182s Nov 01 15:55:29 waiting for server to shut down.... done 2182s Nov 01 15:55:29 server stopped 2182s Nov 01 15:55:29 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2201s Nov 01 15:55:48 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2201s Nov 01 15:55:48 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2201s Nov 01 15:55:48 Then I receive a response code 503 # features/steps/patroni_api.py:98 2201s Nov 01 15:55:48 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2201s Nov 01 15:55:48 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2202s Nov 01 15:55:49 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 2206s Nov 01 15:55:53 2206s Nov 01 15:55:53 Feature: watchdog # features/watchdog.feature:1 2206s Nov 01 15:55:53 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2206s Nov 01 15:55:53 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2206s Nov 01 15:55:53 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2210s Nov 01 15:55:57 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2210s Nov 01 15:55:57 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2210s Nov 01 15:55:57 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2211s Nov 01 15:55:58 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2211s Nov 01 15:55:58 2211s Nov 01 15:55:58 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2211s Nov 01 15:55:58 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2213s Nov 01 15:56:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2213s Nov 01 15:56:00 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2213s Nov 01 15:56:00 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2217s Nov 01 15:56:04 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2217s Nov 01 15:56:04 2217s Nov 01 15:56:04 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2217s Nov 01 15:56:04 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2219s Nov 01 15:56:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2219s Nov 01 15:56:06 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2221s Nov 01 15:56:08 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2221s Nov 01 15:56:08 2221s Nov 01 15:56:08 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2221s Nov 01 15:56:08 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2221s Nov 01 15:56:08 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2223s Nov 01 15:56:10 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2223s Nov 01 15:56:10 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2224s Nov 01 15:56:11 2224s Nov 01 15:56:11 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2224s Nov 01 15:56:11 Given I shut down postgres0 # features/steps/basic_replication.py:29 2226s Nov 01 15:56:13 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2226s Nov 01 15:56:13 2226s Nov 01 15:56:13 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2226s Nov 01 15:56:13 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2226s Nov 01 15:56:13 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2229s Nov 01 15:56:16 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2230s Nov 01 15:56:17 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2230s Nov 01 15:56:17 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2253s Nov 01 15:56:40 2254s 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'))") 2254s 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'))") 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5400.XdipldKx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5444.XFwwZOCx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5492.XhSPDnTx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5540.XIHrVhXx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5585.XYtowjzx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5656.XIjAnHjx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5703.XDVZcdrx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5709.XZhDYpFx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5796.XVFPQDrx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5896.XGxYCWFx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5905.Xhwjgbjx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.5947.XrxOUmox 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.6004.XIEHeqvx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.6113.XvrenSax 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.6157.XqmprVzx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.6211.XxqhIDKx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.6300.XYwQaxDx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.6606.XKDfGRwx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.6680.XCnAOLXx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.6740.XkLXsHPx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.6975.XRrKKZAx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7026.XxplDIbx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7087.Xrobuzix 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7176.XFOTblRx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7272.XLaAWDrx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7314.XiVXbBDx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7377.XbxBVBjx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7411.XDAsFmBx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7570.XZAHiWPx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7618.XtnAuhqx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7648.XnkerDVx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7685.XfUadQQx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7731.XoGAorYx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7736.XVNQnrRx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7773.XPFlrxlx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7815.XmSVBTex 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7974.XMIYWFgx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7976.XWbRjpUx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.7981.XVieXxvx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8113.XUBrmvcx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8158.XlkXquWx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8196.XojaRchx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8239.XcMsTKfx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8291.XzOBEUlx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8477.XxOidDJx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8519.XYhAqzIx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8588.XMiqoldx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8653.XdfcWILx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.8734.XFgVGANx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9049.XtpiQfux 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9092.XzKLJYCx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9233.XRFItmpx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9295.XpSFVyZx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9361.XnaNaFmx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9462.XkXtkXpx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9574.XkroMKwx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9698.XGHuSICx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9740.XNKgRhyx 2255s Nov 01 15:56:42 Skipping duplicate data .coverage.autopkgtest.9742.XjSCawyx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9745.XUwPHTJx 2255s Nov 01 15:56:42 Combined data file .coverage.autopkgtest.9756.XGWQurhx 2257s Nov 01 15:56:44 Name Stmts Miss Cover 2257s Nov 01 15:56:44 ------------------------------------------------------------------------------------------------------------- 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1099 597 46% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1082 842 22% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/idna/core.py 293 258 12% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/api.py 770 279 64% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/ha.py 1246 320 74% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 816 214 74% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 338 34 90% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/utils.py 350 120 66% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/six.py 504 250 50% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2257s Nov 01 15:56:44 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2257s Nov 01 15:56:44 patroni/__init__.py 13 2 85% 2257s Nov 01 15:56:44 patroni/__main__.py 199 199 0% 2257s Nov 01 15:56:44 patroni/api.py 770 770 0% 2257s Nov 01 15:56:44 patroni/async_executor.py 96 69 28% 2257s Nov 01 15:56:44 patroni/collections.py 56 15 73% 2257s Nov 01 15:56:44 patroni/config.py 371 196 47% 2257s Nov 01 15:56:44 patroni/config_generator.py 212 212 0% 2257s Nov 01 15:56:44 patroni/ctl.py 936 411 56% 2257s Nov 01 15:56:44 patroni/daemon.py 76 76 0% 2257s Nov 01 15:56:44 patroni/dcs/__init__.py 646 270 58% 2257s Nov 01 15:56:44 patroni/dcs/consul.py 485 485 0% 2257s Nov 01 15:56:44 patroni/dcs/etcd3.py 679 679 0% 2257s Nov 01 15:56:44 patroni/dcs/etcd.py 603 224 63% 2257s Nov 01 15:56:44 patroni/dcs/exhibitor.py 61 61 0% 2257s Nov 01 15:56:44 patroni/dcs/kubernetes.py 938 938 0% 2257s Nov 01 15:56:44 patroni/dcs/raft.py 319 319 0% 2257s Nov 01 15:56:44 patroni/dcs/zookeeper.py 288 288 0% 2257s Nov 01 15:56:44 patroni/dynamic_loader.py 35 7 80% 2257s Nov 01 15:56:44 patroni/exceptions.py 16 1 94% 2257s Nov 01 15:56:44 patroni/file_perm.py 43 15 65% 2257s Nov 01 15:56:44 patroni/global_config.py 81 18 78% 2257s Nov 01 15:56:44 patroni/ha.py 1246 1246 0% 2257s Nov 01 15:56:44 patroni/log.py 219 173 21% 2257s Nov 01 15:56:44 patroni/postgresql/__init__.py 821 651 21% 2257s Nov 01 15:56:44 patroni/postgresql/available_parameters/__init__.py 21 3 86% 2257s Nov 01 15:56:44 patroni/postgresql/bootstrap.py 252 222 12% 2257s Nov 01 15:56:44 patroni/postgresql/callback_executor.py 55 34 38% 2257s Nov 01 15:56:44 patroni/postgresql/cancellable.py 104 84 19% 2257s Nov 01 15:56:44 patroni/postgresql/config.py 816 699 14% 2257s Nov 01 15:56:44 patroni/postgresql/connection.py 75 50 33% 2257s Nov 01 15:56:44 patroni/postgresql/misc.py 41 29 29% 2257s Nov 01 15:56:44 patroni/postgresql/mpp/__init__.py 89 21 76% 2257s Nov 01 15:56:44 patroni/postgresql/mpp/citus.py 259 259 0% 2257s Nov 01 15:56:44 patroni/postgresql/postmaster.py 170 139 18% 2257s Nov 01 15:56:44 patroni/postgresql/rewind.py 416 416 0% 2257s Nov 01 15:56:44 patroni/postgresql/slots.py 338 289 14% 2257s Nov 01 15:56:44 patroni/postgresql/sync.py 130 96 26% 2257s Nov 01 15:56:44 patroni/postgresql/validator.py 157 52 67% 2257s Nov 01 15:56:44 patroni/psycopg.py 42 28 33% 2257s Nov 01 15:56:44 patroni/raft_controller.py 22 22 0% 2257s Nov 01 15:56:44 patroni/request.py 62 6 90% 2257s Nov 01 15:56:44 patroni/scripts/__init__.py 0 0 100% 2257s Nov 01 15:56:44 patroni/scripts/aws.py 59 59 0% 2257s Nov 01 15:56:44 patroni/scripts/barman/__init__.py 0 0 100% 2257s Nov 01 15:56:44 patroni/scripts/barman/cli.py 51 51 0% 2257s Nov 01 15:56:44 patroni/scripts/barman/config_switch.py 51 51 0% 2257s Nov 01 15:56:44 patroni/scripts/barman/recover.py 37 37 0% 2257s Nov 01 15:56:44 patroni/scripts/barman/utils.py 94 94 0% 2257s Nov 01 15:56:44 patroni/scripts/wale_restore.py 207 207 0% 2257s Nov 01 15:56:44 patroni/tags.py 38 11 71% 2257s Nov 01 15:56:44 patroni/utils.py 350 196 44% 2257s Nov 01 15:56:44 patroni/validator.py 301 215 29% 2257s Nov 01 15:56:44 patroni/version.py 1 0 100% 2257s Nov 01 15:56:44 patroni/watchdog/__init__.py 2 2 0% 2257s Nov 01 15:56:44 patroni/watchdog/base.py 203 203 0% 2257s Nov 01 15:56:44 patroni/watchdog/linux.py 135 135 0% 2257s Nov 01 15:56:44 ------------------------------------------------------------------------------------------------------------- 2257s Nov 01 15:56:44 TOTAL 53079 32144 39% 2257s Nov 01 15:56:44 12 features passed, 0 failed, 1 skipped 2257s Nov 01 15:56:44 55 scenarios passed, 0 failed, 5 skipped 2257s Nov 01 15:56:44 524 steps passed, 0 failed, 61 skipped, 0 undefined 2257s Nov 01 15:56:44 Took 8m25.526s 2257s ### End 16 acceptance-etcd ### 2257s + echo '### End 16 acceptance-etcd ###' 2257s + rm -f '/tmp/pgpass?' 2257s ++ id -u 2257s + '[' 0 -eq 0 ']' 2257s + '[' -x /etc/init.d/zookeeper ']' 2258s autopkgtest [15:56:45]: test acceptance-etcd: -----------------------] 2258s acceptance-etcd PASS 2258s autopkgtest [15:56:45]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 2259s autopkgtest [15:56:46]: test acceptance-zookeeper: preparing testbed 2335s autopkgtest [15:58:02]: testbed dpkg architecture: arm64 2335s autopkgtest [15:58:02]: testbed apt version: 2.9.8 2335s autopkgtest [15:58:02]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2336s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2336s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2336s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [51.2 kB] 2336s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [3104 kB] 2337s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [196 kB] 2337s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [250 kB] 2337s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 2337s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [2202 kB] 2337s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [40.3 kB] 2337s Fetched 5975 kB in 1s (4110 kB/s) 2337s Reading package lists... 2340s Reading package lists... 2340s Building dependency tree... 2340s Reading state information... 2340s Calculating upgrade... 2341s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2341s Reading package lists... 2341s Building dependency tree... 2341s Reading state information... 2342s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2342s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2342s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2342s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2342s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2343s Reading package lists... 2343s Reading package lists... 2344s Building dependency tree... 2344s Reading state information... 2344s Calculating upgrade... 2345s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2345s Reading package lists... 2345s Building dependency tree... 2345s Reading state information... 2346s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2349s Reading package lists... 2350s Building dependency tree... 2350s Reading state information... 2350s Starting pkgProblemResolver with broken count: 0 2350s Starting 2 pkgProblemResolver with broken count: 0 2350s Done 2351s The following additional packages will be installed: 2351s adwaita-icon-theme at-spi2-common ca-certificates-java 2351s dconf-gsettings-backend dconf-service default-jre default-jre-headless 2351s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 2351s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 2351s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 2351s libapr1t64 libasm-java libasound2-data libasound2t64 2351s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 2351s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 2351s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 2351s libcommons-io-java libcommons-logging-java libcommons-parent-java 2351s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 2351s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 2351s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 2351s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 2351s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 2351s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 2351s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 2351s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 2351s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 2351s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 2351s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 2351s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 2351s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 2351s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 2351s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 2351s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 2351s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 2351s libsnappy1v5 libspring-beans-java libspring-core-java 2351s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 2351s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 2351s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 2351s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 2351s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 2351s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 2351s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 2351s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 2351s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 2351s patroni-doc postgresql postgresql-16 postgresql-client-16 2351s postgresql-client-common postgresql-common python3-behave python3-cdiff 2351s python3-click python3-colorama python3-coverage python3-dateutil 2351s python3-dnspython python3-eventlet python3-gevent python3-greenlet 2351s python3-kazoo python3-kerberos python3-parse python3-parse-type 2351s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 2351s python3-six python3-wcwidth python3-zope.event python3-zope.interface 2351s sphinx-rtd-theme-common ssl-cert ubuntu-mono x11-common zookeeper zookeeperd 2351s Suggested packages: 2351s alsa-utils libasound2-plugins libatinject-jsr330-api-java-doc colord 2351s libavalon-framework-java libexcalibur-logkit-java cups-common gvfs 2351s libjackson2-annotations-java-doc jetty9 libjnr-ffi-java-doc 2351s libjnr-posix-java-doc libjsr305-java-doc liblcms2-utils liblog4j1.2-java-doc 2351s libmail-java-doc libbcpkix-java libcompress-lzf-java libjzlib-java 2351s liblog4j2-java libprotobuf-java pcscd libcglib-java libyaml-snake-java 2351s libaspectj-java libcommons-collections3-java tomcat9 libzookeeper-java-doc 2351s libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho 2351s fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic vip-manager haproxy 2351s postgresql-doc postgresql-doc-16 python-coverage-doc python3-trio 2351s python3-aioquic python3-h2 python3-httpx python3-httpcore 2351s python-eventlet-doc python-gevent-doc python-greenlet-dev 2351s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 2351s Recommended packages: 2351s librsvg2-common alsa-ucm-conf alsa-topology-conf at-spi2-core 2351s libgdk-pixbuf2.0-bin libgl1-amber-dri libgtk-3-bin javascript-common 2351s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 2351s fonts-dejavu-extra 2351s The following NEW packages will be installed: 2351s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 2351s dconf-gsettings-backend dconf-service default-jre default-jre-headless 2351s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 2351s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 2351s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 2351s libapr1t64 libasm-java libasound2-data libasound2t64 2351s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 2351s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 2351s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 2351s libcommons-io-java libcommons-logging-java libcommons-parent-java 2351s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1 libdrm-radeon1 2351s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 2351s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 2351s libev4t64 libfindbugs-annotations-java libfontconfig1 libgbm1 2351s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 2351s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 2351s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 2351s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 2351s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 2351s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 2351s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 2351s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 2351s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 2351s libjsr305-java liblcms2-2 liblerc4 liblog4j1.2-java libmail-java 2351s libnetty-java libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 2351s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 2351s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 2351s libsnappy1v5 libspring-beans-java libspring-core-java 2351s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 2351s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 2351s libvulkan1 libwayland-client0 libwayland-cursor0 libwayland-egl1 2351s libwayland-server0 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 2351s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 2351s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 2351s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 2351s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 2351s mesa-libgallium moreutils openjdk-21-jre openjdk-21-jre-headless patroni 2351s patroni-doc postgresql postgresql-16 postgresql-client-16 2351s postgresql-client-common postgresql-common python3-behave python3-cdiff 2351s python3-click python3-colorama python3-coverage python3-dateutil 2351s python3-dnspython python3-eventlet python3-gevent python3-greenlet 2351s python3-kazoo python3-kerberos python3-parse python3-parse-type 2351s python3-prettytable python3-psutil python3-psycopg2 python3-pure-sasl 2351s python3-six python3-wcwidth python3-zope.event python3-zope.interface 2351s sphinx-rtd-theme-common ssl-cert ubuntu-mono x11-common zookeeper zookeeperd 2351s 0 upgraded, 195 newly installed, 0 to remove and 0 not upgraded. 2351s Need to get 130 MB/130 MB of archives. 2351s After this operation, 466 MB of additional disk space will be used. 2351s Get:1 /tmp/autopkgtest.fgWJKE/4-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [764 B] 2351s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 2352s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 2352s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 2352s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 2352s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 2352s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 ca-certificates-java all 20240118 [11.6 kB] 2352s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 java-common all 0.76 [6852 B] 2352s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 liblcms2-2 arm64 2.14-2build1 [161 kB] 2352s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-2ubuntu2 [163 kB] 2352s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 2352s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcsclite1 arm64 2.3.0-1 [24.4 kB] 2352s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre-headless arm64 21.0.5+11-1 [45.7 MB] 2354s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre-headless arm64 2:1.21-76 [3176 B] 2354s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 2354s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.21-1 [46.2 kB] 2354s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 2354s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-4ubuntu2 [154 kB] 2354s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.4.0-0.1 [16.3 kB] 2354s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.4.0-0.1 [192 kB] 2354s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 2354s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.12+dfsg-1 [145 kB] 2354s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 gtk-update-icon-cache arm64 4.16.2+ds-2 [51.1 kB] 2354s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 hicolor-icon-theme all 0.18-1 [13.5 kB] 2354s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 humanity-icon-theme all 0.6.16 [1282 kB] 2354s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 2354s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 adwaita-icon-theme all 47.0-1 [525 kB] 2354s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 at-spi2-common all 2.54.0-1 [8774 B] 2354s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk1.0-0t64 arm64 2.54.0-1 [55.0 kB] 2354s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 libxi6 arm64 2:1.8.2-1 [32.4 kB] 2354s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 libatspi2.0-0t64 arm64 2.54.0-1 [80.2 kB] 2354s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 libatk-bridge2.0-0t64 arm64 2.54.0-1 [66.6 kB] 2354s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 2354s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 2354s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-1.1ubuntu2 [37.4 kB] 2354s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-1.1ubuntu2 [142 kB] 2354s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.42.2-1build1 [204 kB] 2354s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 2354s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 2354s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 2354s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.2-2 [560 kB] 2354s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo-gobject2 arm64 1.18.2-2 [127 kB] 2354s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libcolord2 arm64 1.4.7-1build2 [149 kB] 2354s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common-data arm64 0.8-13ubuntu6 [29.6 kB] 2354s Get:45 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common3 arm64 0.8-13ubuntu6 [23.3 kB] 2354s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-client3 arm64 0.8-13ubuntu6 [27.2 kB] 2354s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libcups2t64 arm64 2.4.10-1ubuntu2 [271 kB] 2354s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 libepoxy0 arm64 1.5.10-1build1 [240 kB] 2354s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 2354s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 9.0.0-1 [486 kB] 2354s Get:51 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-1.1ubuntu2 [190 kB] 2354s Get:52 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 2354s Get:53 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 2354s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 2354s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.54.0+ds-2 [233 kB] 2354s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.54.0+ds-2 [48.8 kB] 2354s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.54.0+ds-2 [27.5 kB] 2354s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-client0 arm64 1.23.0-1 [26.7 kB] 2354s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-cursor0 arm64 1.23.0-1 [10.6 kB] 2354s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-egl1 arm64 1.23.0-1 [5636 B] 2354s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcomposite1 arm64 1:0.4.5-1build3 [6336 B] 2354s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 2354s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcursor1 arm64 1:1.2.2-1 [21.2 kB] 2354s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 libxdamage1 arm64 1:1.1.6-1build1 [6236 B] 2354s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 libxinerama1 arm64 2:1.1.4-3build1 [6394 B] 2355s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 2355s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 libdconf1 arm64 0.40.0-4build2 [39.8 kB] 2355s Get:68 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-service arm64 0.40.0-4build2 [26.9 kB] 2355s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 dconf-gsettings-backend arm64 0.40.0-4build2 [22.0 kB] 2355s Get:70 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-common all 3.24.43-3ubuntu2 [1202 kB] 2355s Get:71 http://ftpmaster.internal/ubuntu plucky/main arm64 libgtk-3-0t64 arm64 3.24.43-3ubuntu2 [2898 kB] 2355s Get:72 http://ftpmaster.internal/ubuntu plucky/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 2355s Get:73 http://ftpmaster.internal/ubuntu plucky/main arm64 libglapi-mesa arm64 24.2.3-1ubuntu1 [59.4 kB] 2355s Get:74 http://ftpmaster.internal/ubuntu plucky/main arm64 libx11-xcb1 arm64 2:1.8.7-1build1 [7870 B] 2355s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri2-0 arm64 1.17.0-2 [7418 B] 2355s Get:76 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 2355s Get:77 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 2355s Get:78 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 2355s Get:79 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 2355s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 2355s Get:81 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 2355s Get:82 http://ftpmaster.internal/ubuntu plucky/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 2355s Get:83 http://ftpmaster.internal/ubuntu plucky/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 2355s Get:84 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-amdgpu1 arm64 2.4.122-1 [20.9 kB] 2355s Get:85 http://ftpmaster.internal/ubuntu plucky/main arm64 libdrm-radeon1 arm64 2.4.122-1 [20.8 kB] 2355s Get:86 http://ftpmaster.internal/ubuntu plucky/main arm64 mesa-libgallium arm64 24.2.3-1ubuntu1 [9030 kB] 2355s Get:87 http://ftpmaster.internal/ubuntu plucky/main arm64 libvulkan1 arm64 1.3.290.0-1 [153 kB] 2355s Get:88 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-server0 arm64 1.23.0-1 [35.7 kB] 2355s Get:89 http://ftpmaster.internal/ubuntu plucky/main arm64 libgbm1 arm64 24.2.3-1ubuntu1 [32.9 kB] 2355s Get:90 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1-mesa-dri arm64 24.2.3-1ubuntu1 [33.3 kB] 2355s Get:91 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx-mesa0 arm64 24.2.3-1ubuntu1 [164 kB] 2355s Get:92 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 2355s Get:93 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 2355s Get:94 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2-data all 1.2.12-1 [21.0 kB] 2355s Get:95 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2t64 arm64 1.2.12-1 [384 kB] 2355s Get:96 http://ftpmaster.internal/ubuntu plucky/main arm64 libgif7 arm64 5.2.2-1ubuntu1 [35.5 kB] 2355s Get:97 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 2355s Get:98 http://ftpmaster.internal/ubuntu plucky/main arm64 libxtst6 arm64 2:1.2.3-1.1build1 [13.0 kB] 2355s Get:99 http://ftpmaster.internal/ubuntu plucky/main arm64 openjdk-21-jre arm64 21.0.5+11-1 [221 kB] 2355s Get:100 http://ftpmaster.internal/ubuntu plucky/main arm64 default-jre arm64 2:1.21-76 [918 B] 2355s Get:101 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhamcrest-java all 2.2-2 [117 kB] 2355s Get:102 http://ftpmaster.internal/ubuntu plucky/universe arm64 junit4 all 4.13.2-4 [347 kB] 2355s Get:103 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 2356s Get:104 http://ftpmaster.internal/ubuntu plucky/universe arm64 libapache-pom-java all 29-2 [5284 B] 2356s Get:105 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-parent-java all 56-1 [10.7 kB] 2356s Get:106 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-io-java all 2.16.1-1 [451 kB] 2356s Get:107 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 2356s Get:108 http://ftpmaster.internal/ubuntu plucky/universe arm64 libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 2356s Get:109 http://ftpmaster.internal/ubuntu plucky/universe arm64 libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 2356s Get:110 http://ftpmaster.internal/ubuntu plucky/universe arm64 liberror-prone-java all 2.18.0-1 [22.5 kB] 2356s Get:111 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 2356s Get:112 http://ftpmaster.internal/ubuntu plucky/universe arm64 libguava-java all 32.0.1-1 [2692 kB] 2356s Get:113 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 2356s Get:114 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-core-java all 2.14.1-1 [432 kB] 2356s Get:115 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 2356s Get:116 http://ftpmaster.internal/ubuntu plucky/universe arm64 libasm-java all 9.7-2 [386 kB] 2356s Get:117 http://ftpmaster.internal/ubuntu plucky/universe arm64 libel-api-java all 3.0.0-3 [64.9 kB] 2356s Get:118 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjsp-api-java all 2.3.4-3 [53.7 kB] 2356s Get:119 http://ftpmaster.internal/ubuntu plucky/universe arm64 libservlet-api-java all 4.0.1-2 [81.0 kB] 2356s Get:120 http://ftpmaster.internal/ubuntu plucky/universe arm64 libwebsocket-api-java all 1.1-2 [40.1 kB] 2356s Get:121 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-java all 9.4.55-1 [2787 kB] 2356s Get:122 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-constants-java all 0.10.4-2 [1397 kB] 2356s Get:123 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-jni arm64 1.3.13+ds-1 [29.8 kB] 2356s Get:124 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjffi-java all 1.3.13+ds-1 [112 kB] 2356s Get:125 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 2356s Get:126 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-ffi-java all 2.2.15-2 [627 kB] 2356s Get:127 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 2356s Get:128 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-posix-java all 3.1.18-1 [267 kB] 2356s Get:129 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 2356s Get:130 http://ftpmaster.internal/ubuntu plucky/universe arm64 libactivation-java all 1.2.0-2 [84.7 kB] 2356s Get:131 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmail-java all 1.6.5-2 [681 kB] 2356s Get:132 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 2356s Get:133 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjaxb-api-java all 2.3.1-1 [119 kB] 2356s Get:134 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-core-java all 4.3.30-2 [1015 kB] 2357s Get:135 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspring-beans-java all 4.3.30-2 [675 kB] 2357s Get:136 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 2357s Get:137 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 2357s Get:138 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-1 [2933 kB] 2357s Get:139 http://ftpmaster.internal/ubuntu plucky/universe arm64 libeclipse-jdt-core-java all 3.35.0+eclipse4.29-1 [3831 kB] 2357s Get:140 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 2357s Get:141 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjetty9-extra-java all 9.4.55-1 [1199 kB] 2357s Get:142 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjctools-java all 2.0.2-1 [188 kB] 2358s Get:143 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-java all 1:4.1.48-10 [3628 kB] 2358s Get:144 http://ftpmaster.internal/ubuntu plucky/universe arm64 libslf4j-java all 1.7.32-1 [141 kB] 2358s Get:145 http://ftpmaster.internal/ubuntu plucky/main arm64 libsnappy1v5 arm64 1.2.1-1 [30.4 kB] 2358s Get:146 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-jni arm64 1.1.10.5-2 [6618 B] 2358s Get:147 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsnappy-java all 1.1.10.5-2 [83.7 kB] 2358s Get:148 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.2-3.2ubuntu1 [106 kB] 2358s Get:149 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-jni arm64 2.0.28-1build4 [36.8 kB] 2358s Get:150 http://ftpmaster.internal/ubuntu plucky/universe arm64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 2358s Get:151 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblog4j1.2-java all 1.2.17-11 [439 kB] 2358s Get:152 http://ftpmaster.internal/ubuntu plucky/universe arm64 libzookeeper-java all 3.9.2-2 [1885 kB] 2358s Get:153 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeper all 3.9.2-2 [57.8 kB] 2358s Get:154 http://ftpmaster.internal/ubuntu plucky/universe arm64 zookeeperd all 3.9.2-2 [6036 B] 2358s Get:155 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2358s Get:156 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.33.0-1 [84.5 kB] 2358s Get:157 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 2358s Get:158 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 2358s Get:159 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 2358s Get:160 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2358s Get:161 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2358s Get:162 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 2358s Get:163 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 2358s Get:164 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 2358s Get:165 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 2358s Get:166 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 2358s Get:167 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 2358s Get:168 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 2358s Get:169 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 2358s Get:170 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 2358s Get:171 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 2358s Get:172 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 2358s Get:173 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2358s Get:174 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 2358s Get:175 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 2358s Get:176 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 2358s Get:177 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.0.3-0ubuntu6 [153 kB] 2358s Get:178 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 2358s Get:179 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 2358s Get:180 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 2358s Get:181 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 6.4-1 [138 kB] 2358s Get:182 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.2.1-1 [791 kB] 2358s Get:183 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 2358s Get:184 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 2358s Get:185 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 2358s Get:186 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni all 3.3.2-1 [265 kB] 2358s Get:187 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 2358s Get:188 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni-doc all 3.3.2-1 [497 kB] 2358s Get:189 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 2358s Get:190 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 2359s Get:191 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 2359s Get:192 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 2359s Get:193 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 2359s Get:194 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 2359s Get:195 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 2359s Preconfiguring packages ... 2359s Fetched 130 MB in 8s (16.7 MB/s) 2360s Selecting previously unselected package fonts-lato. 2360s (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 ... 79705 files and directories currently installed.) 2360s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 2360s Unpacking fonts-lato (2.015-1) ... 2360s Selecting previously unselected package libjson-perl. 2360s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 2360s Unpacking libjson-perl (4.10000-1) ... 2360s Selecting previously unselected package postgresql-client-common. 2360s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 2360s Unpacking postgresql-client-common (262) ... 2360s Selecting previously unselected package ssl-cert. 2360s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu2_all.deb ... 2360s Unpacking ssl-cert (1.1.2ubuntu2) ... 2360s Selecting previously unselected package postgresql-common. 2360s Preparing to unpack .../004-postgresql-common_262_all.deb ... 2360s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2360s Unpacking postgresql-common (262) ... 2360s Selecting previously unselected package ca-certificates-java. 2360s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 2360s Unpacking ca-certificates-java (20240118) ... 2360s Selecting previously unselected package java-common. 2360s Preparing to unpack .../006-java-common_0.76_all.deb ... 2360s Unpacking java-common (0.76) ... 2360s Selecting previously unselected package liblcms2-2:arm64. 2360s Preparing to unpack .../007-liblcms2-2_2.14-2build1_arm64.deb ... 2360s Unpacking liblcms2-2:arm64 (2.14-2build1) ... 2360s Selecting previously unselected package libjpeg-turbo8:arm64. 2360s Preparing to unpack .../008-libjpeg-turbo8_2.1.5-2ubuntu2_arm64.deb ... 2360s Unpacking libjpeg-turbo8:arm64 (2.1.5-2ubuntu2) ... 2360s Selecting previously unselected package libjpeg8:arm64. 2360s Preparing to unpack .../009-libjpeg8_8c-2ubuntu11_arm64.deb ... 2360s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 2360s Selecting previously unselected package libpcsclite1:arm64. 2360s Preparing to unpack .../010-libpcsclite1_2.3.0-1_arm64.deb ... 2360s Unpacking libpcsclite1:arm64 (2.3.0-1) ... 2360s Selecting previously unselected package openjdk-21-jre-headless:arm64. 2360s Preparing to unpack .../011-openjdk-21-jre-headless_21.0.5+11-1_arm64.deb ... 2360s Unpacking openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 2362s Selecting previously unselected package default-jre-headless. 2362s Preparing to unpack .../012-default-jre-headless_2%3a1.21-76_arm64.deb ... 2362s Unpacking default-jre-headless (2:1.21-76) ... 2362s Selecting previously unselected package libgdk-pixbuf2.0-common. 2362s Preparing to unpack .../013-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 2362s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 2362s Selecting previously unselected package libdeflate0:arm64. 2362s Preparing to unpack .../014-libdeflate0_1.21-1_arm64.deb ... 2362s Unpacking libdeflate0:arm64 (1.21-1) ... 2362s Selecting previously unselected package libjbig0:arm64. 2362s Preparing to unpack .../015-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 2362s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 2362s Selecting previously unselected package liblerc4:arm64. 2362s Preparing to unpack .../016-liblerc4_4.0.0+ds-4ubuntu2_arm64.deb ... 2362s Unpacking liblerc4:arm64 (4.0.0+ds-4ubuntu2) ... 2362s Selecting previously unselected package libsharpyuv0:arm64. 2362s Preparing to unpack .../017-libsharpyuv0_1.4.0-0.1_arm64.deb ... 2362s Unpacking libsharpyuv0:arm64 (1.4.0-0.1) ... 2362s Selecting previously unselected package libwebp7:arm64. 2362s Preparing to unpack .../018-libwebp7_1.4.0-0.1_arm64.deb ... 2362s Unpacking libwebp7:arm64 (1.4.0-0.1) ... 2362s Selecting previously unselected package libtiff6:arm64. 2362s Preparing to unpack .../019-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 2362s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 2362s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 2362s Preparing to unpack .../020-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_arm64.deb ... 2362s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 2362s Selecting previously unselected package gtk-update-icon-cache. 2362s Preparing to unpack .../021-gtk-update-icon-cache_4.16.2+ds-2_arm64.deb ... 2362s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 2362s 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. 2362s Unpacking gtk-update-icon-cache (4.16.2+ds-2) ... 2362s Selecting previously unselected package hicolor-icon-theme. 2362s Preparing to unpack .../022-hicolor-icon-theme_0.18-1_all.deb ... 2362s Unpacking hicolor-icon-theme (0.18-1) ... 2362s Selecting previously unselected package humanity-icon-theme. 2362s Preparing to unpack .../023-humanity-icon-theme_0.6.16_all.deb ... 2362s Unpacking humanity-icon-theme (0.6.16) ... 2363s Selecting previously unselected package ubuntu-mono. 2363s Preparing to unpack .../024-ubuntu-mono_24.04-0ubuntu1_all.deb ... 2363s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 2363s Selecting previously unselected package adwaita-icon-theme. 2363s Preparing to unpack .../025-adwaita-icon-theme_47.0-1_all.deb ... 2363s Unpacking adwaita-icon-theme (47.0-1) ... 2363s Selecting previously unselected package at-spi2-common. 2363s Preparing to unpack .../026-at-spi2-common_2.54.0-1_all.deb ... 2363s Unpacking at-spi2-common (2.54.0-1) ... 2363s Selecting previously unselected package libatk1.0-0t64:arm64. 2363s Preparing to unpack .../027-libatk1.0-0t64_2.54.0-1_arm64.deb ... 2363s Unpacking libatk1.0-0t64:arm64 (2.54.0-1) ... 2363s Selecting previously unselected package libxi6:arm64. 2363s Preparing to unpack .../028-libxi6_2%3a1.8.2-1_arm64.deb ... 2363s Unpacking libxi6:arm64 (2:1.8.2-1) ... 2363s Selecting previously unselected package libatspi2.0-0t64:arm64. 2363s Preparing to unpack .../029-libatspi2.0-0t64_2.54.0-1_arm64.deb ... 2363s Unpacking libatspi2.0-0t64:arm64 (2.54.0-1) ... 2363s Selecting previously unselected package libatk-bridge2.0-0t64:arm64. 2363s Preparing to unpack .../030-libatk-bridge2.0-0t64_2.54.0-1_arm64.deb ... 2363s Unpacking libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 2363s Selecting previously unselected package fonts-dejavu-mono. 2363s Preparing to unpack .../031-fonts-dejavu-mono_2.37-8_all.deb ... 2363s Unpacking fonts-dejavu-mono (2.37-8) ... 2363s Selecting previously unselected package fonts-dejavu-core. 2363s Preparing to unpack .../032-fonts-dejavu-core_2.37-8_all.deb ... 2363s Unpacking fonts-dejavu-core (2.37-8) ... 2363s Selecting previously unselected package fontconfig-config. 2363s Preparing to unpack .../033-fontconfig-config_2.15.0-1.1ubuntu2_arm64.deb ... 2364s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 2364s Selecting previously unselected package libfontconfig1:arm64. 2364s Preparing to unpack .../034-libfontconfig1_2.15.0-1.1ubuntu2_arm64.deb ... 2364s Unpacking libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 2364s Selecting previously unselected package libpixman-1-0:arm64. 2364s Preparing to unpack .../035-libpixman-1-0_0.42.2-1build1_arm64.deb ... 2364s Unpacking libpixman-1-0:arm64 (0.42.2-1build1) ... 2364s Selecting previously unselected package libxcb-render0:arm64. 2364s Preparing to unpack .../036-libxcb-render0_1.17.0-2_arm64.deb ... 2364s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 2364s Selecting previously unselected package libxcb-shm0:arm64. 2364s Preparing to unpack .../037-libxcb-shm0_1.17.0-2_arm64.deb ... 2364s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 2364s Selecting previously unselected package libxrender1:arm64. 2364s Preparing to unpack .../038-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 2364s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 2364s Selecting previously unselected package libcairo2:arm64. 2364s Preparing to unpack .../039-libcairo2_1.18.2-2_arm64.deb ... 2364s Unpacking libcairo2:arm64 (1.18.2-2) ... 2364s Selecting previously unselected package libcairo-gobject2:arm64. 2364s Preparing to unpack .../040-libcairo-gobject2_1.18.2-2_arm64.deb ... 2364s Unpacking libcairo-gobject2:arm64 (1.18.2-2) ... 2364s Selecting previously unselected package libcolord2:arm64. 2364s Preparing to unpack .../041-libcolord2_1.4.7-1build2_arm64.deb ... 2364s Unpacking libcolord2:arm64 (1.4.7-1build2) ... 2364s Selecting previously unselected package libavahi-common-data:arm64. 2364s Preparing to unpack .../042-libavahi-common-data_0.8-13ubuntu6_arm64.deb ... 2364s Unpacking libavahi-common-data:arm64 (0.8-13ubuntu6) ... 2364s Selecting previously unselected package libavahi-common3:arm64. 2364s Preparing to unpack .../043-libavahi-common3_0.8-13ubuntu6_arm64.deb ... 2364s Unpacking libavahi-common3:arm64 (0.8-13ubuntu6) ... 2364s Selecting previously unselected package libavahi-client3:arm64. 2364s Preparing to unpack .../044-libavahi-client3_0.8-13ubuntu6_arm64.deb ... 2364s Unpacking libavahi-client3:arm64 (0.8-13ubuntu6) ... 2364s Selecting previously unselected package libcups2t64:arm64. 2364s Preparing to unpack .../045-libcups2t64_2.4.10-1ubuntu2_arm64.deb ... 2364s Unpacking libcups2t64:arm64 (2.4.10-1ubuntu2) ... 2364s Selecting previously unselected package libepoxy0:arm64. 2364s Preparing to unpack .../046-libepoxy0_1.5.10-1build1_arm64.deb ... 2364s Unpacking libepoxy0:arm64 (1.5.10-1build1) ... 2364s Selecting previously unselected package libgraphite2-3:arm64. 2364s Preparing to unpack .../047-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 2364s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 2364s Selecting previously unselected package libharfbuzz0b:arm64. 2364s Preparing to unpack .../048-libharfbuzz0b_9.0.0-1_arm64.deb ... 2364s Unpacking libharfbuzz0b:arm64 (9.0.0-1) ... 2364s Selecting previously unselected package fontconfig. 2364s Preparing to unpack .../049-fontconfig_2.15.0-1.1ubuntu2_arm64.deb ... 2364s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 2364s Selecting previously unselected package libthai-data. 2364s Preparing to unpack .../050-libthai-data_0.1.29-2build1_all.deb ... 2364s Unpacking libthai-data (0.1.29-2build1) ... 2364s Selecting previously unselected package libdatrie1:arm64. 2364s Preparing to unpack .../051-libdatrie1_0.2.13-3build1_arm64.deb ... 2364s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 2365s Selecting previously unselected package libthai0:arm64. 2365s Preparing to unpack .../052-libthai0_0.1.29-2build1_arm64.deb ... 2365s Unpacking libthai0:arm64 (0.1.29-2build1) ... 2365s Selecting previously unselected package libpango-1.0-0:arm64. 2365s Preparing to unpack .../053-libpango-1.0-0_1.54.0+ds-2_arm64.deb ... 2365s Unpacking libpango-1.0-0:arm64 (1.54.0+ds-2) ... 2365s Selecting previously unselected package libpangoft2-1.0-0:arm64. 2365s Preparing to unpack .../054-libpangoft2-1.0-0_1.54.0+ds-2_arm64.deb ... 2365s Unpacking libpangoft2-1.0-0:arm64 (1.54.0+ds-2) ... 2365s Selecting previously unselected package libpangocairo-1.0-0:arm64. 2365s Preparing to unpack .../055-libpangocairo-1.0-0_1.54.0+ds-2_arm64.deb ... 2365s Unpacking libpangocairo-1.0-0:arm64 (1.54.0+ds-2) ... 2365s Selecting previously unselected package libwayland-client0:arm64. 2365s Preparing to unpack .../056-libwayland-client0_1.23.0-1_arm64.deb ... 2365s Unpacking libwayland-client0:arm64 (1.23.0-1) ... 2365s Selecting previously unselected package libwayland-cursor0:arm64. 2365s Preparing to unpack .../057-libwayland-cursor0_1.23.0-1_arm64.deb ... 2365s Unpacking libwayland-cursor0:arm64 (1.23.0-1) ... 2365s Selecting previously unselected package libwayland-egl1:arm64. 2365s Preparing to unpack .../058-libwayland-egl1_1.23.0-1_arm64.deb ... 2365s Unpacking libwayland-egl1:arm64 (1.23.0-1) ... 2365s Selecting previously unselected package libxcomposite1:arm64. 2365s Preparing to unpack .../059-libxcomposite1_1%3a0.4.5-1build3_arm64.deb ... 2365s Unpacking libxcomposite1:arm64 (1:0.4.5-1build3) ... 2365s Selecting previously unselected package libxfixes3:arm64. 2365s Preparing to unpack .../060-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 2365s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 2365s Selecting previously unselected package libxcursor1:arm64. 2365s Preparing to unpack .../061-libxcursor1_1%3a1.2.2-1_arm64.deb ... 2365s Unpacking libxcursor1:arm64 (1:1.2.2-1) ... 2365s Selecting previously unselected package libxdamage1:arm64. 2365s Preparing to unpack .../062-libxdamage1_1%3a1.1.6-1build1_arm64.deb ... 2365s Unpacking libxdamage1:arm64 (1:1.1.6-1build1) ... 2365s Selecting previously unselected package libxinerama1:arm64. 2365s Preparing to unpack .../063-libxinerama1_2%3a1.1.4-3build1_arm64.deb ... 2365s Unpacking libxinerama1:arm64 (2:1.1.4-3build1) ... 2365s Selecting previously unselected package libxrandr2:arm64. 2365s Preparing to unpack .../064-libxrandr2_2%3a1.5.4-1_arm64.deb ... 2365s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 2365s Selecting previously unselected package libdconf1:arm64. 2365s Preparing to unpack .../065-libdconf1_0.40.0-4build2_arm64.deb ... 2365s Unpacking libdconf1:arm64 (0.40.0-4build2) ... 2365s Selecting previously unselected package dconf-service. 2365s Preparing to unpack .../066-dconf-service_0.40.0-4build2_arm64.deb ... 2365s Unpacking dconf-service (0.40.0-4build2) ... 2365s Selecting previously unselected package dconf-gsettings-backend:arm64. 2365s Preparing to unpack .../067-dconf-gsettings-backend_0.40.0-4build2_arm64.deb ... 2365s Unpacking dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 2365s Selecting previously unselected package libgtk-3-common. 2365s Preparing to unpack .../068-libgtk-3-common_3.24.43-3ubuntu2_all.deb ... 2365s Unpacking libgtk-3-common (3.24.43-3ubuntu2) ... 2365s Selecting previously unselected package libgtk-3-0t64:arm64. 2365s Preparing to unpack .../069-libgtk-3-0t64_3.24.43-3ubuntu2_arm64.deb ... 2365s Unpacking libgtk-3-0t64:arm64 (3.24.43-3ubuntu2) ... 2365s Selecting previously unselected package libglvnd0:arm64. 2365s Preparing to unpack .../070-libglvnd0_1.7.0-1build1_arm64.deb ... 2365s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 2365s Selecting previously unselected package libglapi-mesa:arm64. 2365s Preparing to unpack .../071-libglapi-mesa_24.2.3-1ubuntu1_arm64.deb ... 2365s Unpacking libglapi-mesa:arm64 (24.2.3-1ubuntu1) ... 2365s Selecting previously unselected package libx11-xcb1:arm64. 2365s Preparing to unpack .../072-libx11-xcb1_2%3a1.8.7-1build1_arm64.deb ... 2365s Unpacking libx11-xcb1:arm64 (2:1.8.7-1build1) ... 2365s Selecting previously unselected package libxcb-dri2-0:arm64. 2365s Preparing to unpack .../073-libxcb-dri2-0_1.17.0-2_arm64.deb ... 2365s Unpacking libxcb-dri2-0:arm64 (1.17.0-2) ... 2365s Selecting previously unselected package libxcb-dri3-0:arm64. 2365s Preparing to unpack .../074-libxcb-dri3-0_1.17.0-2_arm64.deb ... 2365s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 2366s Selecting previously unselected package libxcb-glx0:arm64. 2366s Preparing to unpack .../075-libxcb-glx0_1.17.0-2_arm64.deb ... 2366s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 2366s Selecting previously unselected package libxcb-present0:arm64. 2366s Preparing to unpack .../076-libxcb-present0_1.17.0-2_arm64.deb ... 2366s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 2366s Selecting previously unselected package libxcb-randr0:arm64. 2366s Preparing to unpack .../077-libxcb-randr0_1.17.0-2_arm64.deb ... 2366s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 2366s Selecting previously unselected package libxcb-sync1:arm64. 2366s Preparing to unpack .../078-libxcb-sync1_1.17.0-2_arm64.deb ... 2366s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 2366s Selecting previously unselected package libxcb-xfixes0:arm64. 2366s Preparing to unpack .../079-libxcb-xfixes0_1.17.0-2_arm64.deb ... 2366s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 2366s Selecting previously unselected package libxshmfence1:arm64. 2366s Preparing to unpack .../080-libxshmfence1_1.3-1build5_arm64.deb ... 2366s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 2366s Selecting previously unselected package libxxf86vm1:arm64. 2366s Preparing to unpack .../081-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 2366s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 2366s Selecting previously unselected package libdrm-amdgpu1:arm64. 2366s Preparing to unpack .../082-libdrm-amdgpu1_2.4.122-1_arm64.deb ... 2366s Unpacking libdrm-amdgpu1:arm64 (2.4.122-1) ... 2366s Selecting previously unselected package libdrm-radeon1:arm64. 2366s Preparing to unpack .../083-libdrm-radeon1_2.4.122-1_arm64.deb ... 2366s Unpacking libdrm-radeon1:arm64 (2.4.122-1) ... 2366s Selecting previously unselected package mesa-libgallium:arm64. 2366s Preparing to unpack .../084-mesa-libgallium_24.2.3-1ubuntu1_arm64.deb ... 2366s Unpacking mesa-libgallium:arm64 (24.2.3-1ubuntu1) ... 2366s Selecting previously unselected package libvulkan1:arm64. 2366s Preparing to unpack .../085-libvulkan1_1.3.290.0-1_arm64.deb ... 2366s Unpacking libvulkan1:arm64 (1.3.290.0-1) ... 2366s Selecting previously unselected package libwayland-server0:arm64. 2366s Preparing to unpack .../086-libwayland-server0_1.23.0-1_arm64.deb ... 2366s Unpacking libwayland-server0:arm64 (1.23.0-1) ... 2366s Selecting previously unselected package libgbm1:arm64. 2366s Preparing to unpack .../087-libgbm1_24.2.3-1ubuntu1_arm64.deb ... 2366s Unpacking libgbm1:arm64 (24.2.3-1ubuntu1) ... 2366s Selecting previously unselected package libgl1-mesa-dri:arm64. 2366s Preparing to unpack .../088-libgl1-mesa-dri_24.2.3-1ubuntu1_arm64.deb ... 2366s Unpacking libgl1-mesa-dri:arm64 (24.2.3-1ubuntu1) ... 2366s Selecting previously unselected package libglx-mesa0:arm64. 2366s Preparing to unpack .../089-libglx-mesa0_24.2.3-1ubuntu1_arm64.deb ... 2366s Unpacking libglx-mesa0:arm64 (24.2.3-1ubuntu1) ... 2366s Selecting previously unselected package libglx0:arm64. 2366s Preparing to unpack .../090-libglx0_1.7.0-1build1_arm64.deb ... 2366s Unpacking libglx0:arm64 (1.7.0-1build1) ... 2366s Selecting previously unselected package libgl1:arm64. 2366s Preparing to unpack .../091-libgl1_1.7.0-1build1_arm64.deb ... 2366s Unpacking libgl1:arm64 (1.7.0-1build1) ... 2366s Selecting previously unselected package libasound2-data. 2366s Preparing to unpack .../092-libasound2-data_1.2.12-1_all.deb ... 2366s Unpacking libasound2-data (1.2.12-1) ... 2366s Selecting previously unselected package libasound2t64:arm64. 2366s Preparing to unpack .../093-libasound2t64_1.2.12-1_arm64.deb ... 2366s Unpacking libasound2t64:arm64 (1.2.12-1) ... 2366s Selecting previously unselected package libgif7:arm64. 2366s Preparing to unpack .../094-libgif7_5.2.2-1ubuntu1_arm64.deb ... 2366s Unpacking libgif7:arm64 (5.2.2-1ubuntu1) ... 2366s Selecting previously unselected package x11-common. 2366s Preparing to unpack .../095-x11-common_1%3a7.7+23ubuntu3_all.deb ... 2366s Unpacking x11-common (1:7.7+23ubuntu3) ... 2366s Selecting previously unselected package libxtst6:arm64. 2367s Preparing to unpack .../096-libxtst6_2%3a1.2.3-1.1build1_arm64.deb ... 2367s Unpacking libxtst6:arm64 (2:1.2.3-1.1build1) ... 2367s Selecting previously unselected package openjdk-21-jre:arm64. 2367s Preparing to unpack .../097-openjdk-21-jre_21.0.5+11-1_arm64.deb ... 2367s Unpacking openjdk-21-jre:arm64 (21.0.5+11-1) ... 2367s Selecting previously unselected package default-jre. 2367s Preparing to unpack .../098-default-jre_2%3a1.21-76_arm64.deb ... 2367s Unpacking default-jre (2:1.21-76) ... 2367s Selecting previously unselected package libhamcrest-java. 2367s Preparing to unpack .../099-libhamcrest-java_2.2-2_all.deb ... 2367s Unpacking libhamcrest-java (2.2-2) ... 2367s Selecting previously unselected package junit4. 2367s Preparing to unpack .../100-junit4_4.13.2-4_all.deb ... 2367s Unpacking junit4 (4.13.2-4) ... 2367s Selecting previously unselected package libcommons-cli-java. 2367s Preparing to unpack .../101-libcommons-cli-java_1.6.0-1_all.deb ... 2367s Unpacking libcommons-cli-java (1.6.0-1) ... 2367s Selecting previously unselected package libapache-pom-java. 2367s Preparing to unpack .../102-libapache-pom-java_29-2_all.deb ... 2367s Unpacking libapache-pom-java (29-2) ... 2367s Selecting previously unselected package libcommons-parent-java. 2367s Preparing to unpack .../103-libcommons-parent-java_56-1_all.deb ... 2367s Unpacking libcommons-parent-java (56-1) ... 2367s Selecting previously unselected package libcommons-io-java. 2367s Preparing to unpack .../104-libcommons-io-java_2.16.1-1_all.deb ... 2367s Unpacking libcommons-io-java (2.16.1-1) ... 2367s Selecting previously unselected package libdropwizard-metrics-java. 2367s Preparing to unpack .../105-libdropwizard-metrics-java_3.2.6-1_all.deb ... 2367s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 2367s Selecting previously unselected package libfindbugs-annotations-java. 2367s Preparing to unpack .../106-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 2367s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 2367s Selecting previously unselected package libatinject-jsr330-api-java. 2367s Preparing to unpack .../107-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 2367s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 2367s Selecting previously unselected package liberror-prone-java. 2367s Preparing to unpack .../108-liberror-prone-java_2.18.0-1_all.deb ... 2367s Unpacking liberror-prone-java (2.18.0-1) ... 2367s Selecting previously unselected package libjsr305-java. 2367s Preparing to unpack .../109-libjsr305-java_0.1~+svn49-11_all.deb ... 2367s Unpacking libjsr305-java (0.1~+svn49-11) ... 2367s Selecting previously unselected package libguava-java. 2367s Preparing to unpack .../110-libguava-java_32.0.1-1_all.deb ... 2367s Unpacking libguava-java (32.0.1-1) ... 2367s Selecting previously unselected package libjackson2-annotations-java. 2367s Preparing to unpack .../111-libjackson2-annotations-java_2.14.0-1_all.deb ... 2367s Unpacking libjackson2-annotations-java (2.14.0-1) ... 2367s Selecting previously unselected package libjackson2-core-java. 2367s Preparing to unpack .../112-libjackson2-core-java_2.14.1-1_all.deb ... 2367s Unpacking libjackson2-core-java (2.14.1-1) ... 2367s Selecting previously unselected package libjackson2-databind-java. 2367s Preparing to unpack .../113-libjackson2-databind-java_2.14.0-1_all.deb ... 2367s Unpacking libjackson2-databind-java (2.14.0-1) ... 2367s Selecting previously unselected package libasm-java. 2367s Preparing to unpack .../114-libasm-java_9.7-2_all.deb ... 2367s Unpacking libasm-java (9.7-2) ... 2367s Selecting previously unselected package libel-api-java. 2367s Preparing to unpack .../115-libel-api-java_3.0.0-3_all.deb ... 2367s Unpacking libel-api-java (3.0.0-3) ... 2367s Selecting previously unselected package libjsp-api-java. 2367s Preparing to unpack .../116-libjsp-api-java_2.3.4-3_all.deb ... 2367s Unpacking libjsp-api-java (2.3.4-3) ... 2367s Selecting previously unselected package libservlet-api-java. 2367s Preparing to unpack .../117-libservlet-api-java_4.0.1-2_all.deb ... 2367s Unpacking libservlet-api-java (4.0.1-2) ... 2367s Selecting previously unselected package libwebsocket-api-java. 2367s Preparing to unpack .../118-libwebsocket-api-java_1.1-2_all.deb ... 2367s Unpacking libwebsocket-api-java (1.1-2) ... 2367s Selecting previously unselected package libjetty9-java. 2367s Preparing to unpack .../119-libjetty9-java_9.4.55-1_all.deb ... 2367s Unpacking libjetty9-java (9.4.55-1) ... 2368s Selecting previously unselected package libjnr-constants-java. 2368s Preparing to unpack .../120-libjnr-constants-java_0.10.4-2_all.deb ... 2368s Unpacking libjnr-constants-java (0.10.4-2) ... 2368s Selecting previously unselected package libjffi-jni:arm64. 2368s Preparing to unpack .../121-libjffi-jni_1.3.13+ds-1_arm64.deb ... 2368s Unpacking libjffi-jni:arm64 (1.3.13+ds-1) ... 2368s Selecting previously unselected package libjffi-java. 2368s Preparing to unpack .../122-libjffi-java_1.3.13+ds-1_all.deb ... 2368s Unpacking libjffi-java (1.3.13+ds-1) ... 2368s Selecting previously unselected package libjnr-x86asm-java. 2368s Preparing to unpack .../123-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 2368s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 2368s Selecting previously unselected package libjnr-ffi-java. 2368s Preparing to unpack .../124-libjnr-ffi-java_2.2.15-2_all.deb ... 2368s Unpacking libjnr-ffi-java (2.2.15-2) ... 2368s Selecting previously unselected package libjnr-enxio-java. 2368s Preparing to unpack .../125-libjnr-enxio-java_0.32.16-1_all.deb ... 2368s Unpacking libjnr-enxio-java (0.32.16-1) ... 2368s Selecting previously unselected package libjnr-posix-java. 2368s Preparing to unpack .../126-libjnr-posix-java_3.1.18-1_all.deb ... 2368s Unpacking libjnr-posix-java (3.1.18-1) ... 2368s Selecting previously unselected package libjnr-unixsocket-java. 2368s Preparing to unpack .../127-libjnr-unixsocket-java_0.38.21-2_all.deb ... 2368s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 2368s Selecting previously unselected package libactivation-java. 2368s Preparing to unpack .../128-libactivation-java_1.2.0-2_all.deb ... 2368s Unpacking libactivation-java (1.2.0-2) ... 2368s Selecting previously unselected package libmail-java. 2368s Preparing to unpack .../129-libmail-java_1.6.5-2_all.deb ... 2368s Unpacking libmail-java (1.6.5-2) ... 2368s Selecting previously unselected package libcommons-logging-java. 2368s Preparing to unpack .../130-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 2368s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 2368s Selecting previously unselected package libjaxb-api-java. 2368s Preparing to unpack .../131-libjaxb-api-java_2.3.1-1_all.deb ... 2368s Unpacking libjaxb-api-java (2.3.1-1) ... 2368s Selecting previously unselected package libspring-core-java. 2368s Preparing to unpack .../132-libspring-core-java_4.3.30-2_all.deb ... 2368s Unpacking libspring-core-java (4.3.30-2) ... 2368s Selecting previously unselected package libspring-beans-java. 2368s Preparing to unpack .../133-libspring-beans-java_4.3.30-2_all.deb ... 2368s Unpacking libspring-beans-java (4.3.30-2) ... 2368s Selecting previously unselected package libtaglibs-standard-spec-java. 2368s Preparing to unpack .../134-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 2368s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 2368s Selecting previously unselected package libtaglibs-standard-impl-java. 2368s Preparing to unpack .../135-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 2368s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 2368s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 2368s Preparing to unpack .../136-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-1_all.deb ... 2368s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-1) ... 2368s Selecting previously unselected package libeclipse-jdt-core-java. 2368s Preparing to unpack .../137-libeclipse-jdt-core-java_3.35.0+eclipse4.29-1_all.deb ... 2368s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-1) ... 2368s Selecting previously unselected package libtomcat9-java. 2368s Preparing to unpack .../138-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 2368s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 2368s Selecting previously unselected package libjetty9-extra-java. 2368s Preparing to unpack .../139-libjetty9-extra-java_9.4.55-1_all.deb ... 2368s Unpacking libjetty9-extra-java (9.4.55-1) ... 2369s Selecting previously unselected package libjctools-java. 2369s Preparing to unpack .../140-libjctools-java_2.0.2-1_all.deb ... 2369s Unpacking libjctools-java (2.0.2-1) ... 2369s Selecting previously unselected package libnetty-java. 2369s Preparing to unpack .../141-libnetty-java_1%3a4.1.48-10_all.deb ... 2369s Unpacking libnetty-java (1:4.1.48-10) ... 2369s Selecting previously unselected package libslf4j-java. 2369s Preparing to unpack .../142-libslf4j-java_1.7.32-1_all.deb ... 2369s Unpacking libslf4j-java (1.7.32-1) ... 2369s Selecting previously unselected package libsnappy1v5:arm64. 2369s Preparing to unpack .../143-libsnappy1v5_1.2.1-1_arm64.deb ... 2369s Unpacking libsnappy1v5:arm64 (1.2.1-1) ... 2369s Selecting previously unselected package libsnappy-jni. 2369s Preparing to unpack .../144-libsnappy-jni_1.1.10.5-2_arm64.deb ... 2369s Unpacking libsnappy-jni (1.1.10.5-2) ... 2369s Selecting previously unselected package libsnappy-java. 2369s Preparing to unpack .../145-libsnappy-java_1.1.10.5-2_all.deb ... 2369s Unpacking libsnappy-java (1.1.10.5-2) ... 2369s Selecting previously unselected package libapr1t64:arm64. 2369s Preparing to unpack .../146-libapr1t64_1.7.2-3.2ubuntu1_arm64.deb ... 2369s Unpacking libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 2369s Selecting previously unselected package libnetty-tcnative-jni. 2369s Preparing to unpack .../147-libnetty-tcnative-jni_2.0.28-1build4_arm64.deb ... 2369s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 2369s Selecting previously unselected package libnetty-tcnative-java. 2369s Preparing to unpack .../148-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 2369s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 2369s Selecting previously unselected package liblog4j1.2-java. 2369s Preparing to unpack .../149-liblog4j1.2-java_1.2.17-11_all.deb ... 2369s Unpacking liblog4j1.2-java (1.2.17-11) ... 2369s Selecting previously unselected package libzookeeper-java. 2369s Preparing to unpack .../150-libzookeeper-java_3.9.2-2_all.deb ... 2369s Unpacking libzookeeper-java (3.9.2-2) ... 2369s Selecting previously unselected package zookeeper. 2369s Preparing to unpack .../151-zookeeper_3.9.2-2_all.deb ... 2369s Unpacking zookeeper (3.9.2-2) ... 2369s Selecting previously unselected package zookeeperd. 2369s Preparing to unpack .../152-zookeeperd_3.9.2-2_all.deb ... 2369s Unpacking zookeeperd (3.9.2-2) ... 2369s Selecting previously unselected package fonts-font-awesome. 2369s Preparing to unpack .../153-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2369s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2369s Selecting previously unselected package libcares2:arm64. 2369s Preparing to unpack .../154-libcares2_1.33.0-1_arm64.deb ... 2369s Unpacking libcares2:arm64 (1.33.0-1) ... 2369s Selecting previously unselected package libev4t64:arm64. 2369s Preparing to unpack .../155-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 2369s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 2369s Selecting previously unselected package libio-pty-perl. 2369s Preparing to unpack .../156-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 2369s Unpacking libio-pty-perl (1:1.20-1build3) ... 2369s Selecting previously unselected package libipc-run-perl. 2369s Preparing to unpack .../157-libipc-run-perl_20231003.0-2_all.deb ... 2369s Unpacking libipc-run-perl (20231003.0-2) ... 2369s Selecting previously unselected package libjs-jquery. 2369s Preparing to unpack .../158-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2369s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2369s Selecting previously unselected package libjs-underscore. 2369s Preparing to unpack .../159-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2369s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2369s Selecting previously unselected package libjs-sphinxdoc. 2369s Preparing to unpack .../160-libjs-sphinxdoc_7.4.7-3_all.deb ... 2369s Unpacking libjs-sphinxdoc (7.4.7-3) ... 2369s Selecting previously unselected package libpq5:arm64. 2369s Preparing to unpack .../161-libpq5_17.0-1_arm64.deb ... 2369s Unpacking libpq5:arm64 (17.0-1) ... 2370s Selecting previously unselected package libtime-duration-perl. 2370s Preparing to unpack .../162-libtime-duration-perl_1.21-2_all.deb ... 2370s Unpacking libtime-duration-perl (1.21-2) ... 2370s Selecting previously unselected package libtimedate-perl. 2370s Preparing to unpack .../163-libtimedate-perl_2.3300-2_all.deb ... 2370s Unpacking libtimedate-perl (2.3300-2) ... 2370s Selecting previously unselected package libxslt1.1:arm64. 2370s Preparing to unpack .../164-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 2370s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 2370s Selecting previously unselected package moreutils. 2370s Preparing to unpack .../165-moreutils_0.69-1_arm64.deb ... 2370s Unpacking moreutils (0.69-1) ... 2370s Selecting previously unselected package python3-cdiff. 2370s Preparing to unpack .../166-python3-cdiff_1.0-1.1_all.deb ... 2370s Unpacking python3-cdiff (1.0-1.1) ... 2370s Selecting previously unselected package python3-colorama. 2370s Preparing to unpack .../167-python3-colorama_0.4.6-4_all.deb ... 2370s Unpacking python3-colorama (0.4.6-4) ... 2370s Selecting previously unselected package python3-click. 2370s Preparing to unpack .../168-python3-click_8.1.7-2_all.deb ... 2370s Unpacking python3-click (8.1.7-2) ... 2370s Selecting previously unselected package python3-six. 2370s Preparing to unpack .../169-python3-six_1.16.0-7_all.deb ... 2370s Unpacking python3-six (1.16.0-7) ... 2370s Selecting previously unselected package python3-dateutil. 2370s Preparing to unpack .../170-python3-dateutil_2.9.0-2_all.deb ... 2370s Unpacking python3-dateutil (2.9.0-2) ... 2370s Selecting previously unselected package python3-wcwidth. 2370s Preparing to unpack .../171-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2370s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2370s Selecting previously unselected package python3-prettytable. 2370s Preparing to unpack .../172-python3-prettytable_3.10.1-1_all.deb ... 2370s Unpacking python3-prettytable (3.10.1-1) ... 2370s Selecting previously unselected package python3-psutil. 2370s Preparing to unpack .../173-python3-psutil_5.9.8-2build2_arm64.deb ... 2370s Unpacking python3-psutil (5.9.8-2build2) ... 2370s Selecting previously unselected package python3-psycopg2. 2370s Preparing to unpack .../174-python3-psycopg2_2.9.9-2_arm64.deb ... 2370s Unpacking python3-psycopg2 (2.9.9-2) ... 2370s Selecting previously unselected package python3-greenlet. 2370s Preparing to unpack .../175-python3-greenlet_3.0.3-0ubuntu6_arm64.deb ... 2370s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 2370s Selecting previously unselected package python3-dnspython. 2370s Preparing to unpack .../176-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 2370s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 2370s Selecting previously unselected package python3-eventlet. 2370s Preparing to unpack .../177-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 2370s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 2370s Selecting previously unselected package python3-zope.event. 2370s Preparing to unpack .../178-python3-zope.event_5.0-0.1_all.deb ... 2370s Unpacking python3-zope.event (5.0-0.1) ... 2370s Selecting previously unselected package python3-zope.interface. 2370s Preparing to unpack .../179-python3-zope.interface_6.4-1_arm64.deb ... 2370s Unpacking python3-zope.interface (6.4-1) ... 2370s Selecting previously unselected package python3-gevent. 2370s Preparing to unpack .../180-python3-gevent_24.2.1-1_arm64.deb ... 2370s Unpacking python3-gevent (24.2.1-1) ... 2370s Selecting previously unselected package python3-kerberos. 2370s Preparing to unpack .../181-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 2370s Unpacking python3-kerberos (1.1.14-3.1build9) ... 2370s Selecting previously unselected package python3-pure-sasl. 2370s Preparing to unpack .../182-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 2370s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 2370s Selecting previously unselected package python3-kazoo. 2370s Preparing to unpack .../183-python3-kazoo_2.9.0-2_all.deb ... 2370s Unpacking python3-kazoo (2.9.0-2) ... 2371s Selecting previously unselected package patroni. 2371s Preparing to unpack .../184-patroni_3.3.2-1_all.deb ... 2371s Unpacking patroni (3.3.2-1) ... 2371s Selecting previously unselected package sphinx-rtd-theme-common. 2371s Preparing to unpack .../185-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 2371s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2371s Selecting previously unselected package patroni-doc. 2371s Preparing to unpack .../186-patroni-doc_3.3.2-1_all.deb ... 2371s Unpacking patroni-doc (3.3.2-1) ... 2371s Selecting previously unselected package postgresql-client-16. 2371s Preparing to unpack .../187-postgresql-client-16_16.4-3_arm64.deb ... 2371s Unpacking postgresql-client-16 (16.4-3) ... 2371s Selecting previously unselected package postgresql-16. 2371s Preparing to unpack .../188-postgresql-16_16.4-3_arm64.deb ... 2371s Unpacking postgresql-16 (16.4-3) ... 2371s Selecting previously unselected package postgresql. 2371s Preparing to unpack .../189-postgresql_16+262_all.deb ... 2371s Unpacking postgresql (16+262) ... 2371s Selecting previously unselected package python3-parse. 2371s Preparing to unpack .../190-python3-parse_1.20.2-1_all.deb ... 2371s Unpacking python3-parse (1.20.2-1) ... 2371s Selecting previously unselected package python3-parse-type. 2371s Preparing to unpack .../191-python3-parse-type_0.6.2-1_all.deb ... 2371s Unpacking python3-parse-type (0.6.2-1) ... 2371s Selecting previously unselected package python3-behave. 2371s Preparing to unpack .../192-python3-behave_1.2.6-5_all.deb ... 2371s Unpacking python3-behave (1.2.6-5) ... 2371s Selecting previously unselected package python3-coverage. 2371s Preparing to unpack .../193-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 2371s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2371s Selecting previously unselected package autopkgtest-satdep. 2371s Preparing to unpack .../194-4-autopkgtest-satdep.deb ... 2371s Unpacking autopkgtest-satdep (0) ... 2371s Setting up postgresql-client-common (262) ... 2371s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 2371s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 2371s Setting up liblcms2-2:arm64 (2.14-2build1) ... 2371s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 2371s Setting up libpixman-1-0:arm64 (0.42.2-1build1) ... 2371s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 2371s Setting up libjackson2-annotations-java (2.14.0-1) ... 2371s Setting up libsharpyuv0:arm64 (1.4.0-0.1) ... 2371s Setting up libwayland-server0:arm64 (1.23.0-1) ... 2371s Setting up libx11-xcb1:arm64 (2:1.8.7-1build1) ... 2371s Setting up libslf4j-java (1.7.32-1) ... 2371s Setting up fonts-lato (2.015-1) ... 2371s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-1) ... 2371s Setting up libxdamage1:arm64 (1:1.1.6-1build1) ... 2371s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 2371s Setting up liblerc4:arm64 (4.0.0+ds-4ubuntu2) ... 2371s Setting up libjsr305-java (0.1~+svn49-11) ... 2371s Setting up hicolor-icon-theme (0.18-1) ... 2371s Setting up libxi6:arm64 (2:1.8.2-1) ... 2371s Setting up java-common (0.76) ... 2371s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 2371s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 2371s Setting up libcommons-cli-java (1.6.0-1) ... 2371s Setting up libio-pty-perl (1:1.20-1build3) ... 2371s Setting up python3-colorama (0.4.6-4) ... 2372s Setting up libxcb-render0:arm64 (1.17.0-2) ... 2372s Setting up python3-zope.event (5.0-0.1) ... 2372s Setting up python3-zope.interface (6.4-1) ... 2372s Setting up libdrm-radeon1:arm64 (2.4.122-1) ... 2372s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 2372s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 2372s Setting up python3-cdiff (1.0-1.1) ... 2372s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 2372s Setting up libasm-java (9.7-2) ... 2372s Setting up x11-common (1:7.7+23ubuntu3) ... 2373s Setting up libpq5:arm64 (17.0-1) ... 2373s Setting up libdeflate0:arm64 (1.21-1) ... 2373s Setting up python3-kerberos (1.1.14-3.1build9) ... 2373s Setting up liblog4j1.2-java (1.2.17-11) ... 2373s Setting up libel-api-java (3.0.0-3) ... 2373s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2373s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 2373s Setting up python3-click (8.1.7-2) ... 2373s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 2373s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 2373s Setting up libcolord2:arm64 (1.4.7-1build2) ... 2373s Setting up python3-psutil (5.9.8-2build2) ... 2373s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-1) ... 2373s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 2373s Setting up libsnappy1v5:arm64 (1.2.1-1) ... 2373s Setting up libxcb-present0:arm64 (1.17.0-2) ... 2373s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 2373s Setting up libdconf1:arm64 (0.40.0-4build2) ... 2373s Setting up libjctools-java (2.0.2-1) ... 2373s Setting up libdropwizard-metrics-java (3.2.6-1) ... 2373s Setting up python3-six (1.16.0-7) ... 2373s Setting up libasound2-data (1.2.12-1) ... 2373s Setting up libasound2t64:arm64 (1.2.12-1) ... 2373s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2374s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 2374s Setting up libepoxy0:arm64 (1.5.10-1build1) ... 2374s Setting up ssl-cert (1.1.2ubuntu2) ... 2374s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2374s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 2374s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 2374s Setting up libapache-pom-java (29-2) ... 2374s Setting up libavahi-common-data:arm64 (0.8-13ubuntu6) ... 2374s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 2374s Setting up libatspi2.0-0t64:arm64 (2.54.0-1) ... 2374s Setting up libwebsocket-api-java (1.1-2) ... 2374s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 2375s Setting up libxinerama1:arm64 (2:1.1.4-3build1) ... 2375s Setting up fonts-dejavu-mono (2.37-8) ... 2375s Setting up libcares2:arm64 (1.33.0-1) ... 2375s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 2375s Setting up python3-psycopg2 (2.9.9-2) ... 2375s Setting up fonts-dejavu-core (2.37-8) ... 2375s Setting up libipc-run-perl (20231003.0-2) ... 2375s Setting up libpcsclite1:arm64 (2.3.0-1) ... 2375s Setting up libjpeg-turbo8:arm64 (2.1.5-2ubuntu2) ... 2375s Setting up libactivation-java (1.2.0-2) ... 2375s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 2375s Setting up libhamcrest-java (2.2-2) ... 2375s Setting up libglapi-mesa:arm64 (24.2.3-1ubuntu1) ... 2375s Setting up libjsp-api-java (2.3.4-3) ... 2375s Setting up libvulkan1:arm64 (1.3.290.0-1) ... 2375s Setting up libtime-duration-perl (1.21-2) ... 2375s Setting up libwebp7:arm64 (1.4.0-0.1) ... 2375s Setting up libtimedate-perl (2.3300-2) ... 2375s Setting up libxcb-dri2-0:arm64 (1.17.0-2) ... 2375s Setting up libgif7:arm64 (5.2.2-1ubuntu1) ... 2375s Setting up libxshmfence1:arm64 (1.3-1build5) ... 2375s Setting up libmail-java (1.6.5-2) ... 2375s Setting up at-spi2-common (2.54.0-1) ... 2375s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 2375s Setting up libnetty-java (1:4.1.48-10) ... 2375s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 2375s Setting up python3-parse (1.20.2-1) ... 2375s Setting up libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 2375s Setting up libjson-perl (4.10000-1) ... 2375s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 2375s Setting up libservlet-api-java (4.0.1-2) ... 2375s Setting up libjackson2-core-java (2.14.1-1) ... 2375s Setting up libharfbuzz0b:arm64 (9.0.0-1) ... 2375s Setting up libthai-data (0.1.29-2build1) ... 2375s Setting up python3-dateutil (2.9.0-2) ... 2375s Setting up libjffi-jni:arm64 (1.3.13+ds-1) ... 2375s Setting up libwayland-egl1:arm64 (1.23.0-1) ... 2375s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2375s Setting up ca-certificates-java (20240118) ... 2375s No JRE found. Skipping Java certificates setup. 2375s Setting up python3-prettytable (3.10.1-1) ... 2376s Setting up libsnappy-jni (1.1.10.5-2) ... 2376s Setting up libxcomposite1:arm64 (1:0.4.5-1build3) ... 2376s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2376s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 2376s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2376s Setting up libdrm-amdgpu1:arm64 (2.4.122-1) ... 2376s Setting up libjnr-constants-java (0.10.4-2) ... 2376s Setting up libwayland-client0:arm64 (1.23.0-1) ... 2376s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 2376s Setting up libjaxb-api-java (2.3.1-1) ... 2376s Setting up libjffi-java (1.3.13+ds-1) ... 2376s Setting up mesa-libgallium:arm64 (24.2.3-1ubuntu1) ... 2376s Setting up libjetty9-java (9.4.55-1) ... 2376s Setting up moreutils (0.69-1) ... 2376s Setting up libatk1.0-0t64:arm64 (2.54.0-1) ... 2376s Setting up openjdk-21-jre-headless:arm64 (21.0.5+11-1) ... 2376s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 2376s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 2376s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 2376s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 2376s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 2376s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 2376s Setting up libgbm1:arm64 (24.2.3-1ubuntu1) ... 2376s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 2376s Setting up libxtst6:arm64 (2:1.2.3-1.1build1) ... 2376s Setting up libxcursor1:arm64 (1:1.2.2-1) ... 2376s Setting up postgresql-client-16 (16.4-3) ... 2376s 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 2376s Setting up libgl1-mesa-dri:arm64 (24.2.3-1ubuntu1) ... 2376s Setting up libcommons-parent-java (56-1) ... 2376s Setting up libavahi-common3:arm64 (0.8-13ubuntu6) ... 2376s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 2376s Setting up dconf-service (0.40.0-4build2) ... 2376s Setting up python3-gevent (24.2.1-1) ... 2377s Setting up libjackson2-databind-java (2.14.0-1) ... 2377s Setting up libthai0:arm64 (0.1.29-2build1) ... 2377s Setting up python3-parse-type (0.6.2-1) ... 2377s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 2377s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 2377s Setting up python3-kazoo (2.9.0-2) ... 2377s Setting up postgresql-common (262) ... 2378s 2378s Creating config file /etc/postgresql-common/createcluster.conf with new version 2378s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2378s Removing obsolete dictionary files: 2379s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2379s Setting up libjs-sphinxdoc (7.4.7-3) ... 2379s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 2379s Setting up libwayland-cursor0:arm64 (1.23.0-1) ... 2379s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 2379s Setting up python3-behave (1.2.6-5) ... 2379s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2379s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2379s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2379s """Registers a custom type that will be available to "parse" 2379s Setting up libsnappy-java (1.1.10.5-2) ... 2379s Setting up libfontconfig1:arm64 (2.15.0-1.1ubuntu2) ... 2379s Setting up patroni (3.3.2-1) ... 2379s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2380s Setting up libavahi-client3:arm64 (0.8-13ubuntu6) ... 2380s Setting up libjnr-ffi-java (2.2.15-2) ... 2380s Setting up libatk-bridge2.0-0t64:arm64 (2.54.0-1) ... 2380s Setting up gtk-update-icon-cache (4.16.2+ds-2) ... 2380s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 2382s Regenerating fonts cache... done. 2382s Setting up libglx-mesa0:arm64 (24.2.3-1ubuntu1) ... 2382s Setting up postgresql-16 (16.4-3) ... 2382s Creating new PostgreSQL cluster 16/main ... 2382s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2382s The files belonging to this database system will be owned by user "postgres". 2382s This user must also own the server process. 2382s 2382s The database cluster will be initialized with locale "C.UTF-8". 2382s The default database encoding has accordingly been set to "UTF8". 2382s The default text search configuration will be set to "english". 2382s 2382s Data page checksums are disabled. 2382s 2382s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2382s creating subdirectories ... ok 2382s selecting dynamic shared memory implementation ... posix 2382s selecting default max_connections ... 100 2382s selecting default shared_buffers ... 128MB 2382s selecting default time zone ... Etc/UTC 2382s creating configuration files ... ok 2382s running bootstrap script ... ok 2383s performing post-bootstrap initialization ... ok 2383s syncing data to disk ... ok 2387s Setting up libglx0:arm64 (1.7.0-1build1) ... 2387s Setting up libspring-core-java (4.3.30-2) ... 2387s Setting up dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 2387s Setting up libcommons-io-java (2.16.1-1) ... 2387s Setting up patroni-doc (3.3.2-1) ... 2387s Setting up libpango-1.0-0:arm64 (1.54.0+ds-2) ... 2387s Setting up libcairo2:arm64 (1.18.2-2) ... 2387s Setting up libjnr-enxio-java (0.32.16-1) ... 2387s Setting up libgl1:arm64 (1.7.0-1build1) ... 2387s Setting up libcairo-gobject2:arm64 (1.18.2-2) ... 2387s Setting up postgresql (16+262) ... 2387s Setting up libpangoft2-1.0-0:arm64 (1.54.0+ds-2) ... 2387s Setting up libcups2t64:arm64 (2.4.10-1ubuntu2) ... 2387s Setting up libgtk-3-common (3.24.43-3ubuntu2) ... 2387s Setting up libjnr-posix-java (3.1.18-1) ... 2387s Setting up libpangocairo-1.0-0:arm64 (1.54.0+ds-2) ... 2387s Setting up libspring-beans-java (4.3.30-2) ... 2387s Setting up libjnr-unixsocket-java (0.38.21-2) ... 2387s Setting up libjetty9-extra-java (9.4.55-1) ... 2387s Setting up libguava-java (32.0.1-1) ... 2387s Setting up adwaita-icon-theme (47.0-1) ... 2387s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 2387s Setting up liberror-prone-java (2.18.0-1) ... 2387s Setting up humanity-icon-theme (0.6.16) ... 2387s Setting up ubuntu-mono (24.04-0ubuntu1) ... 2387s Processing triggers for man-db (2.12.1-3) ... 2389s Processing triggers for libglib2.0-0t64:arm64 (2.82.1-0ubuntu1) ... 2389s Setting up libgtk-3-0t64:arm64 (3.24.43-3ubuntu2) ... 2389s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2389s Processing triggers for ca-certificates-java (20240118) ... 2389s Adding debian:ACCVRAIZ1.pem 2389s Adding debian:AC_RAIZ_FNMT-RCM.pem 2389s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 2389s Adding debian:ANF_Secure_Server_Root_CA.pem 2389s Adding debian:Actalis_Authentication_Root_CA.pem 2389s Adding debian:AffirmTrust_Commercial.pem 2389s Adding debian:AffirmTrust_Networking.pem 2389s Adding debian:AffirmTrust_Premium.pem 2389s Adding debian:AffirmTrust_Premium_ECC.pem 2389s Adding debian:Amazon_Root_CA_1.pem 2389s Adding debian:Amazon_Root_CA_2.pem 2389s Adding debian:Amazon_Root_CA_3.pem 2389s Adding debian:Amazon_Root_CA_4.pem 2389s Adding debian:Atos_TrustedRoot_2011.pem 2389s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 2389s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 2389s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 2389s Adding debian:BJCA_Global_Root_CA1.pem 2389s Adding debian:BJCA_Global_Root_CA2.pem 2389s Adding debian:Baltimore_CyberTrust_Root.pem 2389s Adding debian:Buypass_Class_2_Root_CA.pem 2389s Adding debian:Buypass_Class_3_Root_CA.pem 2389s Adding debian:CA_Disig_Root_R2.pem 2389s Adding debian:CFCA_EV_ROOT.pem 2389s Adding debian:COMODO_Certification_Authority.pem 2389s Adding debian:COMODO_ECC_Certification_Authority.pem 2389s Adding debian:COMODO_RSA_Certification_Authority.pem 2389s Adding debian:Certainly_Root_E1.pem 2389s Adding debian:Certainly_Root_R1.pem 2389s Adding debian:Certigna.pem 2389s Adding debian:Certigna_Root_CA.pem 2389s Adding debian:Certum_EC-384_CA.pem 2389s Adding debian:Certum_Trusted_Network_CA.pem 2389s Adding debian:Certum_Trusted_Network_CA_2.pem 2389s Adding debian:Certum_Trusted_Root_CA.pem 2389s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 2389s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 2389s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 2389s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 2389s Adding debian:Comodo_AAA_Services_root.pem 2389s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 2389s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 2389s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 2389s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 2389s Adding debian:DigiCert_Assured_ID_Root_CA.pem 2389s Adding debian:DigiCert_Assured_ID_Root_G2.pem 2389s Adding debian:DigiCert_Assured_ID_Root_G3.pem 2389s Adding debian:DigiCert_Global_Root_CA.pem 2389s Adding debian:DigiCert_Global_Root_G2.pem 2389s Adding debian:DigiCert_Global_Root_G3.pem 2389s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 2389s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 2389s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 2389s Adding debian:DigiCert_Trusted_Root_G4.pem 2389s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 2389s Adding debian:Entrust_Root_Certification_Authority.pem 2389s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 2389s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 2389s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 2389s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 2389s Adding debian:GLOBALTRUST_2020.pem 2389s Adding debian:GTS_Root_R1.pem 2389s Adding debian:GTS_Root_R2.pem 2389s Adding debian:GTS_Root_R3.pem 2389s Adding debian:GTS_Root_R4.pem 2389s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 2389s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 2389s Adding debian:GlobalSign_Root_CA.pem 2389s Adding debian:GlobalSign_Root_CA_-_R3.pem 2389s Adding debian:GlobalSign_Root_CA_-_R6.pem 2389s Adding debian:GlobalSign_Root_E46.pem 2389s Adding debian:GlobalSign_Root_R46.pem 2389s Adding debian:Go_Daddy_Class_2_CA.pem 2389s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 2389s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 2389s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 2389s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 2389s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 2389s Adding debian:HiPKI_Root_CA_-_G1.pem 2389s Adding debian:Hongkong_Post_Root_CA_3.pem 2389s Adding debian:ISRG_Root_X1.pem 2389s Adding debian:ISRG_Root_X2.pem 2389s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 2389s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 2389s Adding debian:Izenpe.com.pem 2389s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 2389s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 2389s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 2389s Adding debian:NAVER_Global_Root_Certification_Authority.pem 2389s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 2389s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 2389s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 2389s Adding debian:QuoVadis_Root_CA_1_G3.pem 2389s Adding debian:QuoVadis_Root_CA_2.pem 2389s Adding debian:QuoVadis_Root_CA_2_G3.pem 2389s Adding debian:QuoVadis_Root_CA_3.pem 2389s Adding debian:QuoVadis_Root_CA_3_G3.pem 2389s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 2389s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 2389s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 2389s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 2389s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 2389s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 2389s Adding debian:SZAFIR_ROOT_CA2.pem 2389s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 2389s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 2389s Adding debian:SecureSign_RootCA11.pem 2389s Adding debian:SecureTrust_CA.pem 2389s Adding debian:Secure_Global_CA.pem 2389s Adding debian:Security_Communication_ECC_RootCA1.pem 2389s Adding debian:Security_Communication_RootCA2.pem 2389s Adding debian:Security_Communication_RootCA3.pem 2389s Adding debian:Security_Communication_Root_CA.pem 2389s Adding debian:Starfield_Class_2_CA.pem 2389s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 2389s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 2389s Adding debian:SwissSign_Gold_CA_-_G2.pem 2389s Adding debian:SwissSign_Silver_CA_-_G2.pem 2389s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 2389s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 2389s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 2389s Adding debian:TWCA_Global_Root_CA.pem 2389s Adding debian:TWCA_Root_Certification_Authority.pem 2389s Adding debian:TeliaSonera_Root_CA_v1.pem 2389s Adding debian:Telia_Root_CA_v2.pem 2389s Adding debian:TrustAsia_Global_Root_CA_G3.pem 2389s Adding debian:TrustAsia_Global_Root_CA_G4.pem 2389s Adding debian:Trustwave_Global_Certification_Authority.pem 2389s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 2389s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 2389s Adding debian:TunTrust_Root_CA.pem 2389s Adding debian:UCA_Extended_Validation_Root.pem 2389s Adding debian:UCA_Global_G2_Root.pem 2389s Adding debian:USERTrust_ECC_Certification_Authority.pem 2389s Adding debian:USERTrust_RSA_Certification_Authority.pem 2389s Adding debian:XRamp_Global_CA_Root.pem 2389s Adding debian:certSIGN_ROOT_CA.pem 2389s Adding debian:certSIGN_Root_CA_G2.pem 2389s Adding debian:e-Szigno_Root_CA_2017.pem 2389s Adding debian:ePKI_Root_Certification_Authority.pem 2389s Adding debian:emSign_ECC_Root_CA_-_C3.pem 2389s Adding debian:emSign_ECC_Root_CA_-_G3.pem 2389s Adding debian:emSign_Root_CA_-_C1.pem 2389s Adding debian:emSign_Root_CA_-_G1.pem 2389s Adding debian:vTrus_ECC_Root_CA.pem 2389s Adding debian:vTrus_Root_CA.pem 2390s done. 2390s Setting up openjdk-21-jre:arm64 (21.0.5+11-1) ... 2390s Setting up junit4 (4.13.2-4) ... 2390s Setting up default-jre-headless (2:1.21-76) ... 2390s Setting up default-jre (2:1.21-76) ... 2390s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 2390s Setting up libzookeeper-java (3.9.2-2) ... 2390s Setting up zookeeper (3.9.2-2) ... 2390s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 2390s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 2390s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 2390s Setting up zookeeperd (3.9.2-2) ... 2390s Setting up autopkgtest-satdep (0) ... 2401s (Reading database ... 99888 files and directories currently installed.) 2401s Removing autopkgtest-satdep (0) ... 2405s autopkgtest [15:59:12]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 2405s autopkgtest [15:59:12]: test acceptance-zookeeper: [----------------------- 2410s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2410s ++ ls -1r /usr/lib/postgresql/ 2410s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2410s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2410s + '[' 16 == 10 -o 16 == 11 ']' 2410s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2410s + 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' 2411s Nov 01 15:59:18 Feature: basic replication # features/basic_replication.feature:1 2411s Nov 01 15:59:18 We should check that the basic bootstrapping, replication and failover works. 2411s Nov 01 15:59:18 Scenario: check replication of a single table # features/basic_replication.feature:4 2411s Nov 01 15:59:18 Given I start postgres0 # features/steps/basic_replication.py:8 2414s Nov 01 15:59:21 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2414s Nov 01 15:59:21 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2414s Nov 01 15:59:21 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 2414s Nov 01 15:59:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 2414s Nov 01 15:59:21 When I start postgres1 # features/steps/basic_replication.py:8 2417s Nov 01 15:59:24 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2420s Nov 01 15:59:27 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2420s Nov 01 15:59:27 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2420s Nov 01 15:59:27 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2421s Nov 01 15:59:28 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2421s Nov 01 15:59:28 2421s Nov 01 15:59:28 Scenario: check restart of sync replica # features/basic_replication.feature:17 2421s Nov 01 15:59:28 Given I shut down postgres2 # features/steps/basic_replication.py:29 2422s Nov 01 15:59:29 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2422s Nov 01 15:59:29 When I start postgres2 # features/steps/basic_replication.py:8 2425s Nov 01 15:59:32 And I shut down postgres1 # features/steps/basic_replication.py:29 2428s Nov 01 15:59:35 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2429s Nov 01 15:59:36 When I start postgres1 # features/steps/basic_replication.py:8 2432s Nov 01 15:59:39 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2432s Nov 01 15:59:39 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2433s Nov 01 15:59:39 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2433s Nov 01 15:59:40 2433s Nov 01 15:59:40 Scenario: check stuck sync replica # features/basic_replication.feature:28 2433s Nov 01 15:59:40 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 2433s Nov 01 15:59:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2433s Nov 01 15:59:40 And I create table on postgres0 # features/steps/basic_replication.py:73 2433s Nov 01 15:59:40 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2433s Nov 01 15:59:40 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2434s Nov 01 15:59:41 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2434s Nov 01 15:59:41 And I load data on postgres0 # features/steps/basic_replication.py:84 2434s Nov 01 15:59:41 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2437s Nov 01 15:59:44 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2437s Nov 01 15:59:44 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2438s Nov 01 15:59:45 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2438s Nov 01 15:59:45 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 2438s Nov 01 15:59:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 2438s Nov 01 15:59:45 And I drop table on postgres0 # features/steps/basic_replication.py:73 2438s Nov 01 15:59:45 2438s Nov 01 15:59:45 Scenario: check multi sync replication # features/basic_replication.feature:44 2438s Nov 01 15:59:45 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 2438s Nov 01 15:59:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 2438s Nov 01 15:59:45 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2442s Nov 01 15:59:49 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2443s Nov 01 15:59:49 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2443s Nov 01 15:59:50 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 2443s Nov 01 15:59:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 2443s Nov 01 15:59:50 And I shut down postgres1 # features/steps/basic_replication.py:29 2446s Nov 01 15:59:53 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2447s Nov 01 15:59:54 When I start postgres1 # features/steps/basic_replication.py:8 2450s Nov 01 15:59:57 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2450s Nov 01 15:59:57 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2450s Nov 01 15:59:57 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2450s Nov 01 15:59:57 2450s Nov 01 15:59:57 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2450s Nov 01 15:59:57 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2451s Nov 01 15:59:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2451s Nov 01 15:59:58 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2453s Nov 01 16:00:00 And I shut down postgres0 # features/steps/basic_replication.py:29 2454s Nov 01 16:00:01 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2456s Nov 01 16:00:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2456s Nov 01 16:00:03 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2476s Nov 01 16:00:23 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2478s Nov 01 16:00:25 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2478s Nov 01 16:00:25 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 2478s Nov 01 16:00:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2478s Nov 01 16:00:25 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2478s Nov 01 16:00:25 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2481s Nov 01 16:00:28 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2481s Nov 01 16:00:28 2481s Nov 01 16:00:28 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2481s Nov 01 16:00:28 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2481s Nov 01 16:00:28 And I start postgres0 # features/steps/basic_replication.py:8 2481s Nov 01 16:00:28 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2488s Nov 01 16:00:35 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2488s Nov 01 16:00:35 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2488s Nov 01 16:00:35 2488s Nov 01 16:00:35 @reject-duplicate-name 2488s Nov 01 16:00:35 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2488s Nov 01 16:00:35 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 2490s Nov 01 16:00:37 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 2494s Nov 01 16:00:41 2494s Nov 01 16:00:41 Feature: cascading replication # features/cascading_replication.feature:1 2494s Nov 01 16:00:41 We should check that patroni can do base backup and streaming from the replica 2494s Nov 01 16:00:41 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2494s Nov 01 16:00:41 Given I start postgres0 # features/steps/basic_replication.py:8 2497s Nov 01 16:00:44 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2497s Nov 01 16:00:44 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2500s Nov 01 16:00:47 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2502s Nov 01 16:00:48 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2502s Nov 01 16:00:48 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2502s Nov 01 16:00:48 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2502s Nov 01 16:00:48 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2505s Nov 01 16:00:51 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2506s Nov 01 16:00:53 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2512s Nov 01 16:00:59 2512s SKIP FEATURE citus: Citus extenstion isn't available 2512s Nov 01 16:00:59 Feature: citus # features/citus.feature:1 2512s Nov 01 16:00:59 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2512s Nov 01 16:00:59 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2512s Nov 01 16:00:59 Given I start postgres0 in citus group 0 # None 2512s Nov 01 16:00:59 And I start postgres2 in citus group 1 # None 2512s Nov 01 16:00:59 Then postgres0 is a leader in a group 0 after 10 seconds # None 2512s Nov 01 16:00:59 And postgres2 is a leader in a group 1 after 10 seconds # None 2512s Nov 01 16:00:59 When I start postgres1 in citus group 0 # None 2512s Nov 01 16:00:59 And I start postgres3 in citus group 1 # None 2512s Nov 01 16:00:59 Then replication works from postgres0 to postgres1 after 15 seconds # None 2512s Nov 01 16:00:59 Then replication works from postgres2 to postgres3 after 15 seconds # None 2512s Nov 01 16:00:59 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2512s Nov 01 16:00:59 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2512s Nov 01 16:00:59 2512s Nov 01 16:00:59 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2512s Nov 01 16:00:59 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2512s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2512s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2512s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2512s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2512s 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 2512s Nov 01 16:00:59 Then postgres1 role is the primary after 10 seconds # None 2512s Nov 01 16:00:59 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2512s Nov 01 16:00:59 And replication works from postgres1 to postgres0 after 15 seconds # None 2512s Nov 01 16:00:59 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2512s Nov 01 16:00:59 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2512s Nov 01 16:00:59 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2512s Nov 01 16:00:59 Then postgres0 role is the primary after 10 seconds # None 2512s Nov 01 16:00:59 And replication works from postgres0 to postgres1 after 15 seconds # None 2512s Nov 01 16:00:59 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2512s Nov 01 16:00:59 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2512s Nov 01 16:00:59 2512s Nov 01 16:00:59 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2512s Nov 01 16:00:59 Given I create a distributed table on postgres0 # None 2512s Nov 01 16:00:59 And I start a thread inserting data on postgres0 # None 2512s Nov 01 16:00:59 When I run patronictl.py switchover batman --group 1 --force # None 2512s Nov 01 16:00:59 Then I receive a response returncode 0 # None 2512s Nov 01 16:00:59 And postgres3 role is the primary after 10 seconds # None 2512s Nov 01 16:00:59 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2512s Nov 01 16:00:59 And replication works from postgres3 to postgres2 after 15 seconds # None 2512s Nov 01 16:00:59 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2512s Nov 01 16:00:59 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2512s Nov 01 16:00:59 And a thread is still alive # None 2512s Nov 01 16:00:59 When I run patronictl.py switchover batman --group 1 --force # None 2512s Nov 01 16:00:59 Then I receive a response returncode 0 # None 2512s Nov 01 16:00:59 And postgres2 role is the primary after 10 seconds # None 2512s Nov 01 16:00:59 And replication works from postgres2 to postgres3 after 15 seconds # None 2512s Nov 01 16:00:59 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2512s Nov 01 16:00:59 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2512s Nov 01 16:00:59 And a thread is still alive # None 2512s Nov 01 16:00:59 When I stop a thread # None 2512s Nov 01 16:00:59 Then a distributed table on postgres0 has expected rows # None 2512s Nov 01 16:00:59 2512s Nov 01 16:00:59 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2512s Nov 01 16:00:59 Given I cleanup a distributed table on postgres0 # None 2512s Nov 01 16:00:59 And I start a thread inserting data on postgres0 # None 2512s Nov 01 16:00:59 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2512s Nov 01 16:00:59 Then I receive a response returncode 0 # None 2512s Nov 01 16:00:59 And postgres2 role is the primary after 10 seconds # None 2512s Nov 01 16:00:59 And replication works from postgres2 to postgres3 after 15 seconds # None 2512s Nov 01 16:00:59 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2512s Nov 01 16:00:59 And a thread is still alive # None 2512s Nov 01 16:00:59 When I stop a thread # None 2512s Nov 01 16:00:59 Then a distributed table on postgres0 has expected rows # None 2512s Nov 01 16:00:59 2512s Nov 01 16:00:59 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2512s Nov 01 16:00:59 Given I start postgres4 in citus group 2 # None 2512s Nov 01 16:00:59 Then postgres4 is a leader in a group 2 after 10 seconds # None 2512s Nov 01 16:00:59 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2512s Nov 01 16:00:59 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2512s Nov 01 16:00:59 Then I receive a response returncode 0 # None 2512s Nov 01 16:00:59 And I receive a response output "+ttl: 20" # None 2512s Nov 01 16:00:59 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2512s Nov 01 16:00:59 When I shut down postgres4 # None 2512s Nov 01 16:00:59 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2512s Nov 01 16:00:59 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2512s Nov 01 16:00:59 Then a transaction finishes in 20 seconds # None 2512s Nov 01 16:00:59 2512s Nov 01 16:00:59 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2512s Nov 01 16:00:59 We should check that patroni can bootstrap a new cluster from a backup 2512s Nov 01 16:00:59 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2512s Nov 01 16:00:59 Given I start postgres0 # features/steps/basic_replication.py:8 2515s Nov 01 16:01:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2519s Nov 01 16:01:03 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2519s Nov 01 16:01:03 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2520s Nov 01 16:01:07 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2521s Nov 01 16:01:08 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2521s Nov 01 16:01:08 2521s Nov 01 16:01:08 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2521s Nov 01 16:01:08 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2521s Nov 01 16:01:08 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2521s Nov 01 16:01:08 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2526s Nov 01 16:01:13 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2526s Nov 01 16:01:13 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2533s Nov 01 16:01:20 2533s Nov 01 16:01:20 Feature: ignored slots # features/ignored_slots.feature:1 2533s Nov 01 16:01:20 2533s Nov 01 16:01:20 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2533s Nov 01 16:01:20 Given I start postgres1 # features/steps/basic_replication.py:8 2536s Nov 01 16:01:23 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2536s Nov 01 16:01:23 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2536s Nov 01 16:01:23 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 2536s Nov 01 16:01:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2536s Nov 01 16:01:23 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2536s Nov 01 16:01:23 When I shut down postgres1 # features/steps/basic_replication.py:29 2538s Nov 01 16:01:25 And I start postgres1 # features/steps/basic_replication.py:8 2543s Nov 01 16:01:28 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2543s Nov 01 16:01:28 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2543s Nov 01 16:01:29 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2543s Nov 01 16:01:29 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2543s Nov 01 16:01:29 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2543s Nov 01 16:01:29 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2543s Nov 01 16:01:29 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2543s Nov 01 16:01:29 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2543s Nov 01 16:01:29 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2543s Nov 01 16:01:29 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2543s Nov 01 16:01:29 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2543s Nov 01 16:01:29 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2543s Nov 01 16:01:29 When I start postgres0 # features/steps/basic_replication.py:8 2545s Nov 01 16:01:32 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2546s Nov 01 16:01:33 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2546s Nov 01 16:01:33 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2547s Nov 01 16:01:34 When I shut down postgres1 # features/steps/basic_replication.py:29 2549s Nov 01 16:01:36 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2550s Nov 01 16:01:37 When I start postgres1 # features/steps/basic_replication.py:8 2553s Nov 01 16:01:40 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2553s Nov 01 16:01:40 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2553s Nov 01 16:01:40 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2555s Nov 01 16:01:42 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2555s Nov 01 16:01:42 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2555s Nov 01 16:01:42 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2555s Nov 01 16:01:42 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2555s Nov 01 16:01:42 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2555s Nov 01 16:01:42 When I shut down postgres0 # features/steps/basic_replication.py:29 2557s Nov 01 16:01:44 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2558s Nov 01 16:01:45 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2558s Nov 01 16:01:45 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2558s Nov 01 16:01:45 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2558s Nov 01 16:01:45 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2560s Nov 01 16:01:47 2560s Nov 01 16:01:47 Feature: nostream node # features/nostream_node.feature:1 2560s Nov 01 16:01:47 2560s Nov 01 16:01:47 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2560s Nov 01 16:01:47 When I start postgres0 # features/steps/basic_replication.py:8 2563s Nov 01 16:01:50 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2568s Nov 01 16:01:53 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2568s Nov 01 16:01:54 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2572s Nov 01 16:01:59 2572s Nov 01 16:01:59 @slot-advance 2572s Nov 01 16:01:59 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2572s Nov 01 16:01:59 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 2572s Nov 01 16:01:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 2572s Nov 01 16:01:59 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2574s Nov 01 16:02:01 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2575s Nov 01 16:02:02 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2578s Nov 01 16:02:05 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2579s Nov 01 16:02:06 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2579s Nov 01 16:02:06 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2586s Nov 01 16:02:12 2586s Nov 01 16:02:12 Feature: patroni api # features/patroni_api.feature:1 2586s Nov 01 16:02:12 We should check that patroni correctly responds to valid and not-valid API requests. 2586s Nov 01 16:02:12 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2586s Nov 01 16:02:12 Given I start postgres0 # features/steps/basic_replication.py:8 2589s Nov 01 16:02:16 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2589s Nov 01 16:02:16 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2589s Nov 01 16:02:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2589s Nov 01 16:02:16 And I receive a response state running # features/steps/patroni_api.py:98 2589s Nov 01 16:02:16 And I receive a response role master # features/steps/patroni_api.py:98 2589s Nov 01 16:02:16 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2589s Nov 01 16:02:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 2589s Nov 01 16:02:16 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2589s Nov 01 16:02:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2589s Nov 01 16:02:16 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2589s Nov 01 16:02:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 2589s Nov 01 16:02:16 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2589s Nov 01 16:02:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 2589s Nov 01 16:02:16 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2589s Nov 01 16:02:16 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2590s Nov 01 16:02:17 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2590s Nov 01 16:02:17 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2590s Nov 01 16:02:17 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2590s Nov 01 16:02:17 Then I receive a response code 412 # features/steps/patroni_api.py:98 2590s Nov 01 16:02:17 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2590s Nov 01 16:02:17 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2590s Nov 01 16:02:17 Then I receive a response code 400 # features/steps/patroni_api.py:98 2590s Nov 01 16:02:17 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2590s Nov 01 16:02:17 Then I receive a response code 400 # features/steps/patroni_api.py:98 2590s Nov 01 16:02:17 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2590s Nov 01 16:02:17 2590s Nov 01 16:02:17 Scenario: check local configuration reload # features/patroni_api.feature:32 2590s Nov 01 16:02:17 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2590s Nov 01 16:02:17 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2590s Nov 01 16:02:17 Then I receive a response code 202 # features/steps/patroni_api.py:98 2590s Nov 01 16:02:17 2590s Nov 01 16:02:17 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2590s Nov 01 16:02:17 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 2590s Nov 01 16:02:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 2590s Nov 01 16:02:17 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2593s Nov 01 16:02:20 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2593s Nov 01 16:02:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 2593s Nov 01 16:02:20 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2593s Nov 01 16:02:20 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2593s Nov 01 16:02:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 2593s Nov 01 16:02:20 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2593s Nov 01 16:02:20 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2597s Nov 01 16:02:24 2597s Nov 01 16:02:24 Scenario: check the scheduled restart # features/patroni_api.feature:49 2597s Nov 01 16:02:24 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2599s Nov 01 16:02:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2599s Nov 01 16:02:25 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2599s Nov 01 16:02:25 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2599s Nov 01 16:02:25 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 2599s Nov 01 16:02:25 Then I receive a response code 202 # features/steps/patroni_api.py:98 2599s Nov 01 16:02:25 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2606s Nov 01 16:02:33 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2606s Nov 01 16:02:33 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 2606s Nov 01 16:02:33 Then I receive a response code 202 # features/steps/patroni_api.py:98 2606s Nov 01 16:02:33 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 2613s Nov 01 16:02:40 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2614s Nov 01 16:02:41 2614s Nov 01 16:02:41 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2614s Nov 01 16:02:41 Given I start postgres1 # features/steps/basic_replication.py:8 2617s Nov 01 16:02:44 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2618s Nov 01 16:02:45 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2620s Nov 01 16:02:47 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2620s Nov 01 16:02:47 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2620s Nov 01 16:02:47 waiting for server to shut down.... done 2620s Nov 01 16:02:47 server stopped 2620s Nov 01 16:02:47 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2620s Nov 01 16:02:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 2620s Nov 01 16:02:47 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2621s Nov 01 16:02:48 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2624s Nov 01 16:02:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2624s Nov 01 16:02:51 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2625s Nov 01 16:02:52 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2627s Nov 01 16:02:54 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2627s Nov 01 16:02:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 2627s Nov 01 16:02:54 And I receive a response state running # features/steps/patroni_api.py:98 2627s Nov 01 16:02:54 And I receive a response role replica # features/steps/patroni_api.py:98 2627s Nov 01 16:02:54 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2630s Nov 01 16:02:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2630s Nov 01 16:02:57 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2630s Nov 01 16:02:57 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2631s Nov 01 16:02:58 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2631s Nov 01 16:02:58 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2633s Nov 01 16:03:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2633s Nov 01 16:03:00 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2633s Nov 01 16:03:00 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2634s Nov 01 16:03:01 2634s Nov 01 16:03:01 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2634s Nov 01 16:03:01 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 01 16:03:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2637s Nov 01 16:03:04 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2637s Nov 01 16:03:04 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2637s Nov 01 16:03:04 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2640s Nov 01 16:03:07 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2640s Nov 01 16:03:07 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2641s Nov 01 16:03:08 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2641s Nov 01 16:03:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 2641s Nov 01 16:03:08 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2641s Nov 01 16:03:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 2641s Nov 01 16:03:08 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2641s Nov 01 16:03:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 2641s Nov 01 16:03:08 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2641s Nov 01 16:03:08 Then I receive a response code 503 # features/steps/patroni_api.py:98 2641s Nov 01 16:03:08 2641s Nov 01 16:03:08 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2641s Nov 01 16:03:08 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2642s Nov 01 16:03:09 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2642s Nov 01 16:03:09 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2642s Nov 01 16:03:09 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2644s Nov 01 16:03:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2644s Nov 01 16:03:11 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2645s Nov 01 16:03:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2645s Nov 01 16:03:12 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2655s Nov 01 16:03:22 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2660s Nov 01 16:03:23 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2660s Nov 01 16:03:25 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2660s Nov 01 16:03:25 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2660s Nov 01 16:03:26 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2660s Nov 01 16:03:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 2660s Nov 01 16:03:26 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2660s Nov 01 16:03:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 2660s Nov 01 16:03:26 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2660s Nov 01 16:03:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 2660s Nov 01 16:03:26 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2660s Nov 01 16:03:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 2664s Nov 01 16:03:31 2664s Nov 01 16:03:31 Feature: permanent slots # features/permanent_slots.feature:1 2664s Nov 01 16:03:31 2664s Nov 01 16:03:31 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2664s Nov 01 16:03:31 Given I start postgres0 # features/steps/basic_replication.py:8 2667s Nov 01 16:03:34 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2667s Nov 01 16:03:34 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2667s Nov 01 16:03:34 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 2667s Nov 01 16:03:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 2667s Nov 01 16:03:34 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2667s Nov 01 16:03:34 When I start postgres1 # features/steps/basic_replication.py:8 2670s Nov 01 16:03:37 And I start postgres2 # features/steps/basic_replication.py:8 2673s Nov 01 16:03:40 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2677s Nov 01 16:03:43 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2677s Nov 01 16:03:43 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2677s Nov 01 16:03:43 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2677s Nov 01 16:03:43 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2677s Nov 01 16:03:43 2677s Nov 01 16:03:43 @slot-advance 2677s Nov 01 16:03:43 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2677s Nov 01 16:03:43 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2678s Nov 01 16:03:45 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 2678s Nov 01 16:03:45 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2679s Nov 01 16:03:46 2679s Nov 01 16:03:46 @slot-advance 2679s Nov 01 16:03:46 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2679s Nov 01 16:03:46 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2687s Nov 01 16:03:53 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2687s Nov 01 16:03:53 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2687s Nov 01 16:03:54 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2688s Nov 01 16:03:55 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2688s Nov 01 16:03:55 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2688s Nov 01 16:03:55 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2688s Nov 01 16:03:55 2688s Nov 01 16:03:55 @slot-advance 2688s Nov 01 16:03:55 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2688s Nov 01 16:03:55 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2688s Nov 01 16:03:55 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2688s Nov 01 16:03:55 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2688s Nov 01 16:03:55 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2688s Nov 01 16:03:55 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2688s Nov 01 16:03:55 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2688s Nov 01 16:03:55 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2688s Nov 01 16:03:55 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2688s Nov 01 16:03:55 2688s Nov 01 16:03:55 @slot-advance 2688s Nov 01 16:03:55 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2688s Nov 01 16:03:55 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2688s Nov 01 16:03:55 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2688s Nov 01 16:03:55 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2688s Nov 01 16:03:55 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2692s Nov 01 16:03:59 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2692s Nov 01 16:03:59 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2692s Nov 01 16:03:59 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2692s Nov 01 16:03:59 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2692s Nov 01 16:03:59 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2692s Nov 01 16:03:59 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2692s Nov 01 16:03:59 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2692s Nov 01 16:03:59 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2692s Nov 01 16:03:59 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2692s Nov 01 16:03:59 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2692s Nov 01 16:03:59 2692s Nov 01 16:03:59 @slot-advance 2692s Nov 01 16:03:59 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2692s Nov 01 16:03:59 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2692s Nov 01 16:03:59 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2692s Nov 01 16:03:59 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2692s Nov 01 16:03:59 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2692s Nov 01 16:03:59 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2692s Nov 01 16:03:59 2692s Nov 01 16:03:59 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2692s Nov 01 16:03:59 Given I shut down postgres3 # features/steps/basic_replication.py:29 2693s Nov 01 16:04:00 And I shut down postgres2 # features/steps/basic_replication.py:29 2694s Nov 01 16:04:01 And I shut down postgres0 # features/steps/basic_replication.py:29 2696s Nov 01 16:04:03 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2696s Nov 01 16:04:03 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2696s Nov 01 16:04:03 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2700s Nov 01 16:04:06 2700s Nov 01 16:04:06 Feature: priority replication # features/priority_failover.feature:1 2700s Nov 01 16:04:06 We should check that we can give nodes priority during failover 2700s Nov 01 16:04:06 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2700s Nov 01 16:04:06 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2702s Nov 01 16:04:09 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2709s Nov 01 16:04:12 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2709s Nov 01 16:04:13 When I shut down postgres0 # features/steps/basic_replication.py:29 2709s Nov 01 16:04:15 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 2710s Nov 01 16:04:17 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2710s Nov 01 16:04:17 When I start postgres0 # features/steps/basic_replication.py:8 2712s Nov 01 16:04:19 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2717s Nov 01 16:04:21 2717s Nov 01 16:04:21 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2717s Nov 01 16:04:21 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2717s Nov 01 16:04:24 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2720s Nov 01 16:04:27 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2721s Nov 01 16:04:28 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2722s Nov 01 16:04:29 When I shut down postgres0 # features/steps/basic_replication.py:29 2725s Nov 01 16:04:31 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2725s Nov 01 16:04: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 2725s Nov 01 16:04:31 2725s Nov 01 16:04:31 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2725s Nov 01 16:04:31 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2725s Nov 01 16:04:31 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2725s Nov 01 16:04:31 Then I receive a response code 202 # features/steps/patroni_api.py:98 2725s Nov 01 16:04:31 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 2726s Nov 01 16:04:33 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2728s Nov 01 16:04:34 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2728s Nov 01 16:04:34 Then I receive a response code 412 # features/steps/patroni_api.py:98 2728s Nov 01 16:04:34 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2728s Nov 01 16:04:34 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2728s Nov 01 16:04:34 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2728s Nov 01 16:04:34 Then I receive a response code 202 # features/steps/patroni_api.py:98 2728s Nov 01 16:04:34 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 2728s Nov 01 16:04:35 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2729s Nov 01 16:04:36 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2733s Nov 01 16:04:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 2733s Nov 01 16:04:39 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2739s Nov 01 16:04:44 2739s Nov 01 16:04:44 Feature: recovery # features/recovery.feature:1 2739s Nov 01 16:04:44 We want to check that crashed postgres is started back 2739s Nov 01 16:04:44 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2739s Nov 01 16:04:44 Given I start postgres0 # features/steps/basic_replication.py:8 2740s Nov 01 16:04:47 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2740s Nov 01 16:04:47 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2740s Nov 01 16:04:47 When I start postgres1 # features/steps/basic_replication.py:8 2743s Nov 01 16:04:50 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2743s Nov 01 16:04:50 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2744s Nov 01 16:04:51 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2744s Nov 01 16:04:51 waiting for server to shut down.... done 2744s Nov 01 16:04:51 server stopped 2744s Nov 01 16:04:51 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2750s Nov 01 16:04:53 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2750s Nov 01 16:04:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 2750s Nov 01 16:04:53 And I receive a response role master # features/steps/patroni_api.py:98 2750s Nov 01 16:04:53 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2750s Nov 01 16:04:53 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2750s Nov 01 16:04:54 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2750s Nov 01 16:04:57 2750s Nov 01 16:04:57 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2750s Nov 01 16:04:57 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 2750s Nov 01 16:04:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 2750s Nov 01 16:04:57 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2750s Nov 01 16:04:57 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2750s Nov 01 16:04:57 waiting for server to shut down.... done 2750s Nov 01 16:04:57 server stopped 2750s Nov 01 16:04:57 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2752s Nov 01 16:04:59 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2756s Nov 01 16:05:03 2756s Nov 01 16:05:03 Feature: standby cluster # features/standby_cluster.feature:1 2756s Nov 01 16:05:03 2756s Nov 01 16:05:03 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2756s Nov 01 16:05:03 Given I start postgres1 # features/steps/basic_replication.py:8 2761s Nov 01 16:05:06 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2761s Nov 01 16:05:06 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2761s Nov 01 16:05:06 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 2761s Nov 01 16:05:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2761s Nov 01 16:05:06 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2761s Nov 01 16:05:06 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2762s Nov 01 16:05:09 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 2763s Nov 01 16:05:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2763s Nov 01 16:05:09 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2763s Nov 01 16:05:10 When I start postgres0 # features/steps/basic_replication.py:8 2766s Nov 01 16:05:13 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2784s Nov 01 16:05:14 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2784s Nov 01 16:05:15 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2784s Nov 01 16:05:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2784s Nov 01 16:05:15 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2784s Nov 01 16:05:15 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2784s Nov 01 16:05:15 2784s Nov 01 16:05:15 @slot-advance 2784s Nov 01 16:05:15 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2784s Nov 01 16:05:15 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2784s Nov 01 16:05:17 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2784s Nov 01 16:05:24 2784s Nov 01 16:05:24 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2784s Nov 01 16:05:24 When I shut down postgres1 # features/steps/basic_replication.py:29 2784s Nov 01 16:05:26 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2784s Nov 01 16:05:26 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2784s Nov 01 16:05:27 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2784s Nov 01 16:05:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2784s Nov 01 16:05:27 2784s Nov 01 16:05:27 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2784s Nov 01 16:05:27 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2784s Nov 01 16:05:30 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2784s Nov 01 16:05:30 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2784s Nov 01 16:05:30 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2784s Nov 01 16:05:30 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2784s Nov 01 16:05:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 2784s Nov 01 16:05:30 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2784s Nov 01 16:05:30 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2786s Nov 01 16:05:33 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2786s Nov 01 16:05:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 2786s Nov 01 16:05:33 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2787s Nov 01 16:05:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 2787s Nov 01 16:05:33 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2787s Nov 01 16:05:33 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2787s Nov 01 16:05:33 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2790s Nov 01 16:05:37 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2790s Nov 01 16:05:37 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2791s Nov 01 16:05:38 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2791s Nov 01 16:05:38 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2791s Nov 01 16:05:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 2791s Nov 01 16:05:38 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2791s Nov 01 16:05:38 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2791s Nov 01 16:05:38 2791s Nov 01 16:05:38 Scenario: check switchover # features/standby_cluster.feature:57 2791s Nov 01 16:05:38 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2794s Nov 01 16:05:41 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2794s Nov 01 16:05:41 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2796s Nov 01 16:05:43 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 2796s Nov 01 16:05:43 2796s Nov 01 16:05:43 Scenario: check failover # features/standby_cluster.feature:63 2796s Nov 01 16:05:43 When I kill postgres2 # features/steps/basic_replication.py:34 2797s Nov 01 16:05:44 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2797s Nov 01 16:05:44 waiting for server to shut down.... done 2797s Nov 01 16:05:44 server stopped 2797s Nov 01 16:05:44 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2817s Nov 01 16:06:04 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2817s Nov 01 16:06:04 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2817s Nov 01 16:06:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 2817s Nov 01 16:06:04 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2817s Nov 01 16:06:04 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2818s Nov 01 16:06:05 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2823s Nov 01 16:06:10 2823s Nov 01 16:06:10 Feature: watchdog # features/watchdog.feature:1 2823s Nov 01 16:06:10 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2823s Nov 01 16:06:10 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2823s Nov 01 16:06:10 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2826s Nov 01 16:06:13 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2826s Nov 01 16:06:13 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2826s Nov 01 16:06:13 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2827s Nov 01 16:06:14 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2827s Nov 01 16:06:14 2827s Nov 01 16:06:14 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2827s Nov 01 16:06:14 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2828s Nov 01 16:06:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2828s Nov 01 16:06:15 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2828s Nov 01 16:06:15 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2832s Nov 01 16:06:19 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2832s Nov 01 16:06:19 2832s Nov 01 16:06:19 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2832s Nov 01 16:06:19 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2834s Nov 01 16:06:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2834s Nov 01 16:06:21 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2836s Nov 01 16:06:23 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2836s Nov 01 16:06:23 2836s Nov 01 16:06:23 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2836s Nov 01 16:06:23 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2836s Nov 01 16:06:23 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2837s Nov 01 16:06:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2837s Nov 01 16:06:24 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2837s Nov 01 16:06:24 2837s Nov 01 16:06:24 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2837s Nov 01 16:06:24 Given I shut down postgres0 # features/steps/basic_replication.py:29 2839s Nov 01 16:06:26 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2839s Nov 01 16:06:26 2839s Nov 01 16:06:26 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2839s Nov 01 16:06:26 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2839s Nov 01 16:06:26 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2847s Nov 01 16:06:28 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2847s Nov 01 16:06:30 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2847s Nov 01 16:06:30 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2874s Nov 01 16:06:57 2874s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2874s + rm -f '/tmp/pgpass?' 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10073.XhTAxwxx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10136.XaEwiHfx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10191.XWKyhEpx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10299.XROzETSx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10422.XeVfnmSx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10558.XauAnGBx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10605.XBUElZVx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10612.XKIkeGOx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10617.XokKSMCx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.10633.XHsPrQOx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.6762.XCDhAmWx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.6807.XfVdlMUx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.6854.Xbgwubrx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.6918.XRZiNDux 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.6966.Xiszywgx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7041.XuglOwzx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7091.XBwoDizx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7100.XpaYRkvx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7195.XThBwSgx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7296.XrApBfXx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7308.XfxxAzqx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7352.XMfuqKAx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7400.XAtnAflx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7563.XCVsvOwx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7611.XlQdHvBx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7667.XbDXlmex 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7765.XcxSeNIx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7821.XjrOYGzx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7885.XuTJpegx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.7981.XXqqykAx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8085.XpkJPkVx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8129.XfUCdAZx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8197.XjTgvKbx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8228.XXufuBex 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8395.XWdgSUfx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8445.XfrMLdyx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8465.XlGRXcfx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8506.XJXiVagx 2874s Nov 01 16:06:57 Skipping duplicate data .coverage.autopkgtest.8557.XNnkRuJx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8564.XQJomwJx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8603.XfyEQEFx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8646.XsLjgCHx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8777.XPDGkrPx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8781.XZaPcLRx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8789.XhaXARLx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8930.Xksyxjwx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.8977.XsmmKiNx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9019.XBsCQCxx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9070.XbFQJMCx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9115.XUPNdBZx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9303.XKcvwPSx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9347.XqefXwCx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9422.XalbksGx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9507.XmxGWFFx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9555.XpPVhqdx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9883.XWqDFTJx 2874s Nov 01 16:06:57 Combined data file .coverage.autopkgtest.9927.XNBgByyx 2874s Nov 01 16:06:59 Name Stmts Miss Cover 2874s Nov 01 16:06:59 -------------------------------------------------------------------------------------------------------- 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/api.py 770 289 62% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 92 86% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 288 70 76% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/ha.py 1246 374 70% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 179 78% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 816 214 74% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 167 60% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 338 34 90% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/six.py 504 249 51% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2874s Nov 01 16:06:59 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2874s Nov 01 16:06:59 patroni/__init__.py 13 2 85% 2874s Nov 01 16:06:59 patroni/__main__.py ++ id -u 2874s + '[' 0 -eq 0 ']' 2874s + '[' -x /etc/init.d/zookeeper ']' 2874s + /etc/init.d/zookeeper stop 2874s 199 199 0% 2874s Nov 01 16:06:59 patroni/api.py 770 770 0% 2874s Nov 01 16:06:59 patroni/async_executor.py 96 69 28% 2874s Nov 01 16:06:59 patroni/collections.py 56 15 73% 2874s Nov 01 16:06:59 patroni/config.py 371 194 48% 2874s Nov 01 16:06:59 patroni/config_generator.py 212 212 0% 2874s Nov 01 16:06:59 patroni/ctl.py 936 411 56% 2874s Nov 01 16:06:59 patroni/daemon.py 76 76 0% 2874s Nov 01 16:06:59 patroni/dcs/__init__.py 646 271 58% 2874s Nov 01 16:06:59 patroni/dcs/consul.py 485 485 0% 2874s Nov 01 16:06:59 patroni/dcs/etcd3.py 679 679 0% 2874s Nov 01 16:06:59 patroni/dcs/etcd.py 603 603 0% 2874s Nov 01 16:06:59 patroni/dcs/exhibitor.py 61 61 0% 2874s Nov 01 16:06:59 patroni/dcs/kubernetes.py 938 938 0% 2874s Nov 01 16:06:59 patroni/dcs/raft.py 319 319 0% 2874s Nov 01 16:06:59 patroni/dcs/zookeeper.py 288 152 47% 2874s Nov 01 16:06:59 patroni/dynamic_loader.py 35 7 80% 2874s Nov 01 16:06:59 patroni/exceptions.py 16 1 94% 2874s Nov 01 16:06:59 patroni/file_perm.py 43 15 65% 2874s Nov 01 16:06:59 patroni/global_config.py 81 18 78% 2874s Nov 01 16:06:59 patroni/ha.py 1246 1246 0% 2874s Nov 01 16:06:59 patroni/log.py 219 173 21% 2874s Nov 01 16:06:59 patroni/postgresql/__init__.py 821 651 21% 2874s Nov 01 16:06:59 patroni/postgresql/available_parameters/__init__.py 21 3 86% 2874s Nov 01 16:06:59 patroni/postgresql/bootstrap.py 252 222 12% 2874s Nov 01 16:06:59 patroni/postgresql/callback_executor.py 55 34 38% 2874s Nov 01 16:06:59 patroni/postgresql/cancellable.py 104 84 19% 2874s Nov 01 16:06:59 patroni/postgresql/config.py 816 699 14% 2874s Nov 01 16:06:59 patroni/postgresql/connection.py 75 50 33% 2874s Nov 01 16:06:59 patroni/postgresql/misc.py 41 29 29% 2874s Nov 01 16:06:59 patroni/postgresql/mpp/__init__.py 89 21 76% 2874s Nov 01 16:06:59 patroni/postgresql/mpp/citus.py 259 259 0% 2874s Nov 01 16:06:59 patroni/postgresql/postmaster.py 170 139 18% 2874s Nov 01 16:06:59 patroni/postgresql/rewind.py 416 416 0% 2874s Nov 01 16:06:59 patroni/postgresql/slots.py 338 289 14% 2874s Nov 01 16:06:59 patroni/postgresql/sync.py 130 96 26% 2874s Nov 01 16:06:59 patroni/postgresql/validator.py 157 52 67% 2874s Nov 01 16:06:59 patroni/psycopg.py 42 28 33% 2874s Nov 01 16:06:59 patroni/raft_controller.py 22 22 0% 2874s Nov 01 16:06:59 patroni/request.py 62 6 90% 2874s Nov 01 16:06:59 patroni/scripts/__init__.py 0 0 100% 2874s Nov 01 16:06:59 patroni/scripts/aws.py 59 59 0% 2874s Nov 01 16:06:59 patroni/scripts/barman/__init__.py 0 0 100% 2874s Nov 01 16:06:59 patroni/scripts/barman/cli.py 51 51 0% 2874s Nov 01 16:06:59 patroni/scripts/barman/config_switch.py 51 51 0% 2874s Nov 01 16:06:59 patroni/scripts/barman/recover.py 37 37 0% 2874s Nov 01 16:06:59 patroni/scripts/barman/utils.py 94 94 0% 2874s Nov 01 16:06:59 patroni/scripts/wale_restore.py 207 207 0% 2874s Nov 01 16:06:59 patroni/tags.py 38 11 71% 2874s Nov 01 16:06:59 patroni/utils.py 350 228 35% 2874s Nov 01 16:06:59 patroni/validator.py 301 215 29% 2874s Nov 01 16:06:59 patroni/version.py 1 0 100% 2874s Nov 01 16:06:59 patroni/watchdog/__init__.py 2 2 0% 2874s Nov 01 16:06:59 patroni/watchdog/base.py 203 203 0% 2874s Nov 01 16:06:59 patroni/watchdog/linux.py 135 135 0% 2874s Nov 01 16:06:59 -------------------------------------------------------------------------------------------------------- 2874s Nov 01 16:06:59 TOTAL 39842 23890 40% 2874s Nov 01 16:06:59 11 features passed, 0 failed, 1 skipped 2874s Nov 01 16:06:59 44 scenarios passed, 0 failed, 5 skipped 2874s Nov 01 16:06:59 444 steps passed, 0 failed, 61 skipped, 0 undefined 2874s Nov 01 16:06:59 Took 6m53.959s 2874s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2874s Stopping zookeeper (via systemctl): zookeeper.service. 2874s autopkgtest [16:07:01]: test acceptance-zookeeper: -----------------------] 2875s autopkgtest [16:07:02]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2875s acceptance-zookeeper PASS 2875s autopkgtest [16:07:02]: test acceptance-raft: preparing testbed 2971s autopkgtest [16:08:38]: testbed dpkg architecture: arm64 2971s autopkgtest [16:08:38]: testbed apt version: 2.9.8 2971s autopkgtest [16:08:38]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2973s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2976s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [183 kB] 2976s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 2976s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [44.0 kB] 2976s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [2770 kB] 2976s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [240 kB] 2976s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 2976s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [2001 kB] 2976s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [36.5 kB] 2976s Fetched 5405 kB in 1s (3881 kB/s) 2976s Reading package lists... 2979s Reading package lists... 2980s Building dependency tree... 2980s Reading state information... 2981s Calculating upgrade... 2982s The following packages will be upgraded: 2982s libevdev2 libftdi1-2 libinih1 nano python3-lazr.uri 2982s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2982s Need to get 374 kB of archives. 2982s After this operation, 17.4 kB of additional disk space will be used. 2982s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libevdev2 arm64 1.13.3+dfsg-1 [36.0 kB] 2983s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 nano arm64 8.2-1 [289 kB] 2983s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libftdi1-2 arm64 1.5-7 [28.4 kB] 2983s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libinih1 arm64 58-1ubuntu1 [7412 B] 2983s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-lazr.uri all 1.0.6-4 [13.6 kB] 2983s Fetched 374 kB in 0s (867 kB/s) 2984s (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 ... 79705 files and directories currently installed.) 2984s Preparing to unpack .../libevdev2_1.13.3+dfsg-1_arm64.deb ... 2984s Unpacking libevdev2:arm64 (1.13.3+dfsg-1) over (1.13.2+dfsg-1) ... 2984s Preparing to unpack .../archives/nano_8.2-1_arm64.deb ... 2984s Unpacking nano (8.2-1) over (8.1-1) ... 2984s Preparing to unpack .../libftdi1-2_1.5-7_arm64.deb ... 2984s Unpacking libftdi1-2:arm64 (1.5-7) over (1.5-6build5) ... 2984s Preparing to unpack .../libinih1_58-1ubuntu1_arm64.deb ... 2984s Unpacking libinih1:arm64 (58-1ubuntu1) over (55-1ubuntu2) ... 2984s Preparing to unpack .../python3-lazr.uri_1.0.6-4_all.deb ... 2984s Unpacking python3-lazr.uri (1.0.6-4) over (1.0.6-3) ... 2984s Setting up libinih1:arm64 (58-1ubuntu1) ... 2984s Setting up python3-lazr.uri (1.0.6-4) ... 2984s Setting up libftdi1-2:arm64 (1.5-7) ... 2984s Setting up nano (8.2-1) ... 2984s Setting up libevdev2:arm64 (1.13.3+dfsg-1) ... 2984s Processing triggers for man-db (2.12.1-3) ... 2985s Processing triggers for install-info (7.1.1-1) ... 2985s Processing triggers for libc-bin (2.40-1ubuntu3) ... 2985s Reading package lists... 2986s Building dependency tree... 2986s Reading state information... 2987s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2988s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 2988s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2988s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2988s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2993s Reading package lists... 2993s Reading package lists... 2993s Building dependency tree... 2993s Reading state information... 2993s Calculating upgrade... 2993s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2993s Reading package lists... 2993s Building dependency tree... 2993s Reading state information... 2994s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3008s Reading package lists... 3008s Building dependency tree... 3008s Reading state information... 3009s Starting pkgProblemResolver with broken count: 0 3012s Starting 2 pkgProblemResolver with broken count: 0 3012s Done 3012s The following additional packages will be installed: 3012s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 3012s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libtime-duration-perl 3012s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 3012s postgresql-16 postgresql-client-16 postgresql-client-common 3012s postgresql-common python3-behave python3-cdiff python3-click 3012s python3-colorama python3-coverage python3-dateutil python3-parse 3012s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 3012s python3-pysyncobj python3-six python3-wcwidth sphinx-rtd-theme-common 3012s ssl-cert 3012s Suggested packages: 3012s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 3012s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 3012s Recommended packages: 3012s javascript-common libjson-xs-perl 3012s The following NEW packages will be installed: 3012s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 3012s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 3012s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 3012s patroni-doc postgresql postgresql-16 postgresql-client-16 3012s postgresql-client-common postgresql-common python3-behave python3-cdiff 3012s python3-click python3-colorama python3-coverage python3-dateutil 3012s python3-parse python3-parse-type python3-prettytable python3-psutil 3012s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth 3012s sphinx-rtd-theme-common ssl-cert 3012s 0 upgraded, 37 newly installed, 0 to remove and 0 not upgraded. 3012s Need to get 23.8 MB/23.8 MB of archives. 3012s After this operation, 86.1 MB of additional disk space will be used. 3012s Get:1 /tmp/autopkgtest.fgWJKE/5-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [752 B] 3012s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 3012s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 3012s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-common all 262 [36.7 kB] 3012s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 3012s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-common all 262 [162 kB] 3012s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3012s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-pty-perl arm64 1:1.20-1build3 [31.3 kB] 3012s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 3012s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3012s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3012s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 3012s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 3012s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 3012s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 3012s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 3012s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 3012s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 3012s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 3012s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 3012s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 3012s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 3012s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 3012s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 3012s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 3012s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 3012s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 3012s Get:28 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni all 3.3.2-1 [265 kB] 3012s Get:29 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 3012s Get:30 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni-doc all 3.3.2-1 [497 kB] 3012s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-client-16 arm64 16.4-3 [1269 kB] 3012s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql-16 arm64 16.4-3 [15.0 MB] 3012s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 postgresql all 16+262 [11.8 kB] 3012s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse all 1.20.2-1 [27.0 kB] 3012s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 3012s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 3012s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 3013s Preconfiguring packages ... 3013s Fetched 23.8 MB in 2s (15.7 MB/s) 3013s Selecting previously unselected package fonts-lato. 3013s (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 ... 79705 files and directories currently installed.) 3013s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3013s Unpacking fonts-lato (2.015-1) ... 3013s Selecting previously unselected package libjson-perl. 3013s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 3013s Unpacking libjson-perl (4.10000-1) ... 3013s Selecting previously unselected package postgresql-client-common. 3013s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 3013s Unpacking postgresql-client-common (262) ... 3013s Selecting previously unselected package ssl-cert. 3013s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 3013s Unpacking ssl-cert (1.1.2ubuntu2) ... 3013s Selecting previously unselected package postgresql-common. 3013s Preparing to unpack .../04-postgresql-common_262_all.deb ... 3013s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 3013s Unpacking postgresql-common (262) ... 3013s Selecting previously unselected package fonts-font-awesome. 3013s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3013s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3014s Selecting previously unselected package libio-pty-perl. 3014s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1build3_arm64.deb ... 3014s Unpacking libio-pty-perl (1:1.20-1build3) ... 3014s Selecting previously unselected package libipc-run-perl. 3014s Preparing to unpack .../07-libipc-run-perl_20231003.0-2_all.deb ... 3014s Unpacking libipc-run-perl (20231003.0-2) ... 3014s Selecting previously unselected package libjs-jquery. 3014s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3014s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3014s Selecting previously unselected package libjs-underscore. 3014s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3014s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3014s Selecting previously unselected package libjs-sphinxdoc. 3014s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-3_all.deb ... 3014s Unpacking libjs-sphinxdoc (7.4.7-3) ... 3014s Selecting previously unselected package libpq5:arm64. 3014s Preparing to unpack .../11-libpq5_17.0-1_arm64.deb ... 3014s Unpacking libpq5:arm64 (17.0-1) ... 3014s Selecting previously unselected package libtime-duration-perl. 3014s Preparing to unpack .../12-libtime-duration-perl_1.21-2_all.deb ... 3014s Unpacking libtime-duration-perl (1.21-2) ... 3014s Selecting previously unselected package libtimedate-perl. 3014s Preparing to unpack .../13-libtimedate-perl_2.3300-2_all.deb ... 3014s Unpacking libtimedate-perl (2.3300-2) ... 3017s Selecting previously unselected package libxslt1.1:arm64. 3017s Preparing to unpack .../14-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 3017s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 3017s Selecting previously unselected package moreutils. 3017s Preparing to unpack .../15-moreutils_0.69-1_arm64.deb ... 3017s Unpacking moreutils (0.69-1) ... 3017s Selecting previously unselected package python3-cdiff. 3017s Preparing to unpack .../16-python3-cdiff_1.0-1.1_all.deb ... 3017s Unpacking python3-cdiff (1.0-1.1) ... 3017s Selecting previously unselected package python3-colorama. 3017s Preparing to unpack .../17-python3-colorama_0.4.6-4_all.deb ... 3017s Unpacking python3-colorama (0.4.6-4) ... 3017s Selecting previously unselected package python3-click. 3017s Preparing to unpack .../18-python3-click_8.1.7-2_all.deb ... 3017s Unpacking python3-click (8.1.7-2) ... 3017s Selecting previously unselected package python3-six. 3017s Preparing to unpack .../19-python3-six_1.16.0-7_all.deb ... 3017s Unpacking python3-six (1.16.0-7) ... 3017s Selecting previously unselected package python3-dateutil. 3017s Preparing to unpack .../20-python3-dateutil_2.9.0-2_all.deb ... 3017s Unpacking python3-dateutil (2.9.0-2) ... 3017s Selecting previously unselected package python3-wcwidth. 3017s Preparing to unpack .../21-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 3017s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 3017s Selecting previously unselected package python3-prettytable. 3017s Preparing to unpack .../22-python3-prettytable_3.10.1-1_all.deb ... 3017s Unpacking python3-prettytable (3.10.1-1) ... 3017s Selecting previously unselected package python3-psutil. 3017s Preparing to unpack .../23-python3-psutil_5.9.8-2build2_arm64.deb ... 3017s Unpacking python3-psutil (5.9.8-2build2) ... 3017s Selecting previously unselected package python3-psycopg2. 3017s Preparing to unpack .../24-python3-psycopg2_2.9.9-2_arm64.deb ... 3017s Unpacking python3-psycopg2 (2.9.9-2) ... 3017s Selecting previously unselected package python3-pysyncobj. 3017s Preparing to unpack .../25-python3-pysyncobj_0.3.12-1_all.deb ... 3017s Unpacking python3-pysyncobj (0.3.12-1) ... 3017s Selecting previously unselected package patroni. 3017s Preparing to unpack .../26-patroni_3.3.2-1_all.deb ... 3017s Unpacking patroni (3.3.2-1) ... 3017s Selecting previously unselected package sphinx-rtd-theme-common. 3017s Preparing to unpack .../27-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 3017s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3017s Selecting previously unselected package patroni-doc. 3017s Preparing to unpack .../28-patroni-doc_3.3.2-1_all.deb ... 3017s Unpacking patroni-doc (3.3.2-1) ... 3017s Selecting previously unselected package postgresql-client-16. 3017s Preparing to unpack .../29-postgresql-client-16_16.4-3_arm64.deb ... 3017s Unpacking postgresql-client-16 (16.4-3) ... 3017s Selecting previously unselected package postgresql-16. 3017s Preparing to unpack .../30-postgresql-16_16.4-3_arm64.deb ... 3017s Unpacking postgresql-16 (16.4-3) ... 3017s Selecting previously unselected package postgresql. 3017s Preparing to unpack .../31-postgresql_16+262_all.deb ... 3017s Unpacking postgresql (16+262) ... 3017s Selecting previously unselected package python3-parse. 3017s Preparing to unpack .../32-python3-parse_1.20.2-1_all.deb ... 3017s Unpacking python3-parse (1.20.2-1) ... 3017s Selecting previously unselected package python3-parse-type. 3017s Preparing to unpack .../33-python3-parse-type_0.6.2-1_all.deb ... 3017s Unpacking python3-parse-type (0.6.2-1) ... 3017s Selecting previously unselected package python3-behave. 3017s Preparing to unpack .../34-python3-behave_1.2.6-5_all.deb ... 3017s Unpacking python3-behave (1.2.6-5) ... 3017s Selecting previously unselected package python3-coverage. 3017s Preparing to unpack .../35-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 3017s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3017s Selecting previously unselected package autopkgtest-satdep. 3017s Preparing to unpack .../36-5-autopkgtest-satdep.deb ... 3017s Unpacking autopkgtest-satdep (0) ... 3017s Setting up postgresql-client-common (262) ... 3017s Setting up fonts-lato (2.015-1) ... 3017s Setting up libio-pty-perl (1:1.20-1build3) ... 3017s Setting up python3-pysyncobj (0.3.12-1) ... 3017s Setting up python3-colorama (0.4.6-4) ... 3017s Setting up python3-cdiff (1.0-1.1) ... 3017s Setting up libpq5:arm64 (17.0-1) ... 3017s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3017s Setting up python3-click (8.1.7-2) ... 3018s Setting up python3-psutil (5.9.8-2build2) ... 3018s Setting up python3-six (1.16.0-7) ... 3018s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 3019s Setting up ssl-cert (1.1.2ubuntu2) ... 3019s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 3020s Setting up python3-psycopg2 (2.9.9-2) ... 3020s Setting up libipc-run-perl (20231003.0-2) ... 3020s Setting up libtime-duration-perl (1.21-2) ... 3020s Setting up libtimedate-perl (2.3300-2) ... 3020s Setting up python3-parse (1.20.2-1) ... 3020s Setting up libjson-perl (4.10000-1) ... 3020s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 3020s Setting up python3-dateutil (2.9.0-2) ... 3020s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3020s Setting up python3-prettytable (3.10.1-1) ... 3021s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3021s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3021s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3021s Setting up moreutils (0.69-1) ... 3021s Setting up postgresql-client-16 (16.4-3) ... 3022s 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 3022s Setting up python3-parse-type (0.6.2-1) ... 3022s Setting up postgresql-common (262) ... 3023s 3023s Creating config file /etc/postgresql-common/createcluster.conf with new version 3023s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 3023s Removing obsolete dictionary files: 3024s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 3024s Setting up libjs-sphinxdoc (7.4.7-3) ... 3024s Setting up python3-behave (1.2.6-5) ... 3025s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 3025s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 3025s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 3025s """Registers a custom type that will be available to "parse" 3025s Setting up patroni (3.3.2-1) ... 3025s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3026s Setting up postgresql-16 (16.4-3) ... 3026s Creating new PostgreSQL cluster 16/main ... 3026s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 3026s The files belonging to this database system will be owned by user "postgres". 3026s This user must also own the server process. 3026s 3026s The database cluster will be initialized with locale "C.UTF-8". 3026s The default database encoding has accordingly been set to "UTF8". 3026s The default text search configuration will be set to "english". 3026s 3026s Data page checksums are disabled. 3026s 3026s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 3026s creating subdirectories ... ok 3026s selecting dynamic shared memory implementation ... posix 3026s selecting default max_connections ... 100 3026s selecting default shared_buffers ... 128MB 3026s selecting default time zone ... Etc/UTC 3026s creating configuration files ... ok 3027s running bootstrap script ... ok 3027s performing post-bootstrap initialization ... ok 3027s syncing data to disk ... ok 3032s Setting up patroni-doc (3.3.2-1) ... 3032s Setting up postgresql (16+262) ... 3032s Setting up autopkgtest-satdep (0) ... 3032s Processing triggers for man-db (2.12.1-3) ... 3033s Processing triggers for libc-bin (2.40-1ubuntu3) ... 3039s (Reading database ... 82718 files and directories currently installed.) 3039s Removing autopkgtest-satdep (0) ... 3044s autopkgtest [16:09:51]: test acceptance-raft: debian/tests/acceptance raft 3044s autopkgtest [16:09:51]: test acceptance-raft: [----------------------- 3044s ### PostgreSQL 16 acceptance-raft ### 3044s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 3044s ++ ls -1r /usr/lib/postgresql/ 3044s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 3044s + '[' 16 == 10 -o 16 == 11 ']' 3044s + echo '### PostgreSQL 16 acceptance-raft ###' 3044s + 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' 3059s Nov 01 16:09:58 Feature: basic replication # features/basic_replication.feature:1 3059s Nov 01 16:09:58 We should check that the basic bootstrapping, replication and failover works. 3059s Nov 01 16:09:58 Scenario: check replication of a single table # features/basic_replication.feature:4 3059s Nov 01 16:09:58 Given I start postgres0 # features/steps/basic_replication.py:8 3059s Nov 01 16:10:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3059s Nov 01 16:10:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3059s Nov 01 16:10: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 3059s Nov 01 16:10:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 3059s Nov 01 16:10:02 When I start postgres1 # features/steps/basic_replication.py:8 3059s Nov 01 16:10:06 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 3064s Nov 01 16:10:11 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 3064s Nov 01 16:10:11 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 3064s Nov 01 16:10:11 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3065s Nov 01 16:10:12 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3065s Nov 01 16:10:12 3065s Nov 01 16:10:12 Scenario: check restart of sync replica # features/basic_replication.feature:17 3065s Nov 01 16:10:12 Given I shut down postgres2 # features/steps/basic_replication.py:29 3066s Nov 01 16:10:13 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 3066s Nov 01 16:10:13 When I start postgres2 # features/steps/basic_replication.py:8 3070s Nov 01 16:10:17 And I shut down postgres1 # features/steps/basic_replication.py:29 3074s Nov 01 16:10:20 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3074s Nov 01 16:10:20 When I start postgres1 # features/steps/basic_replication.py:8 3078s Nov 01 16:10:25 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3078s Nov 01 16:10:25 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3078s Nov 01 16:10:25 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3078s Nov 01 16:10:25 3078s Nov 01 16:10:25 Scenario: check stuck sync replica # features/basic_replication.feature:28 3078s Nov 01 16:10:25 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 3078s Nov 01 16:10:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 3078s Nov 01 16:10:25 And I create table on postgres0 # features/steps/basic_replication.py:73 3078s Nov 01 16:10:25 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 3081s Nov 01 16:10:26 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 3081s Nov 01 16:10:26 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 3081s Nov 01 16:10:26 And I load data on postgres0 # features/steps/basic_replication.py:84 3081s Nov 01 16:10:27 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 3084s Nov 01 16:10:30 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 3084s Nov 01 16:10:30 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3084s Nov 01 16:10:30 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3084s Nov 01 16:10:30 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 3084s Nov 01 16:10:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 3084s Nov 01 16:10:31 And I drop table on postgres0 # features/steps/basic_replication.py:73 3084s Nov 01 16:10:31 3084s Nov 01 16:10:31 Scenario: check multi sync replication # features/basic_replication.feature:44 3084s Nov 01 16:10:31 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 3084s Nov 01 16:10:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 3084s Nov 01 16:10:31 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3088s Nov 01 16:10:35 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3088s Nov 01 16:10:35 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3088s Nov 01 16:10:35 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 3088s Nov 01 16:10:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 3088s Nov 01 16:10:35 And I shut down postgres1 # features/steps/basic_replication.py:29 3091s Nov 01 16:10:38 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3092s Nov 01 16:10:39 When I start postgres1 # features/steps/basic_replication.py:8 3096s Nov 01 16:10:43 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3097s Nov 01 16:10:44 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3097s Nov 01 16:10:44 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3097s Nov 01 16:10:44 3097s Nov 01 16:10:44 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 3097s Nov 01 16:10:44 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3099s Nov 01 16:10:46 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3099s Nov 01 16:10:46 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3101s Nov 01 16:10:48 And I shut down postgres0 # features/steps/basic_replication.py:29 3102s Nov 01 16:10:49 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3105s Nov 01 16:10:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3105s Nov 01 16:10:51 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 3123s Nov 01 16:11:10 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 3124s Nov 01 16:11:11 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 3124s Nov 01 16:11:11 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 3124s Nov 01 16:11:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 3124s Nov 01 16:11:11 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 3125s Nov 01 16:11:11 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3129s Nov 01 16:11:16 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3129s Nov 01 16:11:16 3129s Nov 01 16:11:16 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 3129s Nov 01 16:11:16 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 3129s Nov 01 16:11:16 And I start postgres0 # features/steps/basic_replication.py:8 3129s Nov 01 16:11:16 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 3134s Nov 01 16:11:21 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 3134s Nov 01 16:11:21 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 3140s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 3155s Nov 01 16:11:42 3155s Nov 01 16:11:42 @reject-duplicate-name 3155s Nov 01 16:11:42 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 3155s Nov 01 16:11:42 Given I start duplicate postgres0 on port 8011 # None 3155s Nov 01 16:11:42 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 3155s Nov 01 16:11:42 3155s Nov 01 16:11:42 Feature: cascading replication # features/cascading_replication.feature:1 3155s Nov 01 16:11:42 We should check that patroni can do base backup and streaming from the replica 3155s Nov 01 16:11:42 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 3155s Nov 01 16:11:42 Given I start postgres0 # features/steps/basic_replication.py:8 3159s Nov 01 16:11:46 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3159s Nov 01 16:11:46 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 3163s Nov 01 16:11:50 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3164s Nov 01 16:11:51 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 3164s Nov 01 16:11:51 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 3165s Nov 01 16:11:51 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3165s Nov 01 16:11:51 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 3175s Nov 01 16:12:02 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 3175s Nov 01 16:12:02 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 3190s Nov 01 16:12:17 3190s SKIP FEATURE citus: Citus extenstion isn't available 3190s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 3190s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 3190s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 3190s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 3190s 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 3190s Nov 01 16:12:17 Feature: citus # features/citus.feature:1 3190s Nov 01 16:12:17 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 3190s Nov 01 16:12:17 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 3190s Nov 01 16:12:17 Given I start postgres0 in citus group 0 # None 3190s Nov 01 16:12:17 And I start postgres2 in citus group 1 # None 3190s Nov 01 16:12:17 Then postgres0 is a leader in a group 0 after 10 seconds # None 3190s Nov 01 16:12:17 And postgres2 is a leader in a group 1 after 10 seconds # None 3190s Nov 01 16:12:17 When I start postgres1 in citus group 0 # None 3190s Nov 01 16:12:17 And I start postgres3 in citus group 1 # None 3190s Nov 01 16:12:17 Then replication works from postgres0 to postgres1 after 15 seconds # None 3190s Nov 01 16:12:17 Then replication works from postgres2 to postgres3 after 15 seconds # None 3190s Nov 01 16:12:17 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 3190s Nov 01 16:12:17 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3190s Nov 01 16:12:17 3190s Nov 01 16:12:17 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 3190s Nov 01 16:12:17 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 3190s Nov 01 16:12:17 Then postgres1 role is the primary after 10 seconds # None 3190s Nov 01 16:12:17 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 3190s Nov 01 16:12:17 And replication works from postgres1 to postgres0 after 15 seconds # None 3190s Nov 01 16:12:17 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3190s Nov 01 16:12:17 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 3190s Nov 01 16:12:17 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 3190s Nov 01 16:12:17 Then postgres0 role is the primary after 10 seconds # None 3190s Nov 01 16:12:17 And replication works from postgres0 to postgres1 after 15 seconds # None 3190s Nov 01 16:12:17 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3190s Nov 01 16:12:17 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 3190s Nov 01 16:12:17 3190s Nov 01 16:12:17 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 3190s Nov 01 16:12:17 Given I create a distributed table on postgres0 # None 3190s Nov 01 16:12:17 And I start a thread inserting data on postgres0 # None 3190s Nov 01 16:12:17 When I run patronictl.py switchover batman --group 1 --force # None 3190s Nov 01 16:12:17 Then I receive a response returncode 0 # None 3190s Nov 01 16:12:17 And postgres3 role is the primary after 10 seconds # None 3190s Nov 01 16:12:17 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 3190s Nov 01 16:12:17 And replication works from postgres3 to postgres2 after 15 seconds # None 3190s Nov 01 16:12:17 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3190s Nov 01 16:12:17 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 3190s Nov 01 16:12:17 And a thread is still alive # None 3190s Nov 01 16:12:17 When I run patronictl.py switchover batman --group 1 --force # None 3190s Nov 01 16:12:17 Then I receive a response returncode 0 # None 3190s Nov 01 16:12:17 And postgres2 role is the primary after 10 seconds # None 3190s Nov 01 16:12:17 And replication works from postgres2 to postgres3 after 15 seconds # None 3190s Nov 01 16:12:17 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3190s Nov 01 16:12:17 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 3190s Nov 01 16:12:17 And a thread is still alive # None 3190s Nov 01 16:12:17 When I stop a thread # None 3190s Nov 01 16:12:17 Then a distributed table on postgres0 has expected rows # None 3190s Nov 01 16:12:17 3190s Nov 01 16:12:17 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 3190s Nov 01 16:12:17 Given I cleanup a distributed table on postgres0 # None 3190s Nov 01 16:12:17 And I start a thread inserting data on postgres0 # None 3190s Nov 01 16:12:17 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3190s Nov 01 16:12:17 Then I receive a response returncode 0 # None 3190s Nov 01 16:12:17 And postgres2 role is the primary after 10 seconds # None 3190s Nov 01 16:12:17 And replication works from postgres2 to postgres3 after 15 seconds # None 3190s Nov 01 16:12:17 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3190s Nov 01 16:12:17 And a thread is still alive # None 3190s Nov 01 16:12:17 When I stop a thread # None 3190s Nov 01 16:12:17 Then a distributed table on postgres0 has expected rows # None 3196s Nov 01 16:12:23 3196s Nov 01 16:12:23 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 3196s Nov 01 16:12:23 Given I start postgres4 in citus group 2 # None 3196s Nov 01 16:12:23 Then postgres4 is a leader in a group 2 after 10 seconds # None 3196s Nov 01 16:12:23 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 3196s Nov 01 16:12:23 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 3196s Nov 01 16:12:23 Then I receive a response returncode 0 # None 3196s Nov 01 16:12:23 And I receive a response output "+ttl: 20" # None 3196s Nov 01 16:12:23 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 3196s Nov 01 16:12:23 When I shut down postgres4 # None 3196s Nov 01 16:12:23 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 3196s Nov 01 16:12:23 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3196s Nov 01 16:12:23 Then a transaction finishes in 20 seconds # None 3196s Nov 01 16:12:23 3196s Nov 01 16:12:23 Feature: custom bootstrap # features/custom_bootstrap.feature:1 3196s Nov 01 16:12:23 We should check that patroni can bootstrap a new cluster from a backup 3196s Nov 01 16:12:23 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 3196s Nov 01 16:12:23 Given I start postgres0 # features/steps/basic_replication.py:8 3206s Nov 01 16:12:33 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3206s Nov 01 16:12:33 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3206s Nov 01 16:12:33 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 3211s Nov 01 16:12:37 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3213s Nov 01 16:12:40 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 3213s Nov 01 16:12:40 3213s Nov 01 16:12:40 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 3213s Nov 01 16:12:40 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 3213s Nov 01 16:12:40 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3213s Nov 01 16:12:40 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 3218s Nov 01 16:12:45 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 3218s Nov 01 16:12:45 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 3236s Nov 01 16:13:02 3236s Nov 01 16:13:02 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 3236s Nov 01 16:13:02 We should check the basic dcs failsafe mode functioning 3236s Nov 01 16:13:02 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 3236s Nov 01 16:13:02 Given I start postgres0 # features/steps/basic_replication.py:8 3239s Nov 01 16:13:06 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3240s Nov 01 16:13:06 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 3240s Nov 01 16:13:06 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 3240s Nov 01 16:13:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 3240s Nov 01 16:13:06 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 3240s Nov 01 16:13:06 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 3240s Nov 01 16:13:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 3240s Nov 01 16:13:06 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 3240s Nov 01 16:13:06 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 3240s Nov 01 16:13:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 3240s Nov 01 16:13:06 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 3240s Nov 01 16:13:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 3240s Nov 01 16:13:06 3240s Nov 01 16:13:06 @dcs-failsafe 3240s Nov 01 16:13:06 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 3240s Nov 01 16:13:06 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3240s Nov 01 16:13:06 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 3243s Nov 01 16:13:10 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3243s Nov 01 16:13:10 3243s Nov 01 16:13:10 @dcs-failsafe 3243s Nov 01 16:13:10 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 3243s Nov 01 16:13:10 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 3243s Nov 01 16:13:10 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 3244s Nov 01 16:13:10 And I shut down postgres0 # features/steps/basic_replication.py:29 3245s Nov 01 16:13:12 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 3249s Nov 01 16:13:15 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 3249s Nov 01 16:13:15 3249s Nov 01 16:13:15 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 3249s Nov 01 16:13:15 Given I start postgres0 # features/steps/basic_replication.py:8 3252s Nov 01 16:13:19 And I start postgres1 # features/steps/basic_replication.py:8 3252s Nov 01 16:13:19 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3253s Nov 01 16:13:20 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 3253s Nov 01 16:13:20 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 3258s Nov 01 16:13:25 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 3258s Nov 01 16:13:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 3258s Nov 01 16:13:25 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 3258s Nov 01 16:13:25 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 3258s Nov 01 16:13:25 3258s Nov 01 16:13:25 @dcs-failsafe @slot-advance 3258s Nov 01 16:13:25 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 3258s Nov 01 16:13:25 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 3258s Nov 01 16:13:25 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3259s Nov 01 16:13:26 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3261s Nov 01 16:13:28 And DCS is down # features/steps/dcs_failsafe_mode.py:4 3261s Nov 01 16:13:28 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 3266s Nov 01 16:13:33 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3266s Nov 01 16:13:33 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 3266s Nov 01 16:13:33 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 3266s Nov 01 16:13:33 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 3266s Nov 01 16:13:33 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 3266s Nov 01 16:13:33 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 3273s Nov 01 16:13:40 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3273s Nov 01 16:13:40 3273s Nov 01 16:13:40 @dcs-failsafe 3273s Nov 01 16:13:40 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 3273s Nov 01 16:13:40 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3273s Nov 01 16:13:40 And I kill postgres1 # features/steps/basic_replication.py:34 3274s Nov 01 16:13:41 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 3274s Nov 01 16:13:41 waiting for server to shut down.... done 3274s Nov 01 16:13:41 server stopped 3274s Nov 01 16:13:41 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 3276s Nov 01 16:13:43 3276s Nov 01 16:13:43 @dcs-failsafe 3276s Nov 01 16:13:43 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 3276s Nov 01 16:13:43 Given I kill postgres0 # features/steps/basic_replication.py:34 3277s Nov 01 16:13:44 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 3278s Nov 01 16:13:45 waiting for server to shut down.... done 3278s Nov 01 16:13:45 server stopped 3278s Nov 01 16:13:45 And DCS is up # features/steps/dcs_failsafe_mode.py:9 3278s Nov 01 16:13:45 When I start postgres1 # features/steps/basic_replication.py:8 3281s Nov 01 16:13:48 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3282s Nov 01 16:13:49 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 3282s Nov 01 16:13:49 3282s Nov 01 16:13:49 @dcs-failsafe 3282s Nov 01 16:13:49 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 3282s Nov 01 16:13:49 Given I start postgres0 # features/steps/basic_replication.py:8 3286s Nov 01 16:13:53 And I start postgres2 # features/steps/basic_replication.py:8 3291s Nov 01 16:13:58 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3291s Nov 01 16:13:58 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 3291s Nov 01 16:13:58 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 3291s Nov 01 16:13:58 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 3292s Nov 01 16:13:59 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 3293s Nov 01 16:14:00 3293s Nov 01 16:14:00 @dcs-failsafe @slot-advance 3293s Nov 01 16:14:00 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 3293s Nov 01 16:14:00 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 3293s Nov 01 16:14:00 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 3297s Nov 01 16:14:04 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 3298s Nov 01 16:14:05 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 3298s Nov 01 16:14:05 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 3300s Nov 01 16:14:07 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3300s Nov 01 16:14:07 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3300s Nov 01 16:14:07 3300s Nov 01 16:14:07 @dcs-failsafe 3300s Nov 01 16:14:07 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 3300s Nov 01 16:14:07 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3300s Nov 01 16:14:07 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 3304s Nov 01 16:14:11 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3304s Nov 01 16:14:11 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 3304s Nov 01 16:14:11 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 3304s Nov 01 16:14:11 3304s Nov 01 16:14:11 @dcs-failsafe @slot-advance 3304s Nov 01 16:14:11 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 3304s Nov 01 16:14:11 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 3304s Nov 01 16:14:11 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 3305s Nov 01 16:14:12 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 3305s Nov 01 16:14:12 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 3305s Nov 01 16:14:12 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 3311s Nov 01 16:14:18 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 3311s Nov 01 16:14:18 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 3311s Nov 01 16:14:18 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3311s Nov 01 16:14:18 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3324s Nov 01 16:14:31 3324s Nov 01 16:14:31 Feature: ignored slots # features/ignored_slots.feature:1 3324s Nov 01 16:14:31 3324s Nov 01 16:14:31 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 3324s Nov 01 16:14:31 Given I start postgres1 # features/steps/basic_replication.py:8 3333s Nov 01 16:14:40 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3333s Nov 01 16:14:40 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3333s Nov 01 16:14:40 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 3333s Nov 01 16:14:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 3333s Nov 01 16:14:40 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 3333s Nov 01 16:14:40 When I shut down postgres1 # features/steps/basic_replication.py:29 3335s Nov 01 16:14:42 And I start postgres1 # features/steps/basic_replication.py:8 3338s Nov 01 16:14:45 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3340s Nov 01 16:14:47 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3342s Nov 01 16:14:49 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 3342s Nov 01 16:14:49 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3342s Nov 01 16:14:49 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3342s Nov 01 16:14:49 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3342s Nov 01 16:14:49 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3342s Nov 01 16:14:49 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3342s Nov 01 16:14:49 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3342s Nov 01 16:14:49 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3342s Nov 01 16:14:49 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3342s Nov 01 16:14:49 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3342s Nov 01 16:14:49 When I start postgres0 # features/steps/basic_replication.py:8 3351s Nov 01 16:14:58 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3351s Nov 01 16:14:58 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 3351s Nov 01 16:14:58 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 3352s Nov 01 16:14:59 When I shut down postgres1 # features/steps/basic_replication.py:29 3354s Nov 01 16:15:01 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3355s Nov 01 16:15:02 When I start postgres1 # features/steps/basic_replication.py:8 3358s Nov 01 16:15:05 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 3358s Nov 01 16:15:05 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3359s Nov 01 16:15:06 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3361s Nov 01 16:15:08 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3361s Nov 01 16:15:08 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3361s Nov 01 16:15:08 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3361s Nov 01 16:15:08 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3361s Nov 01 16:15:08 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 3361s Nov 01 16:15:08 When I shut down postgres0 # features/steps/basic_replication.py:29 3363s Nov 01 16:15:10 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3364s Nov 01 16:15:11 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3364s Nov 01 16:15:11 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3364s Nov 01 16:15:11 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3364s Nov 01 16:15:11 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3373s Nov 01 16:15:20 3373s Nov 01 16:15:20 Feature: nostream node # features/nostream_node.feature:1 3373s Nov 01 16:15:20 3373s Nov 01 16:15:20 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 3373s Nov 01 16:15:20 When I start postgres0 # features/steps/basic_replication.py:8 3376s Nov 01 16:15:23 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 3379s Nov 01 16:15:26 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 3380s Nov 01 16:15:27 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 3385s Nov 01 16:15:32 3385s Nov 01 16:15:32 @slot-advance 3385s Nov 01 16:15:32 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 3385s Nov 01 16:15:32 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 3385s Nov 01 16:15:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 3385s Nov 01 16:15:32 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3387s Nov 01 16:15:34 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3388s Nov 01 16:15:35 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 3392s Nov 01 16:15:39 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3392s Nov 01 16:15:39 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3392s Nov 01 16:15:39 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 3410s Nov 01 16:15:57 3410s Nov 01 16:15:57 Feature: patroni api # features/patroni_api.feature:1 3410s Nov 01 16:15:57 We should check that patroni correctly responds to valid and not-valid API requests. 3410s Nov 01 16:15:57 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 3410s Nov 01 16:15:57 Given I start postgres0 # features/steps/basic_replication.py:8 3419s Nov 01 16:16:06 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3419s Nov 01 16:16:06 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3419s Nov 01 16:16:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 3419s Nov 01 16:16:06 And I receive a response state running # features/steps/patroni_api.py:98 3419s Nov 01 16:16:06 And I receive a response role master # features/steps/patroni_api.py:98 3419s Nov 01 16:16:06 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 3419s Nov 01 16:16:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 3419s Nov 01 16:16:06 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 3419s Nov 01 16:16:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 3419s Nov 01 16:16:06 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3419s Nov 01 16:16:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 3419s Nov 01 16:16:06 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 3419s Nov 01 16:16:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 3419s Nov 01 16:16:06 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 3419s Nov 01 16:16:06 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 3421s Nov 01 16:16:08 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 3421s Nov 01 16:16:08 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 3421s Nov 01 16:16:08 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 3421s Nov 01 16:16:08 Then I receive a response code 412 # features/steps/patroni_api.py:98 3421s Nov 01 16:16:08 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 3421s Nov 01 16:16:08 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 3421s Nov 01 16:16:08 Then I receive a response code 400 # features/steps/patroni_api.py:98 3421s Nov 01 16:16:08 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 3421s Nov 01 16:16:08 Then I receive a response code 400 # features/steps/patroni_api.py:98 3421s Nov 01 16:16:08 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 3421s Nov 01 16:16:08 3421s Nov 01 16:16:08 Scenario: check local configuration reload # features/patroni_api.feature:32 3421s Nov 01 16:16:08 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 3421s Nov 01 16:16:08 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 3421s Nov 01 16:16:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 3421s Nov 01 16:16:08 3421s Nov 01 16:16:08 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 3421s Nov 01 16:16:08 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 3421s Nov 01 16:16:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 3421s Nov 01 16:16:08 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 3423s Nov 01 16:16:10 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 3423s Nov 01 16:16:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 3423s Nov 01 16:16:10 And I receive a response ttl 20 # features/steps/patroni_api.py:98 3423s Nov 01 16:16:10 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3423s Nov 01 16:16:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 3423s Nov 01 16:16:10 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 3423s Nov 01 16:16:10 And I sleep for 4 seconds # features/steps/patroni_api.py:39 3427s Nov 01 16:16:14 3427s Nov 01 16:16:14 Scenario: check the scheduled restart # features/patroni_api.feature:49 3427s Nov 01 16:16:14 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 3429s Nov 01 16:16:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3429s Nov 01 16:16:16 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 3429s Nov 01 16:16:16 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 3429s Nov 01 16:16:16 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 3429s Nov 01 16:16:16 Then I receive a response code 202 # features/steps/patroni_api.py:98 3429s Nov 01 16:16:16 And I sleep for 8 seconds # features/steps/patroni_api.py:39 3437s Nov 01 16:16:24 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 3437s Nov 01 16:16:24 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 3437s Nov 01 16:16:24 Then I receive a response code 202 # features/steps/patroni_api.py:98 3437s Nov 01 16:16:24 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 3444s Nov 01 16:16:31 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3445s Nov 01 16:16:32 3445s Nov 01 16:16:32 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 3445s Nov 01 16:16:32 Given I start postgres1 # features/steps/basic_replication.py:8 3454s Nov 01 16:16:41 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3455s Nov 01 16:16:42 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 3457s Nov 01 16:16:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3457s Nov 01 16:16:44 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 3457s Nov 01 16:16:44 waiting for server to shut down.... done 3457s Nov 01 16:16:44 server stopped 3457s Nov 01 16:16:44 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3457s Nov 01 16:16:44 Then I receive a response code 503 # features/steps/patroni_api.py:98 3457s Nov 01 16:16:44 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 3458s Nov 01 16:16:45 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3461s Nov 01 16:16:48 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3461s Nov 01 16:16:48 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3462s Nov 01 16:16:49 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3464s Nov 01 16:16:51 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3464s Nov 01 16:16:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 3464s Nov 01 16:16:51 And I receive a response state running # features/steps/patroni_api.py:98 3464s Nov 01 16:16:51 And I receive a response role replica # features/steps/patroni_api.py:98 3464s Nov 01 16:16:51 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 3468s Nov 01 16:16:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3468s Nov 01 16:16:55 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 3468s Nov 01 16:16:55 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 3469s Nov 01 16:16:56 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3469s Nov 01 16:16:56 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3471s Nov 01 16:16:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3471s Nov 01 16:16:58 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 3471s Nov 01 16:16:58 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 3472s Nov 01 16:16:59 3472s Nov 01 16:16:59 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 3472s Nov 01 16:16:59 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 3474s Nov 01 16:17:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 3474s Nov 01 16:17:01 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 3474s Nov 01 16:17:01 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3474s Nov 01 16:17:01 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3479s Nov 01 16:17:06 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 3479s Nov 01 16:17:06 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3480s Nov 01 16:17:07 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3480s Nov 01 16:17:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 3480s Nov 01 16:17:07 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3480s Nov 01 16:17:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 3480s Nov 01 16:17:07 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3480s Nov 01 16:17:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 3480s Nov 01 16:17:07 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3480s Nov 01 16:17:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 3480s Nov 01 16:17:07 3480s Nov 01 16:17:07 Scenario: check the scheduled switchover # features/patroni_api.feature:107 3480s Nov 01 16:17:07 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3483s Nov 01 16:17:09 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 3483s Nov 01 16:17:09 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 3483s Nov 01 16:17:09 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 3484s Nov 01 16:17:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3484s Nov 01 16:17:11 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 3486s Nov 01 16:17:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3486s Nov 01 16:17:12 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 3496s Nov 01 16:17:23 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3497s Nov 01 16:17:24 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3499s Nov 01 16:17:26 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 3499s Nov 01 16:17:26 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3500s Nov 01 16:17:27 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 3500s Nov 01 16:17:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 3500s Nov 01 16:17:27 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 3500s Nov 01 16:17:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 3500s Nov 01 16:17:27 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3500s Nov 01 16:17:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 3500s Nov 01 16:17:27 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 3500s Nov 01 16:17:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 3510s Nov 01 16:17:37 3510s Nov 01 16:17:37 Feature: permanent slots # features/permanent_slots.feature:1 3510s Nov 01 16:17:37 3510s Nov 01 16:17:37 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 3510s Nov 01 16:17:37 Given I start postgres0 # features/steps/basic_replication.py:8 3519s Nov 01 16:17:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3519s Nov 01 16:17:46 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3519s Nov 01 16:17:46 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 3519s Nov 01 16:17:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 3519s Nov 01 16:17:46 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3519s Nov 01 16:17:46 When I start postgres1 # features/steps/basic_replication.py:8 3522s Nov 01 16:17:49 And I start postgres2 # features/steps/basic_replication.py:8 3525s Nov 01 16:17:52 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 3529s Nov 01 16:17:55 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3529s Nov 01 16:17:55 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 3529s Nov 01 16:17:55 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 3529s Nov 01 16:17:55 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3529s Nov 01 16:17:56 3529s Nov 01 16:17:56 @slot-advance 3529s Nov 01 16:17:56 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 3529s Nov 01 16:17:56 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3531s Nov 01 16:17:58 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 3531s Nov 01 16:17:58 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3532s Nov 01 16:17:59 3532s Nov 01 16:17:59 @slot-advance 3532s Nov 01 16:17:59 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 3532s Nov 01 16:17:59 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3537s Nov 01 16:18:04 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3537s Nov 01 16:18:04 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3538s Nov 01 16:18:05 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3539s Nov 01 16:18:06 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3539s Nov 01 16:18:06 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3539s Nov 01 16:18:06 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3539s Nov 01 16:18:06 3539s Nov 01 16:18:06 @slot-advance 3539s Nov 01 16:18:06 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 3539s Nov 01 16:18:06 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3539s Nov 01 16:18:06 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3539s Nov 01 16:18:06 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3539s Nov 01 16:18:06 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3539s Nov 01 16:18:06 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3539s Nov 01 16:18:06 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 3539s Nov 01 16:18:06 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3539s Nov 01 16:18:06 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3539s Nov 01 16:18:06 3539s Nov 01 16:18:06 @slot-advance 3539s Nov 01 16:18:06 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 3539s Nov 01 16:18:06 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 3539s Nov 01 16:18:06 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 3539s Nov 01 16:18:06 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 3539s Nov 01 16:18:06 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3541s Nov 01 16:18:08 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3541s Nov 01 16:18:08 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3541s Nov 01 16:18:08 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3541s Nov 01 16:18:08 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3541s Nov 01 16:18:08 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3541s Nov 01 16:18:08 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3542s Nov 01 16:18:08 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 3543s Nov 01 16:18:10 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 3543s Nov 01 16:18:10 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3543s Nov 01 16:18:10 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3543s Nov 01 16:18:10 3543s Nov 01 16:18:10 @slot-advance 3543s Nov 01 16:18:10 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 3543s Nov 01 16:18:10 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 3543s Nov 01 16:18:10 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 3543s Nov 01 16:18:10 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 3543s Nov 01 16:18:10 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 3543s Nov 01 16:18:10 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 3543s Nov 01 16:18:10 3543s Nov 01 16:18:10 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 3543s Nov 01 16:18:10 Given I shut down postgres3 # features/steps/basic_replication.py:29 3544s Nov 01 16:18:11 And I shut down postgres2 # features/steps/basic_replication.py:29 3545s Nov 01 16:18:12 And I shut down postgres0 # features/steps/basic_replication.py:29 3547s Nov 01 16:18:14 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3547s Nov 01 16:18:14 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 3547s Nov 01 16:18:14 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3559s Nov 01 16:18:26 3559s Nov 01 16:18:26 Feature: priority replication # features/priority_failover.feature:1 3559s Nov 01 16:18:26 We should check that we can give nodes priority during failover 3559s Nov 01 16:18:26 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 3559s Nov 01 16:18:26 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3568s Nov 01 16:18:35 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 3571s Nov 01 16:18:38 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 3572s Nov 01 16:18:39 When I shut down postgres0 # features/steps/basic_replication.py:29 3574s Nov 01 16:18:41 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 3576s Nov 01 16:18:43 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 3576s Nov 01 16:18:43 When I start postgres0 # features/steps/basic_replication.py:8 3579s Nov 01 16:18:46 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3582s Nov 01 16:18:49 3582s Nov 01 16:18:49 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 3582s Nov 01 16:18:49 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3586s Nov 01 16:18:53 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 3589s Nov 01 16:18:56 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 3590s Nov 01 16:18:57 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 3591s Nov 01 16:18:58 When I shut down postgres0 # features/steps/basic_replication.py:29 3593s Nov 01 16:19:00 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3594s Nov 01 16:19:01 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 3594s Nov 01 16:19:01 3594s Nov 01 16:19:01 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 3594s Nov 01 16:19:01 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 3594s Nov 01 16:19:01 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 3594s Nov 01 16:19:01 Then I receive a response code 202 # features/steps/patroni_api.py:98 3594s Nov 01 16:19:01 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 3596s Nov 01 16:19:03 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 3597s Nov 01 16:19:04 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 3598s Nov 01 16:19:04 Then I receive a response code 412 # features/steps/patroni_api.py:98 3598s Nov 01 16:19:04 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 3598s Nov 01 16:19:04 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 3598s Nov 01 16:19:05 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 3598s Nov 01 16:19:05 Then I receive a response code 202 # features/steps/patroni_api.py:98 3598s Nov 01 16:19:05 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 3600s Nov 01 16:19:07 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 3601s Nov 01 16:19:08 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 3604s Nov 01 16:19:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 3604s Nov 01 16:19:11 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3618s Nov 01 16:19:24 3618s Nov 01 16:19:24 Feature: recovery # features/recovery.feature:1 3618s Nov 01 16:19:24 We want to check that crashed postgres is started back 3618s Nov 01 16:19:24 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 3618s Nov 01 16:19:24 Given I start postgres0 # features/steps/basic_replication.py:8 3620s Nov 01 16:19:27 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3620s Nov 01 16:19:27 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3620s Nov 01 16:19:27 When I start postgres1 # features/steps/basic_replication.py:8 3629s Nov 01 16:19:36 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 3629s Nov 01 16:19:36 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3630s Nov 01 16:19:37 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3631s Nov 01 16:19:37 waiting for server to shut down.... done 3631s Nov 01 16:19:37 server stopped 3631s Nov 01 16:19:37 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3634s Nov 01 16:19:40 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3634s Nov 01 16:19:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 3634s Nov 01 16:19:41 And I receive a response role master # features/steps/patroni_api.py:98 3634s Nov 01 16:19:41 And I receive a response timeline 1 # features/steps/patroni_api.py:98 3634s Nov 01 16:19:41 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3635s Nov 01 16:19:42 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3637s Nov 01 16:19:44 3637s Nov 01 16:19:44 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 3637s Nov 01 16:19: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 3637s Nov 01 16:19:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 3637s Nov 01 16:19:44 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3637s Nov 01 16:19:44 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3637s Nov 01 16:19:44 waiting for server to shut down.... done 3637s Nov 01 16:19:44 server stopped 3637s Nov 01 16:19:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3639s Nov 01 16:19:46 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3649s Nov 01 16:19:56 3649s Nov 01 16:19:56 Feature: standby cluster # features/standby_cluster.feature:1 3649s Nov 01 16:19:56 3649s Nov 01 16:19:56 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 3649s Nov 01 16:19:56 Given I start postgres1 # features/steps/basic_replication.py:8 3652s Nov 01 16:19:59 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3652s Nov 01 16:19:59 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3652s Nov 01 16:19:59 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 3652s Nov 01 16:19:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 3652s Nov 01 16:19:59 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3652s Nov 01 16:19:59 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3655s Nov 01 16:20:02 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 3655s Nov 01 16:20:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 3655s Nov 01 16:20:02 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3656s Nov 01 16:20:03 When I start postgres0 # features/steps/basic_replication.py:8 3659s Nov 01 16:20:06 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3660s Nov 01 16:20:07 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 3661s Nov 01 16:20:08 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3661s Nov 01 16:20:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 3661s Nov 01 16:20:08 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3661s Nov 01 16:20:08 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3661s Nov 01 16:20:08 3661s Nov 01 16:20:08 @slot-advance 3661s Nov 01 16:20:08 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 3661s Nov 01 16:20:08 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3663s Nov 01 16:20:10 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3668s Nov 01 16:20:15 3668s Nov 01 16:20:15 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 3668s Nov 01 16:20:15 When I shut down postgres1 # features/steps/basic_replication.py:29 3670s Nov 01 16:20:17 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3670s Nov 01 16:20:17 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 3671s Nov 01 16:20:18 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3671s Nov 01 16:20:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 3671s Nov 01 16:20:18 3671s Nov 01 16:20:18 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 3671s Nov 01 16:20:18 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 3676s Nov 01 16:20:21 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3677s Nov 01 16:20:24 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 3677s Nov 01 16:20:24 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 3677s Nov 01 16:20:24 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 3677s Nov 01 16:20:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 3677s Nov 01 16:20:24 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3677s Nov 01 16:20:24 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3680s Nov 01 16:20:27 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3681s Nov 01 16:20:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 3681s Nov 01 16:20:28 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 3681s Nov 01 16:20:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 3681s Nov 01 16:20:28 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3681s Nov 01 16:20:28 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3681s Nov 01 16:20:28 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 3684s Nov 01 16:20:31 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 3684s Nov 01 16:20:31 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 3685s Nov 01 16:20:32 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 3685s Nov 01 16:20:32 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 3685s Nov 01 16:20:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 3685s Nov 01 16:20:32 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3685s Nov 01 16:20:32 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3685s Nov 01 16:20:32 3685s Nov 01 16:20:32 Scenario: check switchover # features/standby_cluster.feature:57 3685s Nov 01 16:20:32 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 3688s Nov 01 16:20:35 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3688s Nov 01 16:20:35 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 3691s Nov 01 16:20:37 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 3691s Nov 01 16:20:37 3691s Nov 01 16:20:37 Scenario: check failover # features/standby_cluster.feature:63 3691s Nov 01 16:20:37 When I kill postgres2 # features/steps/basic_replication.py:34 3692s Nov 01 16:20:38 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 3692s Nov 01 16:20:39 waiting for server to shut down.... done 3692s Nov 01 16:20:39 server stopped 3692s Nov 01 16:20:39 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 3711s Nov 01 16:20:58 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3711s Nov 01 16:20:58 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3711s Nov 01 16:20:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 3711s Nov 01 16:20:58 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3711s Nov 01 16:20:58 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 3712s Nov 01 16:20:59 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 3726s Nov 01 16:21:13 3726s Nov 01 16:21:13 Feature: watchdog # features/watchdog.feature:1 3726s Nov 01 16:21:13 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3726s Nov 01 16:21:13 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3726s Nov 01 16:21:13 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 3735s Nov 01 16:21:22 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3735s Nov 01 16:21:22 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3735s Nov 01 16:21:22 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3735s Nov 01 16:21:22 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 3735s Nov 01 16:21:22 3735s Nov 01 16:21:22 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3735s Nov 01 16:21:22 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 3737s Nov 01 16:21:24 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3737s Nov 01 16:21:24 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 3737s Nov 01 16:21:24 When I sleep for 4 seconds # features/steps/patroni_api.py:39 3741s Nov 01 16:21:28 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 3741s Nov 01 16:21:28 3741s Nov 01 16:21:28 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3741s Nov 01 16:21:28 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3743s Nov 01 16:21:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3743s Nov 01 16:21:30 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3745s Nov 01 16:21:32 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3745s Nov 01 16:21:32 3745s Nov 01 16:21:32 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3745s Nov 01 16:21:32 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3745s Nov 01 16:21:32 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3746s Nov 01 16:21:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3746s Nov 01 16:21:33 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3747s Nov 01 16:21:34 3747s Nov 01 16:21:34 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3747s Nov 01 16:21:34 Given I shut down postgres0 # features/steps/basic_replication.py:29 3749s Nov 01 16:21:36 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3749s Nov 01 16:21:36 3749s Nov 01 16:21:36 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3749s Nov 01 16:21:36 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3749s Nov 01 16:21:36 And I start postgres0 with watchdog # features/steps/watchdog.py:16 3752s Nov 01 16:21:39 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 3754s Nov 01 16:21:41 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 3754s Nov 01 16:21:41 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 3792s Nov 01 16:22:19 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4545.XnFbKtex 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4548.XYjItxGx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4596.XjxuIlfx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4637.XzxvkONx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4693.XtHugSYx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4739.XnNJUiBx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4811.XWjcSGGx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4861.XLpvehjx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4865.XShJOoux 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.4955.XELXyHVx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5064.XEXVmcLx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5067.XmgNSujx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5110.XqAUtqNx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5159.XYtUHTAx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5272.XgYjWslx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5276.XOgRlTxx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5279.XKbXdWIx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5324.XMcdqimx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5380.XQWauTEx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5467.XUocujqx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5470.Xrovcsmx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5784.XnDIhckx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5857.XlKUPwAx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.5922.XyVlcKbx 3793s Nov 01 16:22:20 Skipping duplicate data .coverage.autopkgtest.6171.XkuIglEx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6174.XMrbihBx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6227.XMbxrynx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6289.XzQHcQjx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6380.XArRsehx 3793s Nov 01 16:22:20 Skipping duplicate data .coverage.autopkgtest.6476.XwaPZggx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6479.XzOqxfUx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6522.XUKaFlgx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6588.XqKVgRpx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6619.XvnICiIx 3793s Nov 01 16:22:20 Skipping duplicate data .coverage.autopkgtest.6728.XzIqkzJx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6731.XAgzEUEx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6780.XEGgbvQx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6796.XNGBRDAx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6834.XohQqfix 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6882.XPSstyMx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6888.XoKKZCQx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6925.XfhlZkFx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.6968.XcNLBjLx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7134.XUvmDhex 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7137.XLnJsHOx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7144.XUkEbBbx 3793s Nov 01 16:22:20 Skipping duplicate data .coverage.autopkgtest.7277.XIXgzWLx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7281.XvPLpDcx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7327.XVKEHizx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7368.XUJWxuox 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7410.XZJiqpqx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7454.XVuvnWWx 3793s Nov 01 16:22:20 Skipping duplicate data .coverage.autopkgtest.7612.XOMuGZNx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7616.XzNZAUcx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7659.XdiVbYBx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7731.XdEMrihx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7815.XMMCWGEx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.7877.XFxqGvCx 3793s Nov 01 16:22:20 Skipping duplicate data .coverage.autopkgtest.8202.XGZudJhx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8207.XfbCNmux 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8250.XESdMfUx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8387.XTCncYXx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8390.XQcCUtDx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8452.XbTaaNQx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8505.XRvnLwvx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8610.XMHZwnQx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8724.XYjPPEux 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8868.XXyxSKSx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8872.XeIIFGDx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8915.XSZEKEix 3793s Nov 01 16:22:20 Skipping duplicate data .coverage.autopkgtest.8918.XNNzUqTx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8922.Xlkgocvx 3793s Nov 01 16:22:20 Combined data file .coverage.autopkgtest.8934.XYNnEznx 3793s Nov 01 16:22:20 Skipping duplicate data .coverage.autopkgtest.9001.XTZAHrMx 3795s Nov 01 16:22:22 Name Stmts Miss Cover 3795s Nov 01 16:22:22 ------------------------------------------------------------------------------------------------------------- 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 114 96 16% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 397 257 35% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 59 58% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 50 64% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/utils.py 77 23 70% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/api.py 770 288 63% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 83 87% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 42 87% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/ha.py 1246 309 75% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 816 216 74% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 338 31 91% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 491 53% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 40 84% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/six.py 504 250 50% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3795s Nov 01 16:22:22 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3795s Nov 01 16:22:22 patroni/__init__.py 13 2 85% 3795s Nov 01 16:22:22 patroni/__main__.py 199 199 0% 3795s Nov 01 16:22:22 patroni/api.py 770 770 0% 3795s Nov 01 16:22:22 patroni/async_executor.py 96 69 28% 3795s Nov 01 16:22:22 patroni/collections.py 56 15 73% 3795s Nov 01 16:22:22 patroni/config.py 371 189 49% 3795s Nov 01 16:22:22 patroni/config_generator.py 212 212 0% 3795s Nov 01 16:22:22 patroni/ctl.py 936 411 56% 3795s Nov 01 16:22:22 patroni/daemon.py 76 6 92% 3795s Nov 01 16:22:22 patroni/dcs/__init__.py 646 268 59% 3795s Nov 01 16:22:22 patroni/dcs/consul.py 485 485 0% 3795s Nov 01 16:22:22 patroni/dcs/etcd3.py 679 679 0% 3795s Nov 01 16:22:22 patroni/dcs/etcd.py 603 603 0% 3795s Nov 01 16:22:22 patroni/dcs/exhibitor.py 61 61 0% 3795s Nov 01 16:22:22 patroni/dcs/kubernetes.py 938 938 0% 3795s Nov 01 16:22:22 patroni/dcs/raft.py 319 73 77% 3795s Nov 01 16:22:22 patroni/dcs/zookeeper.py 288 288 0% 3795s Nov 01 16:22:22 patroni/dynamic_loader.py 35 7 80% 3795s Nov 01 16:22:22 patroni/exceptions.py 16 1 94% 3795s Nov 01 16:22:22 patroni/file_perm.py 43 15 65% 3795s Nov 01 16:22:22 patroni/global_config.py 81 18 78% 3795s Nov 01 16:22:22 patroni/ha.py 1246 1246 0% 3795s Nov 01 16:22:22 patroni/log.py 219 93 58% 3795s Nov 01 16:22:22 patroni/postgresql/__init__.py 821 651 21% 3795s Nov 01 16:22:22 patroni/postgresql/available_parameters/__init__.py 21 1 95% 3795s Nov 01 16:22:22 patroni/postgresql/bootstrap.py 252 222 12% 3795s Nov 01 16:22:22 patroni/postgresql/callback_executor.py 55 34 38% 3795s Nov 01 16:22:22 patroni/postgresql/cancellable.py 104 84 19% 3795s Nov 01 16:22:22 patroni/postgresql/config.py 816 699 14% 3795s Nov 01 16:22:22 patroni/postgresql/connection.py 75 50 33% 3795s Nov 01 16:22:22 patroni/postgresql/misc.py 41 29 29% 3795s Nov 01 16:22:22 patroni/postgresql/mpp/__init__.py 89 21 76% 3795s Nov 01 16:22:22 patroni/postgresql/mpp/citus.py 259 259 0% 3795s Nov 01 16:22:22 patroni/postgresql/postmaster.py 170 139 18% 3795s Nov 01 16:22:22 patroni/postgresql/rewind.py 416 416 0% 3795s Nov 01 16:22:22 patroni/postgresql/slots.py 338 289 14% 3795s Nov 01 16:22:22 patroni/postgresql/sync.py 130 96 26% 3795s Nov 01 16:22:22 patroni/postgresql/validator.py 157 52 67% 3795s Nov 01 16:22:22 patroni/psycopg.py 42 28 33% 3795s Nov 01 16:22:22 patroni/raft_controller.py 22 1 95% 3795s Nov 01 16:22:22 patroni/request.py 62 6 90% 3795s Nov 01 16:22:22 patroni/scripts/__init__.py 0 0 100% 3795s Nov 01 16:22:22 patroni/scripts/aws.py 59 59 0% 3795s Nov 01 16:22:22 patroni/scripts/barman/__init__.py 0 0 100% 3795s Nov 01 16:22:22 patroni/scripts/barman/cli.py 51 51 0% 3795s Nov 01 16:22:22 patroni/scripts/barman/config_switch.py 51 51 0% 3795s Nov 01 16:22:22 patroni/scripts/barman/recover.py 37 37 0% 3795s Nov 01 16:22:22 patroni/scripts/barman/utils.py 94 94 0% 3795s Nov 01 16:22:22 patroni/scripts/wale_restore.py 207 207 0% 3795s Nov 01 16:22:22 patroni/tags.py 38 11 71% 3795s Nov 01 16:22:22 patroni/utils.py 350 215 39% 3795s Nov 01 16:22:22 patroni/validator.py 301 215 29% 3795s Nov 01 16:22:22 patroni/version.py 1 0 100% 3795s Nov 01 16:22:22 patroni/watchdog/__init__.py 2 2 0% 3795s Nov 01 16:22:22 patroni/watchdog/base.py 203 203 0% 3795s Nov 01 16:22:22 patroni/watchdog/linux.py 135 135 0% 3795s Nov 01 16:22:22 ------------------------------------------------------------------------------------------------------------- 3795s Nov 01 16:22:22 TOTAL 44248 25104 43% 3795s Nov 01 16:22:22 12 features passed, 0 failed, 1 skipped 3795s Nov 01 16:22:22 54 scenarios passed, 0 failed, 6 skipped 3795s Nov 01 16:22:22 522 steps passed, 0 failed, 63 skipped, 0 undefined 3795s Nov 01 16:22:22 Took 9m36.822s 3795s + echo '### End 16 acceptance-raft ###' 3795s + rm -f '/tmp/pgpass?' 3795s ### End 16 acceptance-raft ### 3795s ++ id -u 3795s + '[' 1000 -eq 0 ']' 3796s autopkgtest [16:22:23]: test acceptance-raft: -----------------------] 3796s autopkgtest [16:22:23]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 3796s acceptance-raft PASS 3797s autopkgtest [16:22:24]: test test: preparing testbed 3878s autopkgtest [16:23:45]: testbed dpkg architecture: arm64 3878s autopkgtest [16:23:45]: testbed apt version: 2.9.8 3878s autopkgtest [16:23:45]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3879s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 3884s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [183 kB] 3884s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [44.0 kB] 3884s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 3884s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [2770 kB] 3884s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [240 kB] 3884s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 3884s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [2001 kB] 3884s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [36.5 kB] 3884s Fetched 5405 kB in 1s (4021 kB/s) 3884s Reading package lists... 3887s Reading package lists... 3887s Building dependency tree... 3887s Reading state information... 3888s Calculating upgrade... 3889s The following packages will be upgraded: 3889s libevdev2 libftdi1-2 libinih1 nano python3-lazr.uri 3889s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3889s Need to get 374 kB of archives. 3889s After this operation, 17.4 kB of additional disk space will be used. 3889s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libevdev2 arm64 1.13.3+dfsg-1 [36.0 kB] 3889s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 nano arm64 8.2-1 [289 kB] 3890s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libftdi1-2 arm64 1.5-7 [28.4 kB] 3890s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libinih1 arm64 58-1ubuntu1 [7412 B] 3890s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-lazr.uri all 1.0.6-4 [13.6 kB] 3890s Fetched 374 kB in 0s (786 kB/s) 3891s (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 ... 79705 files and directories currently installed.) 3891s Preparing to unpack .../libevdev2_1.13.3+dfsg-1_arm64.deb ... 3891s Unpacking libevdev2:arm64 (1.13.3+dfsg-1) over (1.13.2+dfsg-1) ... 3891s Preparing to unpack .../archives/nano_8.2-1_arm64.deb ... 3891s Unpacking nano (8.2-1) over (8.1-1) ... 3891s Preparing to unpack .../libftdi1-2_1.5-7_arm64.deb ... 3891s Unpacking libftdi1-2:arm64 (1.5-7) over (1.5-6build5) ... 3891s Preparing to unpack .../libinih1_58-1ubuntu1_arm64.deb ... 3891s Unpacking libinih1:arm64 (58-1ubuntu1) over (55-1ubuntu2) ... 3891s Preparing to unpack .../python3-lazr.uri_1.0.6-4_all.deb ... 3891s Unpacking python3-lazr.uri (1.0.6-4) over (1.0.6-3) ... 3891s Setting up libinih1:arm64 (58-1ubuntu1) ... 3891s Setting up python3-lazr.uri (1.0.6-4) ... 3891s Setting up libftdi1-2:arm64 (1.5-7) ... 3891s Setting up nano (8.2-1) ... 3891s Setting up libevdev2:arm64 (1.13.3+dfsg-1) ... 3891s Processing triggers for man-db (2.12.1-3) ... 3893s Processing triggers for install-info (7.1.1-1) ... 3893s Processing triggers for libc-bin (2.40-1ubuntu3) ... 3893s Reading package lists... 3894s Building dependency tree... 3894s Reading state information... 3895s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3896s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 3896s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 3896s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 3896s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 3898s Reading package lists... 3898s Reading package lists... 3898s Building dependency tree... 3898s Reading state information... 3900s Calculating upgrade... 3901s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3901s Reading package lists... 3901s Building dependency tree... 3901s Reading state information... 3902s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3909s Reading package lists... 3910s Building dependency tree... 3910s Reading state information... 3911s Starting pkgProblemResolver with broken count: 0 3911s Starting 2 pkgProblemResolver with broken count: 0 3911s Done 3912s The following additional packages will be installed: 3912s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 3912s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 3912s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 3912s libjs-underscore libpq5 patroni patroni-doc python3-aiohttp 3912s python3-aiosignal python3-async-timeout python3-boto3 python3-botocore 3912s python3-cachetools python3-cdiff python3-click python3-colorama 3912s python3-consul python3-coverage python3-dateutil python3-dnspython 3912s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 3912s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 3912s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 3912s python3-mccabe python3-mock python3-multidict python3-packaging 3912s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 3912s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 3912s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 3912s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 3912s python3-s3transfer python3-six python3-wcwidth python3-websocket 3912s python3-yarl python3-zope.event python3-zope.interface 3912s sphinx-rtd-theme-common 3912s Suggested packages: 3912s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 3912s python3-tornado python3-twisted python-coverage-doc python3-trio 3912s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 3912s python-eventlet-doc python-gevent-doc python-greenlet-dev 3912s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 3912s Recommended packages: 3912s javascript-common python3-aiodns pyflakes3 3912s The following NEW packages will be installed: 3912s autopkgtest-satdep fonts-font-awesome fonts-lato libcares2 libev4t64 3912s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 3912s libjs-jquery-metadata libjs-jquery-tablesorter 3912s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 3912s patroni patroni-doc python3-aiohttp python3-aiosignal python3-async-timeout 3912s python3-boto3 python3-botocore python3-cachetools python3-cdiff 3912s python3-click python3-colorama python3-consul python3-coverage 3912s python3-dateutil python3-dnspython python3-etcd python3-eventlet 3912s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 3912s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 3912s python3-kerberos python3-kubernetes python3-mccabe python3-mock 3912s python3-multidict python3-packaging python3-pluggy python3-prettytable 3912s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 3912s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 3912s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 3912s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 3912s python3-six python3-wcwidth python3-websocket python3-yarl 3912s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 3912s 0 upgraded, 69 newly installed, 0 to remove and 0 not upgraded. 3912s Need to get 16.9 MB/16.9 MB of archives. 3912s After this operation, 158 MB of additional disk space will be used. 3912s Get:1 /tmp/autopkgtest.fgWJKE/6-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [784 B] 3913s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-lato all 2.015-1 [2781 kB] 3913s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3913s Get:4 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 3913s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3913s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 libcares2 arm64 1.33.0-1 [84.5 kB] 3913s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 3913s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 3913s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 3913s Get:10 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 3913s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3913s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-sphinxdoc all 7.4.7-3 [157 kB] 3913s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libpq5 arm64 17.0-1 [248 kB] 3913s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 3913s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 3913s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-click all 8.1.7-2 [79.5 kB] 3913s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 3913s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 3913s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 3913s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 3913s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 3913s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psycopg2 arm64 2.9.9-2 [131 kB] 3913s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 3913s Get:24 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 3913s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-consul all 0.7.1-2 [21.6 kB] 3913s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-greenlet arm64 3.0.3-0ubuntu6 [153 kB] 3913s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-eventlet all 0.36.1-0ubuntu1 [274 kB] 3913s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 3913s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-zope.interface arm64 6.4-1 [138 kB] 3913s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-gevent arm64 24.2.1-1 [791 kB] 3913s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 3913s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 3913s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 3913s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-multidict arm64 6.0.5-1 [33.7 kB] 3913s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-yarl arm64 1.9.4-1 [68.2 kB] 3914s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-async-timeout all 4.0.3-1 [6412 B] 3914s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-frozenlist arm64 1.4.1-1 [45.5 kB] 3914s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiosignal all 1.3.1-1 [5172 B] 3914s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohttp arm64 3.9.5-1 [278 kB] 3914s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 3914s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1 all 0.5.1-1 [57.4 kB] 3914s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-pyasn1-modules all 0.3.0-1 [80.2 kB] 3914s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyu2f all 0.1.5-3 [22.9 kB] 3914s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-responses all 0.25.3-1 [54.3 kB] 3914s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 3914s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 3914s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 3914s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-websocket all 1.7.0-1 [38.1 kB] 3914s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-kubernetes all 30.1.0-1 [386 kB] 3914s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 3914s Get:51 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni all 3.3.2-1 [265 kB] 3914s Get:52 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 sphinx-rtd-theme-common all 3.0.1+dfsg-1 [1012 kB] 3914s Get:53 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 patroni-doc all 3.3.2-1 [497 kB] 3914s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 3914s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 3914s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 3914s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 3914s Get:58 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 3914s Get:59 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 3914s Get:60 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycodestyle all 2.11.1-1 [29.9 kB] 3914s Get:61 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyflakes all 3.2.0-1 [52.8 kB] 3914s Get:62 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-flake8 all 7.1.1-1 [43.9 kB] 3914s Get:63 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 3914s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.1-1 [41.4 kB] 3914s Get:65 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 3914s Get:66 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.2-1 [251 kB] 3914s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 3914s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 3914s Get:69 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 3915s Fetched 16.9 MB in 2s (10.3 MB/s) 3915s Selecting previously unselected package fonts-lato. 3915s (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 ... 79705 files and directories currently installed.) 3915s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3915s Unpacking fonts-lato (2.015-1) ... 3915s Selecting previously unselected package libjs-jquery. 3915s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3915s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3915s Selecting previously unselected package libjs-jquery-hotkeys. 3915s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 3915s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3915s Selecting previously unselected package fonts-font-awesome. 3915s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3915s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3915s Selecting previously unselected package libcares2:arm64. 3915s Preparing to unpack .../04-libcares2_1.33.0-1_arm64.deb ... 3915s Unpacking libcares2:arm64 (1.33.0-1) ... 3915s Selecting previously unselected package libev4t64:arm64. 3915s Preparing to unpack .../05-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 3915s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 3915s Selecting previously unselected package libjs-jquery-metadata. 3915s Preparing to unpack .../06-libjs-jquery-metadata_12-4_all.deb ... 3915s Unpacking libjs-jquery-metadata (12-4) ... 3916s Selecting previously unselected package libjs-jquery-tablesorter. 3916s Preparing to unpack .../07-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 3916s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3916s Selecting previously unselected package libjs-jquery-throttle-debounce. 3916s Preparing to unpack .../08-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 3916s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3916s Selecting previously unselected package libjs-underscore. 3916s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3916s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3916s Selecting previously unselected package libjs-sphinxdoc. 3916s Preparing to unpack .../10-libjs-sphinxdoc_7.4.7-3_all.deb ... 3916s Unpacking libjs-sphinxdoc (7.4.7-3) ... 3916s Selecting previously unselected package libpq5:arm64. 3916s Preparing to unpack .../11-libpq5_17.0-1_arm64.deb ... 3916s Unpacking libpq5:arm64 (17.0-1) ... 3916s Selecting previously unselected package python3-cdiff. 3916s Preparing to unpack .../12-python3-cdiff_1.0-1.1_all.deb ... 3916s Unpacking python3-cdiff (1.0-1.1) ... 3916s Selecting previously unselected package python3-colorama. 3916s Preparing to unpack .../13-python3-colorama_0.4.6-4_all.deb ... 3916s Unpacking python3-colorama (0.4.6-4) ... 3916s Selecting previously unselected package python3-click. 3916s Preparing to unpack .../14-python3-click_8.1.7-2_all.deb ... 3916s Unpacking python3-click (8.1.7-2) ... 3916s Selecting previously unselected package python3-six. 3916s Preparing to unpack .../15-python3-six_1.16.0-7_all.deb ... 3916s Unpacking python3-six (1.16.0-7) ... 3916s Selecting previously unselected package python3-dateutil. 3916s Preparing to unpack .../16-python3-dateutil_2.9.0-2_all.deb ... 3916s Unpacking python3-dateutil (2.9.0-2) ... 3916s Selecting previously unselected package python3-wcwidth. 3916s Preparing to unpack .../17-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 3916s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 3916s Selecting previously unselected package python3-prettytable. 3916s Preparing to unpack .../18-python3-prettytable_3.10.1-1_all.deb ... 3916s Unpacking python3-prettytable (3.10.1-1) ... 3916s Selecting previously unselected package python3-psutil. 3916s Preparing to unpack .../19-python3-psutil_5.9.8-2build2_arm64.deb ... 3916s Unpacking python3-psutil (5.9.8-2build2) ... 3916s Selecting previously unselected package python3-psycopg2. 3916s Preparing to unpack .../20-python3-psycopg2_2.9.9-2_arm64.deb ... 3916s Unpacking python3-psycopg2 (2.9.9-2) ... 3916s Selecting previously unselected package python3-dnspython. 3916s Preparing to unpack .../21-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 3916s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 3916s Selecting previously unselected package python3-etcd. 3916s Preparing to unpack .../22-python3-etcd_0.4.5-4_all.deb ... 3916s Unpacking python3-etcd (0.4.5-4) ... 3917s Selecting previously unselected package python3-consul. 3917s Preparing to unpack .../23-python3-consul_0.7.1-2_all.deb ... 3917s Unpacking python3-consul (0.7.1-2) ... 3917s Selecting previously unselected package python3-greenlet. 3917s Preparing to unpack .../24-python3-greenlet_3.0.3-0ubuntu6_arm64.deb ... 3917s Unpacking python3-greenlet (3.0.3-0ubuntu6) ... 3917s Selecting previously unselected package python3-eventlet. 3917s Preparing to unpack .../25-python3-eventlet_0.36.1-0ubuntu1_all.deb ... 3917s Unpacking python3-eventlet (0.36.1-0ubuntu1) ... 3917s Selecting previously unselected package python3-zope.event. 3917s Preparing to unpack .../26-python3-zope.event_5.0-0.1_all.deb ... 3917s Unpacking python3-zope.event (5.0-0.1) ... 3917s Selecting previously unselected package python3-zope.interface. 3917s Preparing to unpack .../27-python3-zope.interface_6.4-1_arm64.deb ... 3917s Unpacking python3-zope.interface (6.4-1) ... 3917s Selecting previously unselected package python3-gevent. 3917s Preparing to unpack .../28-python3-gevent_24.2.1-1_arm64.deb ... 3917s Unpacking python3-gevent (24.2.1-1) ... 3917s Selecting previously unselected package python3-kerberos. 3917s Preparing to unpack .../29-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 3917s Unpacking python3-kerberos (1.1.14-3.1build9) ... 3917s Selecting previously unselected package python3-pure-sasl. 3917s Preparing to unpack .../30-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 3917s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 3917s Selecting previously unselected package python3-kazoo. 3917s Preparing to unpack .../31-python3-kazoo_2.9.0-2_all.deb ... 3917s Unpacking python3-kazoo (2.9.0-2) ... 3917s Selecting previously unselected package python3-multidict. 3917s Preparing to unpack .../32-python3-multidict_6.0.5-1_arm64.deb ... 3917s Unpacking python3-multidict (6.0.5-1) ... 3917s Selecting previously unselected package python3-yarl. 3917s Preparing to unpack .../33-python3-yarl_1.9.4-1_arm64.deb ... 3917s Unpacking python3-yarl (1.9.4-1) ... 3917s Selecting previously unselected package python3-async-timeout. 3917s Preparing to unpack .../34-python3-async-timeout_4.0.3-1_all.deb ... 3917s Unpacking python3-async-timeout (4.0.3-1) ... 3917s Selecting previously unselected package python3-frozenlist. 3917s Preparing to unpack .../35-python3-frozenlist_1.4.1-1_arm64.deb ... 3917s Unpacking python3-frozenlist (1.4.1-1) ... 3917s Selecting previously unselected package python3-aiosignal. 3917s Preparing to unpack .../36-python3-aiosignal_1.3.1-1_all.deb ... 3917s Unpacking python3-aiosignal (1.3.1-1) ... 3917s Selecting previously unselected package python3-aiohttp. 3917s Preparing to unpack .../37-python3-aiohttp_3.9.5-1_arm64.deb ... 3917s Unpacking python3-aiohttp (3.9.5-1) ... 3917s Selecting previously unselected package python3-cachetools. 3917s Preparing to unpack .../38-python3-cachetools_5.3.3-1_all.deb ... 3918s Unpacking python3-cachetools (5.3.3-1) ... 3918s Selecting previously unselected package python3-pyasn1. 3918s Preparing to unpack .../39-python3-pyasn1_0.5.1-1_all.deb ... 3918s Unpacking python3-pyasn1 (0.5.1-1) ... 3918s Selecting previously unselected package python3-pyasn1-modules. 3918s Preparing to unpack .../40-python3-pyasn1-modules_0.3.0-1_all.deb ... 3918s Unpacking python3-pyasn1-modules (0.3.0-1) ... 3918s Selecting previously unselected package python3-pyu2f. 3918s Preparing to unpack .../41-python3-pyu2f_0.1.5-3_all.deb ... 3918s Unpacking python3-pyu2f (0.1.5-3) ... 3918s Selecting previously unselected package python3-responses. 3918s Preparing to unpack .../42-python3-responses_0.25.3-1_all.deb ... 3918s Unpacking python3-responses (0.25.3-1) ... 3918s Selecting previously unselected package python3-rsa. 3918s Preparing to unpack .../43-python3-rsa_4.9-2_all.deb ... 3918s Unpacking python3-rsa (4.9-2) ... 3918s Selecting previously unselected package python3-google-auth. 3918s Preparing to unpack .../44-python3-google-auth_2.28.2-3_all.deb ... 3918s Unpacking python3-google-auth (2.28.2-3) ... 3918s Selecting previously unselected package python3-requests-oauthlib. 3918s Preparing to unpack .../45-python3-requests-oauthlib_1.3.1-1_all.deb ... 3918s Unpacking python3-requests-oauthlib (1.3.1-1) ... 3918s Selecting previously unselected package python3-websocket. 3918s Preparing to unpack .../46-python3-websocket_1.7.0-1_all.deb ... 3918s Unpacking python3-websocket (1.7.0-1) ... 3918s Selecting previously unselected package python3-kubernetes. 3918s Preparing to unpack .../47-python3-kubernetes_30.1.0-1_all.deb ... 3918s Unpacking python3-kubernetes (30.1.0-1) ... 3918s Selecting previously unselected package python3-pysyncobj. 3918s Preparing to unpack .../48-python3-pysyncobj_0.3.12-1_all.deb ... 3918s Unpacking python3-pysyncobj (0.3.12-1) ... 3918s Selecting previously unselected package patroni. 3918s Preparing to unpack .../49-patroni_3.3.2-1_all.deb ... 3918s Unpacking patroni (3.3.2-1) ... 3918s Selecting previously unselected package sphinx-rtd-theme-common. 3918s Preparing to unpack .../50-sphinx-rtd-theme-common_3.0.1+dfsg-1_all.deb ... 3918s Unpacking sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3918s Selecting previously unselected package patroni-doc. 3919s Preparing to unpack .../51-patroni-doc_3.3.2-1_all.deb ... 3919s Unpacking patroni-doc (3.3.2-1) ... 3919s Selecting previously unselected package python3-jmespath. 3919s Preparing to unpack .../52-python3-jmespath_1.0.1-1_all.deb ... 3919s Unpacking python3-jmespath (1.0.1-1) ... 3919s Selecting previously unselected package python3-botocore. 3919s Preparing to unpack .../53-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 3919s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 3919s Selecting previously unselected package python3-s3transfer. 3919s Preparing to unpack .../54-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 3919s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 3920s Selecting previously unselected package python3-boto3. 3920s Preparing to unpack .../55-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 3920s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3920s Selecting previously unselected package python3-coverage. 3920s Preparing to unpack .../56-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 3920s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3920s Selecting previously unselected package python3-mccabe. 3920s Preparing to unpack .../57-python3-mccabe_0.7.0-1_all.deb ... 3920s Unpacking python3-mccabe (0.7.0-1) ... 3920s Selecting previously unselected package python3-pycodestyle. 3920s Preparing to unpack .../58-python3-pycodestyle_2.11.1-1_all.deb ... 3920s Unpacking python3-pycodestyle (2.11.1-1) ... 3920s Selecting previously unselected package python3-pyflakes. 3920s Preparing to unpack .../59-python3-pyflakes_3.2.0-1_all.deb ... 3920s Unpacking python3-pyflakes (3.2.0-1) ... 3920s Selecting previously unselected package python3-flake8. 3920s Preparing to unpack .../60-python3-flake8_7.1.1-1_all.deb ... 3920s Unpacking python3-flake8 (7.1.1-1) ... 3920s Selecting previously unselected package python3-iniconfig. 3920s Preparing to unpack .../61-python3-iniconfig_1.1.1-2_all.deb ... 3920s Unpacking python3-iniconfig (1.1.1-2) ... 3920s Selecting previously unselected package python3-packaging. 3920s Preparing to unpack .../62-python3-packaging_24.1-1_all.deb ... 3920s Unpacking python3-packaging (24.1-1) ... 3920s Selecting previously unselected package python3-pluggy. 3920s Preparing to unpack .../63-python3-pluggy_1.5.0-1_all.deb ... 3920s Unpacking python3-pluggy (1.5.0-1) ... 3920s Selecting previously unselected package python3-pytest. 3920s Preparing to unpack .../64-python3-pytest_8.3.2-1_all.deb ... 3920s Unpacking python3-pytest (8.3.2-1) ... 3920s Selecting previously unselected package libjs-jquery-isonscreen. 3920s Preparing to unpack .../65-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 3920s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 3920s Selecting previously unselected package python3-pytest-cov. 3920s Preparing to unpack .../66-python3-pytest-cov_5.0.0-1_all.deb ... 3920s Unpacking python3-pytest-cov (5.0.0-1) ... 3920s Selecting previously unselected package python3-mock. 3920s Preparing to unpack .../67-python3-mock_5.1.0-1_all.deb ... 3920s Unpacking python3-mock (5.1.0-1) ... 3920s Selecting previously unselected package autopkgtest-satdep. 3920s Preparing to unpack .../68-6-autopkgtest-satdep.deb ... 3920s Unpacking autopkgtest-satdep (0) ... 3921s Setting up python3-iniconfig (1.1.1-2) ... 3921s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 3921s Setting up fonts-lato (2.015-1) ... 3921s Setting up python3-pysyncobj (0.3.12-1) ... 3921s Setting up python3-cachetools (5.3.3-1) ... 3921s Setting up python3-colorama (0.4.6-4) ... 3922s Setting up python3-zope.event (5.0-0.1) ... 3922s Setting up python3-zope.interface (6.4-1) ... 3922s Setting up python3-cdiff (1.0-1.1) ... 3922s Setting up python3-pyflakes (3.2.0-1) ... 3923s Setting up libpq5:arm64 (17.0-1) ... 3923s Setting up python3-kerberos (1.1.14-3.1build9) ... 3923s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3923s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3923s Setting up python3-click (8.1.7-2) ... 3923s Setting up python3-psutil (5.9.8-2build2) ... 3924s Setting up python3-multidict (6.0.5-1) ... 3924s Setting up python3-frozenlist (1.4.1-1) ... 3924s Setting up python3-aiosignal (1.3.1-1) ... 3925s Setting up python3-mock (5.1.0-1) ... 3925s Setting up python3-async-timeout (4.0.3-1) ... 3925s Setting up python3-six (1.16.0-7) ... 3925s Setting up python3-responses (0.25.3-1) ... 3926s Setting up python3-pycodestyle (2.11.1-1) ... 3926s Setting up python3-packaging (24.1-1) ... 3926s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 3926s Setting up python3-pyu2f (0.1.5-3) ... 3927s Setting up python3-jmespath (1.0.1-1) ... 3927s Setting up python3-greenlet (3.0.3-0ubuntu6) ... 3927s Setting up libcares2:arm64 (1.33.0-1) ... 3927s Setting up python3-psycopg2 (2.9.9-2) ... 3928s Setting up python3-pluggy (1.5.0-1) ... 3928s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 3928s Setting up python3-pyasn1 (0.5.1-1) ... 3929s Setting up python3-dateutil (2.9.0-2) ... 3929s Setting up python3-mccabe (0.7.0-1) ... 3929s Setting up python3-consul (0.7.1-2) ... 3929s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3929s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3929s Setting up python3-prettytable (3.10.1-1) ... 3930s Setting up python3-yarl (1.9.4-1) ... 3930s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3930s Setting up sphinx-rtd-theme-common (3.0.1+dfsg-1) ... 3930s Setting up python3-websocket (1.7.0-1) ... 3930s Setting up python3-requests-oauthlib (1.3.1-1) ... 3930s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3930s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 3930s Setting up python3-etcd (0.4.5-4) ... 3931s Setting up python3-pytest (8.3.2-1) ... 3931s Setting up python3-aiohttp (3.9.5-1) ... 3932s Setting up python3-gevent (24.2.1-1) ... 3932s Setting up python3-flake8 (7.1.1-1) ... 3932s Setting up python3-eventlet (0.36.1-0ubuntu1) ... 3933s Setting up python3-kazoo (2.9.0-2) ... 3933s Setting up python3-pyasn1-modules (0.3.0-1) ... 3934s Setting up libjs-jquery-metadata (12-4) ... 3934s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 3934s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 3934s Setting up libjs-sphinxdoc (7.4.7-3) ... 3934s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 3934s Setting up python3-rsa (4.9-2) ... 3934s Setting up patroni (3.3.2-1) ... 3935s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3935s Setting up patroni-doc (3.3.2-1) ... 3935s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 3936s Setting up python3-pytest-cov (5.0.0-1) ... 3936s Setting up python3-google-auth (2.28.2-3) ... 3936s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3937s Setting up python3-kubernetes (30.1.0-1) ... 3939s Setting up autopkgtest-satdep (0) ... 3939s Processing triggers for man-db (2.12.1-3) ... 3939s Processing triggers for libc-bin (2.40-1ubuntu3) ... 3947s (Reading database ... 85802 files and directories currently installed.) 3947s Removing autopkgtest-satdep (0) ... 3952s autopkgtest [16:24:59]: test test: [----------------------- 3954s running test 3954s ============================= test session starts ============================== 3954s platform linux -- Python 3.12.7, pytest-8.3.2, pluggy-1.5.0 -- /usr/bin/python3 3954s cachedir: .pytest_cache 3954s rootdir: /tmp/autopkgtest.fgWJKE/build.9bY/src 3954s plugins: cov-5.0.0, typeguard-4.3.0 3961s collecting ... collected 646 items 3961s 3961s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 3961s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 3961s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 3961s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 3961s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 3961s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 3961s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 3961s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 3961s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 3961s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 3961s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 3961s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 3961s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 3961s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 3961s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 3961s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 3961s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 3961s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 3961s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 3961s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 3961s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 3961s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 3961s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 3961s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 3962s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 3962s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 3962s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 3962s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 3962s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 3962s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 3962s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 3962s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 3962s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 3962s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 3962s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 3962s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 3962s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 3962s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 3962s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 3962s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 3962s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 3962s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 3962s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 3962s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 3962s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 3962s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 3962s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 3962s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 3962s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 3962s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 3962s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 3962s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 8%] 3962s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 3962s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 3962s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 3962s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 3962s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 3962s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 3962s tests/test_barman.py::TestMain::test_main PASSED [ 9%] 3962s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 3962s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 3962s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 3962s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 3962s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 3962s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 10%] 3962s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 3962s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 3962s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 3963s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 3963s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 3963s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 3963s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 11%] 3963s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 3963s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 3963s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 3963s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 3963s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 3963s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 12%] 3963s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 3963s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 3963s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 3963s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 3963s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 3963s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 13%] 3963s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 13%] 3963s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 3963s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 3963s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 3963s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 3963s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 3963s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 14%] 3963s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 3963s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 3963s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 3963s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 3963s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 3963s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 15%] 3963s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 15%] 3963s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 3963s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 15%] 3963s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 3963s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 3963s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 3963s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 16%] 3963s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 16%] 3963s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 3963s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 3963s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 3963s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 3963s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 17%] 3963s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 17%] 3963s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 3963s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 3963s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 3963s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 3963s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 3963s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 18%] 3963s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 18%] 3963s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 3963s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 3963s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 3963s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 3963s tests/test_consul.py::TestConsul::test_update_service PASSED [ 19%] 3963s tests/test_consul.py::TestConsul::test_watch PASSED [ 19%] 3963s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 3963s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 3963s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 3963s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 3963s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 3963s tests/test_ctl.py::TestCtl::test_failover PASSED [ 20%] 3963s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 20%] 3963s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 3963s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 3963s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 3963s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 3963s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 21%] 3963s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 21%] 3964s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 3964s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 3964s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 3964s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 3964s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 3964s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 22%] 3964s tests/test_ctl.py::TestCtl::test_members PASSED [ 22%] 3964s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 3964s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 3964s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 3964s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 3964s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 23%] 3964s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 23%] 3964s tests/test_ctl.py::TestCtl::test_reload PASSED [ 23%] 3964s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 3964s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 3964s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 3964s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 3964s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 24%] 3964s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 24%] 3964s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 3964s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 3964s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 3964s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 3964s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 25%] 3964s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 25%] 3964s tests/test_etcd.py::TestClient::test___del__ PASSED [ 25%] 3964s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 3964s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 3964s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 3964s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 26%] 3965s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 26%] 3965s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 26%] 3965s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 3965s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 3965s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 3965s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 3965s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 27%] 3965s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 27%] 3965s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 27%] 3965s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 3965s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 3965s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 3965s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 28%] 3965s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 28%] 3965s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 28%] 3965s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 3965s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 3965s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 3965s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 3965s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 29%] 3965s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 29%] 3965s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 29%] 3965s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 3965s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 3965s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 3965s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 30%] 3965s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 30%] 3965s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 30%] 3965s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 30%] 3965s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 3965s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 3965s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 3965s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 31%] 3965s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 31%] 3965s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 31%] 3965s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 3965s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 3965s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 3965s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 32%] 3965s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 32%] 3965s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 32%] 3965s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 32%] 3965s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 3965s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 3965s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 3965s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 33%] 3965s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 33%] 3965s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 33%] 3965s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 3965s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 3965s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 3965s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 34%] 3965s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 34%] 3965s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 34%] 3966s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 34%] 3966s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 3966s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 3966s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 3966s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 35%] 3966s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 35%] 3966s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 35%] 3966s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 3966s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 3966s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 3966s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 36%] 3966s tests/test_ha.py::TestHa::test_after_pause PASSED [ 36%] 3966s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 36%] 3966s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 3966s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 3966s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 3966s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 3966s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 37%] 3966s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 37%] 3966s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 3966s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 3966s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 3966s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 3966s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 38%] 3966s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 38%] 3966s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 3966s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 3966s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 3966s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 3966s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 39%] 3966s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 39%] 3966s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 3966s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 3966s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 3967s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 3967s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 3967s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 40%] 3967s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 3967s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 3967s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 3967s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 3967s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 3967s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 41%] 3967s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 3967s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 3967s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 3967s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 3967s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 3967s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 3967s tests/test_ha.py::TestHa::test_is_leader PASSED [ 42%] 3967s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 3967s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 3967s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 3967s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 3967s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 3967s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 43%] 3967s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 43%] 3967s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 3967s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 3967s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 3967s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 3967s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 3967s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 44%] 3967s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 3968s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 3968s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 3968s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 3968s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 3968s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 45%] 3968s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 3968s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 3968s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 3968s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 3968s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 3968s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 3968s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 3968s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 3968s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 3968s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 3968s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3968s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 3968s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 3968s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 3968s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 3968s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 3968s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 3968s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 3968s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 3968s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 3968s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 3968s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 3968s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 3968s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 3968s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 3968s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 3968s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 3968s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 3968s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 3968s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 3968s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 3969s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 3969s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 3969s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 3969s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 3969s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 3969s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 3969s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 3969s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 3969s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 3969s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 3969s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 3969s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 51%] 3969s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 3969s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 3969s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 3969s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 3969s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 3969s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 52%] 3969s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 3969s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 3969s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 3969s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 3969s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 3969s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 53%] 3969s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 53%] 3969s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 3969s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 3969s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 3969s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 3969s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 54%] 3969s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 54%] 3969s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 3969s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 3969s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 3969s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 55%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 55%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 55%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 56%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 56%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 56%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 57%] 3970s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 57%] 3970s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 3970s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 3970s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 3971s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 3971s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 58%] 3971s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 58%] 3971s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 58%] 3971s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 3971s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 3971s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 3971s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 59%] 3971s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 59%] 3971s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 59%] 3971s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 3971s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 3971s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 60%] 3971s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 60%] 3971s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 60%] 3971s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 60%] 3971s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 60%] 3971s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 3971s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 61%] 3971s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 61%] 3971s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 61%] 3971s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 61%] 3971s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 3971s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 3971s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 62%] 3971s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 62%] 3971s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 62%] 3971s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 62%] 3971s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 62%] 3971s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 3972s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 63%] 3972s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 63%] 3972s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 63%] 3972s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 63%] 3972s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 63%] 3972s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 3972s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 3972s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 64%] 3972s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 64%] 3972s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 64%] 3972s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 64%] 3972s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 64%] 3972s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 3972s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 65%] 3972s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 65%] 3972s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 65%] 3972s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 65%] 3972s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 65%] 3972s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 3972s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 3972s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 66%] 3972s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 66%] 3972s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 66%] 3972s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 66%] 3972s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 3972s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 3972s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 67%] 3972s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 67%] 3973s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 67%] 3973s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 67%] 3973s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 3973s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 3973s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 3973s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 68%] 3973s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 68%] 3973s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 68%] 3973s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 3973s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 3973s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 3973s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 69%] 3973s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 69%] 3973s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 69%] 3973s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 3973s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 3973s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 3973s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 3973s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 70%] 3973s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 70%] 3973s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 3973s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 3973s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 3973s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 3973s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 71%] 3973s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 71%] 3973s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 3973s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 3973s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 3973s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 3973s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 3973s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 72%] 3973s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 72%] 3973s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 3973s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 3973s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 3973s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 3973s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 73%] 3973s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 73%] 3973s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 3973s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 3973s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 3973s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 3973s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 3973s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 74%] 3973s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 3973s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 3973s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 3973s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 3973s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 3973s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 75%] 3976s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 3978s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 3979s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 3979s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 3980s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 3980s tests/test_raft.py::TestRaft::test_init PASSED [ 76%] 3982s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 3983s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 3983s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 3983s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 3983s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 3983s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 3983s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 3983s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 3983s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 3983s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 3983s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 3983s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 3983s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 3983s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 3983s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 3983s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 3983s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 3983s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 3983s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 3983s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 3983s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 3983s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 3983s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 3983s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 3983s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 3983s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 80%] 3983s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 3983s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 3983s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 3983s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 3983s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 3983s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 3983s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 81%] 3983s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 3983s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 3983s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 3983s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 3983s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 3983s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 3983s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 3983s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 3983s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 3983s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 3983s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 3983s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 3983s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 3983s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 3983s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 3983s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 3983s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 3983s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 3983s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 3983s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 3983s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 3983s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 3983s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 3983s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 3983s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 3983s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 3983s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 3983s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 3983s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 3983s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 3983s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 3983s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 3983s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 3983s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 3983s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 3983s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 3983s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 3983s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 3983s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 3983s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 3983s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 3983s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 3983s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 3983s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 3983s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 3983s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 3983s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 3983s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 3983s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 3983s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 3983s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 3983s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 3983s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 3983s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 3983s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 3983s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 3983s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 3984s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 3984s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 3984s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 3984s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 3984s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 3984s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 3984s patroni/api.py::patroni.api.check_access PASSED [ 93%] 3984s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 3984s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 3984s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 3984s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 3984s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 3984s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 3984s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 3984s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 3984s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 3985s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 3985s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 95%] 3985s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 3985s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 3985s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 3985s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 3985s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 3985s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 3985s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 3985s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 3985s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 3985s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 3985s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 3985s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 3985s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 97%] 3985s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 3985s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 3985s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 3985s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 3985s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 3985s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 97%] 3985s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 3985s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 3985s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 3985s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 3985s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 3985s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 3985s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 3985s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 3985s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 3985s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 3985s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 3985s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 3988s patroni/utils.py::patroni.utils.unquote PASSED [100%] 3988s 3988s ---------- coverage: platform linux, python 3.12.7-final-0 ----------- 3988s Name Stmts Miss Cover Missing 3988s ----------------------------------------------------------------------------------- 3988s patroni/__init__.py 13 0 100% 3988s patroni/__main__.py 199 1 99% 395 3988s patroni/api.py 770 0 100% 3988s patroni/async_executor.py 96 0 100% 3988s patroni/collections.py 56 3 95% 50, 99, 107 3988s patroni/config.py 371 0 100% 3988s patroni/config_generator.py 212 0 100% 3988s patroni/ctl.py 936 0 100% 3988s patroni/daemon.py 76 0 100% 3988s patroni/dcs/__init__.py 646 0 100% 3988s patroni/dcs/consul.py 485 0 100% 3988s patroni/dcs/etcd3.py 679 0 100% 3988s patroni/dcs/etcd.py 603 0 100% 3988s patroni/dcs/exhibitor.py 61 0 100% 3988s patroni/dcs/kubernetes.py 938 0 100% 3988s patroni/dcs/raft.py 319 0 100% 3988s patroni/dcs/zookeeper.py 288 0 100% 3988s patroni/dynamic_loader.py 35 0 100% 3988s patroni/exceptions.py 16 0 100% 3988s patroni/file_perm.py 43 0 100% 3988s patroni/global_config.py 81 0 100% 3988s patroni/ha.py 1246 2 99% 1934-1935 3988s patroni/log.py 219 2 99% 365-367 3988s patroni/postgresql/__init__.py 821 0 100% 3988s patroni/postgresql/available_parameters/__init__.py 21 0 100% 3988s patroni/postgresql/bootstrap.py 252 0 100% 3988s patroni/postgresql/callback_executor.py 55 0 100% 3988s patroni/postgresql/cancellable.py 104 0 100% 3988s patroni/postgresql/config.py 816 0 100% 3988s patroni/postgresql/connection.py 75 0 100% 3988s patroni/postgresql/misc.py 41 0 100% 3988s patroni/postgresql/mpp/__init__.py 89 0 100% 3988s 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 3988s patroni/postgresql/postmaster.py 170 0 100% 3988s patroni/postgresql/rewind.py 416 0 100% 3988s patroni/postgresql/slots.py 338 0 100% 3988s patroni/postgresql/sync.py 130 0 100% 3988s patroni/postgresql/validator.py 157 0 100% 3988s patroni/psycopg.py 42 16 62% 19, 25-26, 42, 44-82, 120 3988s patroni/raft_controller.py 22 0 100% 3988s patroni/request.py 62 0 100% 3988s patroni/scripts/__init__.py 0 0 100% 3988s patroni/scripts/aws.py 59 1 98% 86 3988s patroni/scripts/barman/__init__.py 0 0 100% 3988s patroni/scripts/barman/cli.py 51 1 98% 240 3988s patroni/scripts/barman/config_switch.py 51 0 100% 3988s patroni/scripts/barman/recover.py 37 0 100% 3988s patroni/scripts/barman/utils.py 94 0 100% 3988s patroni/scripts/wale_restore.py 207 1 99% 374 3988s patroni/tags.py 38 0 100% 3988s patroni/utils.py 350 0 100% 3988s patroni/validator.py 301 0 100% 3988s patroni/version.py 1 0 100% 3988s patroni/watchdog/__init__.py 2 0 100% 3988s patroni/watchdog/base.py 203 0 100% 3988s patroni/watchdog/linux.py 135 1 99% 36 3988s ----------------------------------------------------------------------------------- 3988s TOTAL 13787 150 99% 3988s Coverage XML written to file coverage.xml 3988s 3988s 3988s ======================= 632 passed, 14 skipped in 35.34s ======================= 3989s autopkgtest [16:25:36]: test test: -----------------------] 3990s test PASS 3990s autopkgtest [16:25:37]: test test: - - - - - - - - - - results - - - - - - - - - - 3990s autopkgtest [16:25:37]: @@@@@@@@@@@@@@@@@@@@ summary 3990s acceptance-etcd3 PASS 3990s acceptance-etcd-basic PASS 3990s acceptance-etcd PASS 3990s acceptance-zookeeper PASS 3990s acceptance-raft PASS 3990s test PASS 4002s nova [W] Skipping flock in bos03-arm64 4002s Creating nova instance adt-plucky-arm64-patroni-20241101-144423-juju-7f2275-prod-proposed-migration-environment-14-7e8bba96-7394-4792-a5e1-4fbc46d55fa4 from image adt/ubuntu-plucky-arm64-server-20241101.img (UUID 520a937f-514a-4e80-b76b-163a8c247e3e)... 4002s nova [W] Skipping flock in bos03-arm64 4002s Creating nova instance adt-plucky-arm64-patroni-20241101-144423-juju-7f2275-prod-proposed-migration-environment-14-7e8bba96-7394-4792-a5e1-4fbc46d55fa4 from image adt/ubuntu-plucky-arm64-server-20241101.img (UUID 520a937f-514a-4e80-b76b-163a8c247e3e)... 4002s nova [W] Skipping flock in bos03-arm64 4002s Creating nova instance adt-plucky-arm64-patroni-20241101-144423-juju-7f2275-prod-proposed-migration-environment-14-7e8bba96-7394-4792-a5e1-4fbc46d55fa4 from image adt/ubuntu-plucky-arm64-server-20241101.img (UUID 520a937f-514a-4e80-b76b-163a8c247e3e)... 4002s nova [W] Skipping flock in bos03-arm64 4002s Creating nova instance adt-plucky-arm64-patroni-20241101-144423-juju-7f2275-prod-proposed-migration-environment-14-7e8bba96-7394-4792-a5e1-4fbc46d55fa4 from image adt/ubuntu-plucky-arm64-server-20241101.img (UUID 520a937f-514a-4e80-b76b-163a8c247e3e)... 4002s nova [W] Skipping flock in bos03-arm64 4002s Creating nova instance adt-plucky-arm64-patroni-20241101-144423-juju-7f2275-prod-proposed-migration-environment-14-7e8bba96-7394-4792-a5e1-4fbc46d55fa4 from image adt/ubuntu-plucky-arm64-server-20241101.img (UUID 520a937f-514a-4e80-b76b-163a8c247e3e)...