0s autopkgtest [02:58:38]: starting date and time: 2024-07-14 02:58:38+0000 0s autopkgtest [02:58:38]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [02:58:38]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.1isyvqvv/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:setuptools --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=setuptools/70.3.0-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos03-arm64-21.secgroup --name adt-oracular-arm64-patroni-20240714-025838-juju-7f2275-prod-proposed-migration-environment-3-e7413dc9-d835-4129-a12e-16b1caef7dcf --image adt/ubuntu-oracular-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --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/ 51s autopkgtest [02:59:29]: testbed dpkg architecture: arm64 51s autopkgtest [02:59:29]: testbed apt version: 2.9.6 51s autopkgtest [02:59:29]: @@@@@@@@@@@@@@@@@@@@ test bed setup 51s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 52s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 52s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [377 kB] 52s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [46.6 kB] 52s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3284 B] 52s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [103 kB] 52s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 52s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 52s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 52s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [429 kB] 52s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 52s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [7596 B] 52s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 54s Fetched 1156 kB in 1s (1419 kB/s) 54s Reading package lists... 58s Reading package lists... 58s Building dependency tree... 58s Reading state information... 58s Calculating upgrade... 59s The following packages will be upgraded: 59s libdw1t64 libelf1t64 python3-pkg-resources ubuntu-pro-client 59s ubuntu-pro-client-l10n 59s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 59s Need to get 756 kB of archives. 59s After this operation, 180 kB of additional disk space will be used. 59s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 libdw1t64 arm64 0.191-2 [262 kB] 59s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libelf1t64 arm64 0.191-2 [58.0 kB] 59s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-pkg-resources all 70.3.0-2 [187 kB] 59s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client-l10n arm64 33.1 [19.2 kB] 59s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client arm64 33.1 [230 kB] 61s Fetched 756 kB in 1s (1325 kB/s) 61s (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 ... 78392 files and directories currently installed.) 61s Preparing to unpack .../libdw1t64_0.191-2_arm64.deb ... 61s Unpacking libdw1t64:arm64 (0.191-2) over (0.191-1) ... 61s Preparing to unpack .../libelf1t64_0.191-2_arm64.deb ... 61s Unpacking libelf1t64:arm64 (0.191-2) over (0.191-1) ... 61s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 61s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 61s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_arm64.deb ... 61s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 62s Preparing to unpack .../ubuntu-pro-client_33.1_arm64.deb ... 62s Unpacking ubuntu-pro-client (33.1) over (33) ... 62s Setting up python3-pkg-resources (70.3.0-2) ... 62s Setting up libelf1t64:arm64 (0.191-2) ... 62s Setting up libdw1t64:arm64 (0.191-2) ... 62s Setting up ubuntu-pro-client (33.1) ... 64s Setting up ubuntu-pro-client-l10n (33.1) ... 64s Processing triggers for man-db (2.12.1-2) ... 65s Processing triggers for libc-bin (2.39-0ubuntu9) ... 65s Reading package lists... 65s Building dependency tree... 65s Reading state information... 66s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 66s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 66s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 66s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 66s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 67s Reading package lists... 67s Reading package lists... 68s Building dependency tree... 68s Reading state information... 68s Calculating upgrade... 69s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 69s Reading package lists... 69s Building dependency tree... 69s Reading state information... 70s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 70s autopkgtest [02:59:48]: rebooting testbed after setup commands that affected boot 74s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 96s autopkgtest [03:00:14]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 02:32:42 UTC 2024 99s autopkgtest [03:00:17]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 102s Get:1 http://ftpmaster.internal/ubuntu oracular/universe patroni 3.3.1-1 (dsc) [2851 B] 102s Get:2 http://ftpmaster.internal/ubuntu oracular/universe patroni 3.3.1-1 (tar) [1150 kB] 102s Get:3 http://ftpmaster.internal/ubuntu oracular/universe patroni 3.3.1-1 (diff) [23.1 kB] 102s gpgv: Signature made Tue Jul 2 12:54:38 2024 UTC 102s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 102s gpgv: Can't check signature: No public key 102s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.1-1.dsc: no acceptable signature found 102s autopkgtest [03:00:20]: testing package patroni version 3.3.1-1 103s autopkgtest [03:00:21]: build not needed 103s autopkgtest [03:00:21]: test acceptance-etcd3: preparing testbed 104s Reading package lists... 104s Building dependency tree... 104s Reading state information... 105s Starting pkgProblemResolver with broken count: 0 105s Starting 2 pkgProblemResolver with broken count: 0 105s Done 105s The following additional packages will be installed: 105s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 105s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 105s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 105s patroni-doc postgresql postgresql-16 postgresql-client-16 105s postgresql-client-common postgresql-common python3-behave python3-cdiff 105s python3-click python3-colorama python3-coverage python3-dateutil 105s python3-dnspython python3-etcd python3-parse python3-parse-type 105s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 105s sphinx-rtd-theme-common ssl-cert 105s Suggested packages: 105s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 105s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 105s python3-httpcore etcd python-psycopg2-doc 105s Recommended packages: 105s javascript-common libjson-xs-perl 105s The following NEW packages will be installed: 105s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 105s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 105s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 105s patroni-doc postgresql postgresql-16 postgresql-client-16 105s postgresql-client-common postgresql-common python3-behave python3-cdiff 105s python3-click python3-colorama python3-coverage python3-dateutil 105s python3-dnspython python3-etcd python3-parse python3-parse-type 105s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 105s sphinx-rtd-theme-common ssl-cert 105s 0 upgraded, 38 newly installed, 0 to remove and 0 not upgraded. 105s Need to get 31.7 MB/31.7 MB of archives. 105s After this operation, 111 MB of additional disk space will be used. 106s Get:1 /tmp/autopkgtest.GqLGLU/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [760 B] 106s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-lato all 2.015-1 [2781 kB] 106s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 106s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-client-common all 261 [36.6 kB] 106s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 106s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-common all 261 [162 kB] 106s Get:7 http://ftpmaster.internal/ubuntu oracular/universe arm64 etcd-server arm64 3.4.30-1build1 [7557 kB] 106s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 106s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libio-pty-perl arm64 1:1.20-1build2 [31.1 kB] 106s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 106s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 106s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 106s Get:13 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-sphinxdoc all 7.3.7-3 [154 kB] 106s Get:14 http://ftpmaster.internal/ubuntu oracular/main arm64 libpq5 arm64 16.3-1 [138 kB] 106s Get:15 http://ftpmaster.internal/ubuntu oracular/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 106s Get:16 http://ftpmaster.internal/ubuntu oracular/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 107s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 107s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 107s Get:19 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 107s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 107s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-click all 8.1.7-1 [79.1 kB] 107s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 107s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 107s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 107s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 107s Get:26 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psycopg2 arm64 2.9.9-1build1 [130 kB] 107s Get:27 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 107s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 107s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni all 3.3.1-1 [264 kB] 107s Get:30 http://ftpmaster.internal/ubuntu oracular/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 107s Get:31 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 107s Get:32 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-client-16 arm64 16.3-1 [1261 kB] 107s Get:33 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-16 arm64 16.3-1 [15.3 MB] 107s Get:34 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql all 16+261 [11.7 kB] 107s Get:35 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-parse all 1.19.0-0.2 [18.1 kB] 107s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 107s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 107s Get:38 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 107s Preconfiguring packages ... 108s Fetched 31.7 MB in 2s (20.7 MB/s) 108s Selecting previously unselected package fonts-lato. 108s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78404 files and directories currently installed.) 108s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 108s Unpacking fonts-lato (2.015-1) ... 108s Selecting previously unselected package libjson-perl. 108s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 108s Unpacking libjson-perl (4.10000-1) ... 108s Selecting previously unselected package postgresql-client-common. 108s Preparing to unpack .../02-postgresql-client-common_261_all.deb ... 108s Unpacking postgresql-client-common (261) ... 108s Selecting previously unselected package ssl-cert. 108s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 108s Unpacking ssl-cert (1.1.2ubuntu2) ... 108s Selecting previously unselected package postgresql-common. 108s Preparing to unpack .../04-postgresql-common_261_all.deb ... 108s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 108s Unpacking postgresql-common (261) ... 108s Selecting previously unselected package etcd-server. 108s Preparing to unpack .../05-etcd-server_3.4.30-1build1_arm64.deb ... 108s Unpacking etcd-server (3.4.30-1build1) ... 108s Selecting previously unselected package fonts-font-awesome. 108s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 108s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 108s Selecting previously unselected package libio-pty-perl. 108s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build2_arm64.deb ... 108s Unpacking libio-pty-perl (1:1.20-1build2) ... 108s Selecting previously unselected package libipc-run-perl. 108s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 108s Unpacking libipc-run-perl (20231003.0-2) ... 108s Selecting previously unselected package libjs-jquery. 108s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 108s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 108s Selecting previously unselected package libjs-underscore. 109s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 109s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 109s Selecting previously unselected package libjs-sphinxdoc. 109s Preparing to unpack .../11-libjs-sphinxdoc_7.3.7-3_all.deb ... 109s Unpacking libjs-sphinxdoc (7.3.7-3) ... 109s Selecting previously unselected package libpq5:arm64. 109s Preparing to unpack .../12-libpq5_16.3-1_arm64.deb ... 109s Unpacking libpq5:arm64 (16.3-1) ... 109s Selecting previously unselected package libtime-duration-perl. 109s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 109s Unpacking libtime-duration-perl (1.21-2) ... 109s Selecting previously unselected package libtimedate-perl. 109s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 109s Unpacking libtimedate-perl (2.3300-2) ... 109s Selecting previously unselected package libxslt1.1:arm64. 109s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 109s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 109s Selecting previously unselected package moreutils. 109s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 109s Unpacking moreutils (0.69-1) ... 109s Selecting previously unselected package python3-cdiff. 109s Preparing to unpack .../17-python3-cdiff_1.0-1.1_all.deb ... 109s Unpacking python3-cdiff (1.0-1.1) ... 109s Selecting previously unselected package python3-colorama. 109s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 109s Unpacking python3-colorama (0.4.6-4) ... 109s Selecting previously unselected package python3-click. 109s Preparing to unpack .../19-python3-click_8.1.7-1_all.deb ... 109s Unpacking python3-click (8.1.7-1) ... 109s Selecting previously unselected package python3-dateutil. 109s Preparing to unpack .../20-python3-dateutil_2.9.0-2_all.deb ... 109s Unpacking python3-dateutil (2.9.0-2) ... 109s Selecting previously unselected package python3-wcwidth. 109s Preparing to unpack .../21-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 109s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 109s Selecting previously unselected package python3-prettytable. 109s Preparing to unpack .../22-python3-prettytable_3.10.1-1_all.deb ... 109s Unpacking python3-prettytable (3.10.1-1) ... 109s Selecting previously unselected package python3-psutil. 109s Preparing to unpack .../23-python3-psutil_5.9.8-2build2_arm64.deb ... 109s Unpacking python3-psutil (5.9.8-2build2) ... 109s Selecting previously unselected package python3-psycopg2. 109s Preparing to unpack .../24-python3-psycopg2_2.9.9-1build1_arm64.deb ... 109s Unpacking python3-psycopg2 (2.9.9-1build1) ... 109s Selecting previously unselected package python3-dnspython. 109s Preparing to unpack .../25-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 109s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 109s Selecting previously unselected package python3-etcd. 109s Preparing to unpack .../26-python3-etcd_0.4.5-4_all.deb ... 109s Unpacking python3-etcd (0.4.5-4) ... 109s Selecting previously unselected package patroni. 109s Preparing to unpack .../27-patroni_3.3.1-1_all.deb ... 109s Unpacking patroni (3.3.1-1) ... 109s Selecting previously unselected package sphinx-rtd-theme-common. 109s Preparing to unpack .../28-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 109s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 109s Selecting previously unselected package patroni-doc. 109s Preparing to unpack .../29-patroni-doc_3.3.1-1_all.deb ... 109s Unpacking patroni-doc (3.3.1-1) ... 109s Selecting previously unselected package postgresql-client-16. 109s Preparing to unpack .../30-postgresql-client-16_16.3-1_arm64.deb ... 109s Unpacking postgresql-client-16 (16.3-1) ... 109s Selecting previously unselected package postgresql-16. 109s Preparing to unpack .../31-postgresql-16_16.3-1_arm64.deb ... 109s Unpacking postgresql-16 (16.3-1) ... 110s Selecting previously unselected package postgresql. 110s Preparing to unpack .../32-postgresql_16+261_all.deb ... 110s Unpacking postgresql (16+261) ... 110s Selecting previously unselected package python3-parse. 110s Preparing to unpack .../33-python3-parse_1.19.0-0.2_all.deb ... 110s Unpacking python3-parse (1.19.0-0.2) ... 110s Selecting previously unselected package python3-parse-type. 110s Preparing to unpack .../34-python3-parse-type_0.6.2-1_all.deb ... 110s Unpacking python3-parse-type (0.6.2-1) ... 110s Selecting previously unselected package python3-behave. 110s Preparing to unpack .../35-python3-behave_1.2.6-5_all.deb ... 110s Unpacking python3-behave (1.2.6-5) ... 110s Selecting previously unselected package python3-coverage. 110s Preparing to unpack .../36-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 110s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 110s Selecting previously unselected package autopkgtest-satdep. 110s Preparing to unpack .../37-1-autopkgtest-satdep.deb ... 110s Unpacking autopkgtest-satdep (0) ... 110s Setting up postgresql-client-common (261) ... 110s Setting up fonts-lato (2.015-1) ... 110s Setting up libio-pty-perl (1:1.20-1build2) ... 110s Setting up python3-colorama (0.4.6-4) ... 110s Setting up python3-cdiff (1.0-1.1) ... 110s Setting up libpq5:arm64 (16.3-1) ... 110s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 110s Setting up python3-click (8.1.7-1) ... 111s Setting up python3-psutil (5.9.8-2build2) ... 111s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 111s Setting up ssl-cert (1.1.2ubuntu2) ... 112s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 112s Setting up python3-psycopg2 (2.9.9-1build1) ... 112s Setting up libipc-run-perl (20231003.0-2) ... 112s Setting up libtime-duration-perl (1.21-2) ... 112s Setting up libtimedate-perl (2.3300-2) ... 112s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 113s Setting up python3-parse (1.19.0-0.2) ... 113s Setting up libjson-perl (4.10000-1) ... 113s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 113s Setting up python3-dateutil (2.9.0-2) ... 113s Setting up etcd-server (3.4.30-1build1) ... 113s info: Selecting UID from range 100 to 999 ... 113s 113s info: Selecting GID from range 100 to 999 ... 113s info: Adding system user `etcd' (UID 107) ... 113s info: Adding new group `etcd' (GID 115) ... 113s info: Adding new user `etcd' (UID 107) with group `etcd' ... 113s info: Creating home directory `/var/lib/etcd/' ... 114s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 114s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 115s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 115s Setting up python3-prettytable (3.10.1-1) ... 115s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 115s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 115s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 115s Setting up moreutils (0.69-1) ... 115s Setting up python3-etcd (0.4.5-4) ... 115s Setting up postgresql-client-16 (16.3-1) ... 115s 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 116s Setting up python3-parse-type (0.6.2-1) ... 116s Setting up postgresql-common (261) ... 116s 116s Creating config file /etc/postgresql-common/createcluster.conf with new version 117s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 117s Removing obsolete dictionary files: 117s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 118s Setting up libjs-sphinxdoc (7.3.7-3) ... 118s Setting up python3-behave (1.2.6-5) ... 118s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 118s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 118s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 118s """Registers a custom type that will be available to "parse" 118s Setting up patroni (3.3.1-1) ... 118s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 119s Setting up postgresql-16 (16.3-1) ... 119s Creating new PostgreSQL cluster 16/main ... 119s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 119s The files belonging to this database system will be owned by user "postgres". 119s This user must also own the server process. 119s 119s The database cluster will be initialized with locale "C.UTF-8". 119s The default database encoding has accordingly been set to "UTF8". 119s The default text search configuration will be set to "english". 119s 119s Data page checksums are disabled. 119s 119s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 119s creating subdirectories ... ok 119s selecting dynamic shared memory implementation ... posix 119s selecting default max_connections ... 100 119s selecting default shared_buffers ... 128MB 119s selecting default time zone ... Etc/UTC 119s creating configuration files ... ok 119s running bootstrap script ... ok 120s performing post-bootstrap initialization ... ok 120s syncing data to disk ... ok 124s Setting up patroni-doc (3.3.1-1) ... 124s Setting up postgresql (16+261) ... 124s Setting up autopkgtest-satdep (0) ... 124s Processing triggers for man-db (2.12.1-2) ... 125s Processing triggers for libc-bin (2.39-0ubuntu9) ... 129s (Reading database ... 81791 files and directories currently installed.) 129s Removing autopkgtest-satdep (0) ... 129s autopkgtest [03:00:47]: test acceptance-etcd3: debian/tests/acceptance etcd3 129s autopkgtest [03:00:47]: test acceptance-etcd3: [----------------------- 130s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 130s ++ ls -1r /usr/lib/postgresql/ 130s ### PostgreSQL 16 acceptance-etcd3 ### 130s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 130s + '[' 16 == 10 -o 16 == 11 ']' 130s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 130s + 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' 130s Jul 14 03:00:48 Feature: basic replication # features/basic_replication.feature:1 130s Jul 14 03:00:48 We should check that the basic bootstrapping, replication and failover works. 130s Jul 14 03:00:48 Scenario: check replication of a single table # features/basic_replication.feature:4 130s Jul 14 03:00:48 Given I start postgres0 # features/steps/basic_replication.py:8 134s Jul 14 03:00:52 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 136s Jul 14 03:00:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 136s Jul 14 03:00:54 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 136s Jul 14 03:00:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 136s Jul 14 03:00:54 When I start postgres1 # features/steps/basic_replication.py:8 140s Jul 14 03:00:58 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 144s Jul 14 03:01:02 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 144s Jul 14 03:01:02 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 144s Jul 14 03:01:02 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 145s Jul 14 03:01:03 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 145s Jul 14 03:01:03 145s Jul 14 03:01:03 Scenario: check restart of sync replica # features/basic_replication.feature:17 145s Jul 14 03:01:03 Given I shut down postgres2 # features/steps/basic_replication.py:29 146s Jul 14 03:01:04 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 146s Jul 14 03:01:04 When I start postgres2 # features/steps/basic_replication.py:8 149s Jul 14 03:01:07 And I shut down postgres1 # features/steps/basic_replication.py:29 152s Jul 14 03:01:10 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 153s Jul 14 03:01:11 When I start postgres1 # features/steps/basic_replication.py:8 156s Jul 14 03:01:14 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 157s Jul 14 03:01:15 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 157s Jul 14 03:01:15 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 157s Jul 14 03:01:15 157s Jul 14 03:01:15 Scenario: check stuck sync replica # features/basic_replication.feature:28 157s Jul 14 03:01:15 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 157s Jul 14 03:01:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 157s Jul 14 03:01:15 And I create table on postgres0 # features/steps/basic_replication.py:73 157s Jul 14 03:01:15 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 158s Jul 14 03:01:16 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 158s Jul 14 03:01:16 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 158s Jul 14 03:01:16 And I load data on postgres0 # features/steps/basic_replication.py:84 159s Jul 14 03:01:16 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 162s Jul 14 03:01:19 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 162s Jul 14 03:01:19 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 163s Jul 14 03:01:21 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 163s Jul 14 03:01:21 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 163s Jul 14 03:01:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 163s Jul 14 03:01:21 And I drop table on postgres0 # features/steps/basic_replication.py:73 163s Jul 14 03:01:21 163s Jul 14 03:01:21 Scenario: check multi sync replication # features/basic_replication.feature:44 163s Jul 14 03:01:21 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 163s Jul 14 03:01:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 163s Jul 14 03:01:21 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 167s Jul 14 03:01:25 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 167s Jul 14 03:01:25 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 167s Jul 14 03:01:25 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 167s Jul 14 03:01:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 167s Jul 14 03:01:25 And I shut down postgres1 # features/steps/basic_replication.py:29 170s Jul 14 03:01:28 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 171s Jul 14 03:01:29 When I start postgres1 # features/steps/basic_replication.py:8 175s Jul 14 03:01:33 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 175s Jul 14 03:01:33 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 175s Jul 14 03:01:33 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 175s Jul 14 03:01:33 175s Jul 14 03:01:33 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 175s Jul 14 03:01:33 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 177s Jul 14 03:01:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 177s Jul 14 03:01:35 When I sleep for 2 seconds # features/steps/patroni_api.py:39 179s Jul 14 03:01:37 And I shut down postgres0 # features/steps/basic_replication.py:29 180s Jul 14 03:01:38 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 182s Jul 14 03:01:40 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 182s Jul 14 03:01:40 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 201s Jul 14 03:01:59 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 203s Jul 14 03:02:01 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 203s Jul 14 03:02:01 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 203s Jul 14 03:02:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 203s Jul 14 03:02:01 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 203s Jul 14 03:02:01 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 206s Jul 14 03:02:04 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 206s Jul 14 03:02:04 206s Jul 14 03:02:04 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 206s Jul 14 03:02:04 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 206s Jul 14 03:02:04 And I start postgres0 # features/steps/basic_replication.py:8 206s Jul 14 03:02:04 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 215s Jul 14 03:02:13 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 215s Jul 14 03:02:13 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 215s Jul 14 03:02:13 215s Jul 14 03:02:13 @reject-duplicate-name 215s Jul 14 03:02:13 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 215s Jul 14 03:02:13 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 219s Jul 14 03:02:16 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 223s Jul 14 03:02:21 223s Jul 14 03:02:21 Feature: cascading replication # features/cascading_replication.feature:1 223s Jul 14 03:02:21 We should check that patroni can do base backup and streaming from the replica 223s Jul 14 03:02:21 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 223s Jul 14 03:02:21 Given I start postgres0 # features/steps/basic_replication.py:8 227s Jul 14 03:02:25 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 227s Jul 14 03:02:25 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 231s Jul 14 03:02:29 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 232s Jul 14 03:02:30 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 232s Jul 14 03:02:30 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 232s Jul 14 03:02:30 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 232s Jul 14 03:02:30 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 236s Jul 14 03:02:34 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 237s Jul 14 03:02:35 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 243s SKIP FEATURE citus: Citus extenstion isn't available 243s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 243s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 243s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 243s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 243s 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 243s Jul 14 03:02:41 243s Jul 14 03:02:41 Feature: citus # features/citus.feature:1 243s Jul 14 03:02:41 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 243s Jul 14 03:02:41 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 243s Jul 14 03:02:41 Given I start postgres0 in citus group 0 # None 243s Jul 14 03:02:41 And I start postgres2 in citus group 1 # None 243s Jul 14 03:02:41 Then postgres0 is a leader in a group 0 after 10 seconds # None 243s Jul 14 03:02:41 And postgres2 is a leader in a group 1 after 10 seconds # None 243s Jul 14 03:02:41 When I start postgres1 in citus group 0 # None 243s Jul 14 03:02:41 And I start postgres3 in citus group 1 # None 243s Jul 14 03:02:41 Then replication works from postgres0 to postgres1 after 15 seconds # None 243s Jul 14 03:02:41 Then replication works from postgres2 to postgres3 after 15 seconds # None 243s Jul 14 03:02:41 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 243s Jul 14 03:02:41 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 243s Jul 14 03:02:41 243s Jul 14 03:02:41 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 243s Jul 14 03:02:41 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 243s Jul 14 03:02:41 Then postgres1 role is the primary after 10 seconds # None 243s Jul 14 03:02:41 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 243s Jul 14 03:02:41 And replication works from postgres1 to postgres0 after 15 seconds # None 243s Jul 14 03:02:41 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 243s Jul 14 03:02:41 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 243s Jul 14 03:02:41 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 243s Jul 14 03:02:41 Then postgres0 role is the primary after 10 seconds # None 243s Jul 14 03:02:41 And replication works from postgres0 to postgres1 after 15 seconds # None 243s Jul 14 03:02:41 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 243s Jul 14 03:02:41 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 243s Jul 14 03:02:41 243s Jul 14 03:02:41 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 243s Jul 14 03:02:41 Given I create a distributed table on postgres0 # None 243s Jul 14 03:02:41 And I start a thread inserting data on postgres0 # None 243s Jul 14 03:02:41 When I run patronictl.py switchover batman --group 1 --force # None 243s Jul 14 03:02:41 Then I receive a response returncode 0 # None 243s Jul 14 03:02:41 And postgres3 role is the primary after 10 seconds # None 243s Jul 14 03:02:41 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 243s Jul 14 03:02:41 And replication works from postgres3 to postgres2 after 15 seconds # None 243s Jul 14 03:02:41 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 243s Jul 14 03:02:41 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 243s Jul 14 03:02:41 And a thread is still alive # None 243s Jul 14 03:02:41 When I run patronictl.py switchover batman --group 1 --force # None 243s Jul 14 03:02:41 Then I receive a response returncode 0 # None 243s Jul 14 03:02:41 And postgres2 role is the primary after 10 seconds # None 243s Jul 14 03:02:41 And replication works from postgres2 to postgres3 after 15 seconds # None 243s Jul 14 03:02:41 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 243s Jul 14 03:02:41 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 243s Jul 14 03:02:41 And a thread is still alive # None 243s Jul 14 03:02:41 When I stop a thread # None 243s Jul 14 03:02:41 Then a distributed table on postgres0 has expected rows # None 243s Jul 14 03:02:41 243s Jul 14 03:02:41 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 243s Jul 14 03:02:41 Given I cleanup a distributed table on postgres0 # None 243s Jul 14 03:02:41 And I start a thread inserting data on postgres0 # None 243s Jul 14 03:02:41 When I run patronictl.py restart batman postgres2 --group 1 --force # None 243s Jul 14 03:02:41 Then I receive a response returncode 0 # None 243s Jul 14 03:02:41 And postgres2 role is the primary after 10 seconds # None 243s Jul 14 03:02:41 And replication works from postgres2 to postgres3 after 15 seconds # None 243s Jul 14 03:02:41 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 243s Jul 14 03:02:41 And a thread is still alive # None 243s Jul 14 03:02:41 When I stop a thread # None 243s Jul 14 03:02:41 Then a distributed table on postgres0 has expected rows # None 243s Jul 14 03:02:41 243s Jul 14 03:02:41 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 243s Jul 14 03:02:41 Given I start postgres4 in citus group 2 # None 243s Jul 14 03:02:41 Then postgres4 is a leader in a group 2 after 10 seconds # None 243s Jul 14 03:02:41 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 243s Jul 14 03:02:41 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 243s Jul 14 03:02:41 Then I receive a response returncode 0 # None 243s Jul 14 03:02:41 And I receive a response output "+ttl: 20" # None 243s Jul 14 03:02:41 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 243s Jul 14 03:02:41 When I shut down postgres4 # None 243s Jul 14 03:02:41 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 243s Jul 14 03:02:41 When I run patronictl.py restart batman postgres2 --group 1 --force # None 243s Jul 14 03:02:41 Then a transaction finishes in 20 seconds # None 243s Jul 14 03:02:41 243s Jul 14 03:02:41 Feature: custom bootstrap # features/custom_bootstrap.feature:1 243s Jul 14 03:02:41 We should check that patroni can bootstrap a new cluster from a backup 243s Jul 14 03:02:41 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 243s Jul 14 03:02:41 Given I start postgres0 # features/steps/basic_replication.py:8 248s Jul 14 03:02:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 248s Jul 14 03:02:46 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 248s Jul 14 03:02:46 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 252s Jul 14 03:02:50 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 253s Jul 14 03:02:51 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 253s Jul 14 03:02:51 253s Jul 14 03:02:51 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 253s Jul 14 03:02:51 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 253s Jul 14 03:02:51 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 254s Jul 14 03:02:52 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 260s Jul 14 03:02:58 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 261s Jul 14 03:02:59 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 267s Jul 14 03:03:05 267s Jul 14 03:03:05 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 267s Jul 14 03:03:05 We should check the basic dcs failsafe mode functioning 267s Jul 14 03:03:05 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 267s Jul 14 03:03:05 Given I start postgres0 # features/steps/basic_replication.py:8 271s Jul 14 03:03:09 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 272s Jul 14 03:03:10 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 272s Jul 14 03:03:10 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 272s Jul 14 03:03:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 272s Jul 14 03:03:10 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 273s Jul 14 03:03:11 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 273s Jul 14 03:03:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 273s Jul 14 03:03:11 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 273s Jul 14 03:03:11 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 273s Jul 14 03:03:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 273s Jul 14 03:03:11 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 273s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 273s 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 273s Jul 14 03:03:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 273s Jul 14 03:03:11 273s Jul 14 03:03:11 @dcs-failsafe 273s Jul 14 03:03:11 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 273s Jul 14 03:03:11 Given DCS is down # None 273s Jul 14 03:03:11 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 273s Jul 14 03:03:11 And postgres0 role is the primary after 10 seconds # None 273s Jul 14 03:03:11 273s Jul 14 03:03:11 @dcs-failsafe 273s Jul 14 03:03:11 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 273s Jul 14 03:03:11 Given DCS is up # None 273s Jul 14 03:03:11 When I do a backup of postgres0 # None 273s Jul 14 03:03:11 And I shut down postgres0 # None 273s Jul 14 03:03:11 When I start postgres1 in a cluster batman from backup with no_leader # None 273s Jul 14 03:03:11 Then postgres1 role is the replica after 12 seconds # None 273s Jul 14 03:03:11 273s Jul 14 03:03:11 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 273s Jul 14 03:03:11 Given I start postgres0 # features/steps/basic_replication.py:8 273s Jul 14 03:03:11 And I start postgres1 # features/steps/basic_replication.py:8 276s Jul 14 03:03:14 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 276s Jul 14 03:03:14 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 277s Jul 14 03:03:15 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 278s Jul 14 03:03:15 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 278s Jul 14 03:03:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 278s Jul 14 03:03:16SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 278s And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 278s Jul 14 03:03:16 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 278s 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 278s 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 278s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 278s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 278s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 278s 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 278s Jul 14 03:03:16 278s Jul 14 03:03:16 @dcs-failsafe @slot-advance 278s Jul 14 03:03:16 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 278s Jul 14 03:03:16 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 278s Jul 14 03:03:16 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 278s Jul 14 03:03:16 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 278s Jul 14 03:03:16 And DCS is down # None 278s Jul 14 03:03:16 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 278s Jul 14 03:03:16 Then postgres0 role is the primary after 10 seconds # None 278s Jul 14 03:03:16 And postgres1 role is the replica after 2 seconds # None 278s Jul 14 03:03:16 And replication works from postgres0 to postgres1 after 10 seconds # None 278s Jul 14 03:03:16 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 278s Jul 14 03:03:16 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 278s Jul 14 03:03:16 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 278s Jul 14 03:03:16 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 278s Jul 14 03:03:16 278s Jul 14 03:03:16 @dcs-failsafe 278s Jul 14 03:03:16 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 278s Jul 14 03:03:16 Given DCS is down # None 278s Jul 14 03:03:16 And I kill postgres1 # None 278s Jul 14 03:03:16 And I kill postmaster on postgres1 # None 278s Jul 14 03:03:16 Then postgres0 role is the replica after 12 seconds # None 278s Jul 14 03:03:16 278s Jul 14 03:03:16 @dcs-failsafe 278s Jul 14 03:03:16 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 278s Jul 14 03:03:16 Given I kill postgres0 # None 278s Jul 14 03:03:16 And I shut down postmaster on postgres0 # None 278s Jul 14 03:03:16 And DCS is up # None 278s Jul 14 03:03:16 When I start postgres1 # None 278s Jul 14 03:03:16 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 278s Jul 14 03:03:16 And postgres1 role is the primary after 25 seconds # None 278s Jul 14 03:03:16 278s Jul 14 03:03:16 @dcs-failsafe 278s Jul 14 03:03:16 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 278s Jul 14 03:03:16 Given I start postgres0 # None 278s Jul 14 03:03:16 And I start postgres2 # None 278s Jul 14 03:03:16 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 278s Jul 14 03:03:16 And "members/postgres0" key in DCS has state=running after 20 seconds # None 278s Jul 14 03:03:16 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 278s Jul 14 03:03:16 And replication works from postgres1 to postgres0 after 10 seconds # None 278s Jul 14 03:03:16 And replication works from postgres1 to postgres2 after 10 seconds # None 278s Jul 14 03:03:16 278s Jul 14 03:03:16 @dcs-failsafe @slot-advance 278s Jul 14 03:03:16 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 278s Jul 14 03:03:16 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # None 278s Jul 14 03:03:16 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 278s Jul 14 03:03:16 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 278s Jul 14 03:03:16 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 278s Jul 14 03:03:16 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 278s Jul 14 03:03:16 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 278s Jul 14 03:03:16 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 278s Jul 14 03:03:16 278s Jul 14 03:03:16 @dcs-failsafe 278s Jul 14 03:03:16 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 278s Jul 14 03:03:16 Given DCS is down # None 278s Jul 14 03:03:16 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 278s Jul 14 03:03:16 Then postgres1 role is the primary after 10 seconds # None 278s Jul 14 03:03:16 And postgres0 role is the replica after 2 seconds # None 278s Jul 14 03:03:16 And postgres2 role is the replica after 2 seconds # None 282s Jul 14 03:03:20 282s Jul 14 03:03:20 @dcs-failsafe @slot-advance 282s Jul 14 03:03:20 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 282s Jul 14 03:03:20 Given replication works from postgres1 to postgres0 after 10 seconds # None 282s Jul 14 03:03:20 And replication works from postgres1 to postgres2 after 10 seconds # None 282s Jul 14 03:03:20 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 282s Jul 14 03:03:20 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 282s Jul 14 03:03:20 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 282s Jul 14 03:03:20 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 282s Jul 14 03:03:20 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 282s Jul 14 03:03:20 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 282s Jul 14 03:03:20 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 282s Jul 14 03:03:20 282s Jul 14 03:03:20 Feature: ignored slots # features/ignored_slots.feature:1 282s Jul 14 03:03:20 282s Jul 14 03:03:20 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 282s Jul 14 03:03:20 Given I start postgres1 # features/steps/basic_replication.py:8 286s Jul 14 03:03:24 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 286s Jul 14 03:03:24 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 286s Jul 14 03:03:24 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 286s Jul 14 03:03:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 286s Jul 14 03:03:24 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 286s Jul 14 03:03:24 When I shut down postgres1 # features/steps/basic_replication.py:29 288s Jul 14 03:03:26 And I start postgres1 # features/steps/basic_replication.py:8 291s Jul 14 03:03:29 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 292s Jul 14 03:03:30 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 293s Jul 14 03:03:31 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 293s Jul 14 03:03:31 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 293s Jul 14 03:03:31 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 293s Jul 14 03:03:31 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 293s Jul 14 03:03:31 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 293s Jul 14 03:03:31 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 293s Jul 14 03:03:31 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 293s Jul 14 03:03:31 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 293s Jul 14 03:03:31 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 293s Jul 14 03:03:31 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 293s Jul 14 03:03:31 When I start postgres0 # features/steps/basic_replication.py:8 296s Jul 14 03:03:34 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 297s Jul 14 03:03:35 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 297s Jul 14 03:03:35 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 298s Jul 14 03:03:36 When I shut down postgres1 # features/steps/basic_replication.py:29 300s Jul 14 03:03:38 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 301s Jul 14 03:03:39 When I start postgres1 # features/steps/basic_replication.py:8 304s Jul 14 03:03:42 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 304s Jul 14 03:03:42 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 305s Jul 14 03:03:43 And I sleep for 2 seconds # features/steps/patroni_api.py:39 307s Jul 14 03:03: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 307s Jul 14 03:03: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 307s Jul 14 03:03: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 307s Jul 14 03:03: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 307s Jul 14 03:03:45 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 307s Jul 14 03:03:45 When I shut down postgres0 # features/steps/basic_replication.py:29 309s Jul 14 03:03:47 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 310s Jul 14 03:03:48 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 310s Jul 14 03:03:48 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 310s Jul 14 03:03:48 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 310s Jul 14 03:03:48 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 312s Jul 14 03:03:50 312s Jul 14 03:03:50 Feature: nostream node # features/nostream_node.feature:1 312s Jul 14 03:03:50 312s Jul 14 03:03:50 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 312s Jul 14 03:03:50 When I start postgres0 # features/steps/basic_replication.py:8 316s Jul 14 03:03:54 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 320s Jul 14 03:03:58 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 320s Jul 14 03:03:58 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 325s Jul 14 03:04:03 325s Jul 14 03:04:03 @slot-advance 325s Jul 14 03:04:03 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 325s Jul 14 03:04:03 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 325s Jul 14 03:04:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 325s Jul 14 03:04:03 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 328s Jul 14 03:04:06 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 329s Jul 14 03:04:07 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 333s Jul 14 03:04:11 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 340s Jul 14 03:04:18 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 340s Jul 14 03:04:18 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 346s Jul 14 03:04:24 346s Jul 14 03:04:24 Feature: patroni api # features/patroni_api.feature:1 346s Jul 14 03:04:24 We should check that patroni correctly responds to valid and not-valid API requests. 346s Jul 14 03:04:24 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 346s Jul 14 03:04:24 Given I start postgres0 # features/steps/basic_replication.py:8 350s Jul 14 03:04:28 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 350s Jul 14 03:04:28 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 350s Jul 14 03:04:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 350s Jul 14 03:04:28 And I receive a response state running # features/steps/patroni_api.py:98 350s Jul 14 03:04:28 And I receive a response role master # features/steps/patroni_api.py:98 350s Jul 14 03:04:28 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 350s Jul 14 03:04:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 350s Jul 14 03:04:28 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 350s Jul 14 03:04:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 350s Jul 14 03:04:28 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 350s Jul 14 03:04:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 350s Jul 14 03:04:28 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 350s Jul 14 03:04:28 Then I receive a response code 503 # features/steps/patroni_api.py:98 350s Jul 14 03:04:28 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 350s Jul 14 03:04:28 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 352s Jul 14 03:04:30 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 352s Jul 14 03:04:30 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 352s Jul 14 03:04:30 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 352s Jul 14 03:04:30 Then I receive a response code 412 # features/steps/patroni_api.py:98 352s Jul 14 03:04:30 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 352s Jul 14 03:04:30 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 352s Jul 14 03:04:30 Then I receive a response code 400 # features/steps/patroni_api.py:98 352s Jul 14 03:04:30 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 352s Jul 14 03:04:30 Then I receive a response code 400 # features/steps/patroni_api.py:98 352s Jul 14 03:04:30 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 352s Jul 14 03:04:30 352s Jul 14 03:04:30 Scenario: check local configuration reload # features/patroni_api.feature:32 352s Jul 14 03:04:30 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 352s Jul 14 03:04:30 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 352s Jul 14 03:04:30 Then I receive a response code 202 # features/steps/patroni_api.py:98 352s Jul 14 03:04:30 352s Jul 14 03:04:30 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 352s Jul 14 03:04:30 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 352s Jul 14 03:04:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 352s Jul 14 03:04:30 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 355s Jul 14 03:04:33 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 356s Jul 14 03:04:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 356s Jul 14 03:04:34 And I receive a response ttl 20 # features/steps/patroni_api.py:98 356s Jul 14 03:04:34 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 356s Jul 14 03:04:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 356s Jul 14 03:04:34 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 356s Jul 14 03:04:34 And I sleep for 4 seconds # features/steps/patroni_api.py:39 360s Jul 14 03:04:38 360s Jul 14 03:04:38 Scenario: check the scheduled restart # features/patroni_api.feature:49 360s Jul 14 03:04:38 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 361s Jul 14 03:04:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 361s Jul 14 03:04:39 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 361s Jul 14 03:04:39 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 361s Jul 14 03:04:39 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 362s Jul 14 03:04:39 Then I receive a response code 202 # features/steps/patroni_api.py:98 362s Jul 14 03:04:39 And I sleep for 8 seconds # features/steps/patroni_api.py:39 370s Jul 14 03:04:47 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 370s Jul 14 03:04:48 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 370s Jul 14 03:04:48 Then I receive a response code 202 # features/steps/patroni_api.py:98 370s Jul 14 03:04:48 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 376s Jul 14 03:04:54 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 377s Jul 14 03:04:55 377s Jul 14 03:04:55 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 377s Jul 14 03:04:55 Given I start postgres1 # features/steps/basic_replication.py:8 380s Jul 14 03:04:58 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 381s Jul 14 03:04:59 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 383s Jul 14 03:05:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 383s Jul 14 03:05:01 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 383s Jul 14 03:05:01 waiting for server to shut down.... done 383s Jul 14 03:05:01 server stopped 383s Jul 14 03:05:01 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 383s Jul 14 03:05:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 383s Jul 14 03:05:01 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 385s Jul 14 03:05:03 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 389s Jul 14 03:05:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 389s Jul 14 03:05:07 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 390s Jul 14 03:05:08 And I sleep for 2 seconds # features/steps/patroni_api.py:39 392s Jul 14 03:05:10 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 392s Jul 14 03:05:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 392s Jul 14 03:05:10 And I receive a response state running # features/steps/patroni_api.py:98 392s Jul 14 03:05:10 And I receive a response role replica # features/steps/patroni_api.py:98 392s Jul 14 03:05:10 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 396s Jul 14 03:05:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 396s Jul 14 03:05:14 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 396s Jul 14 03:05:14 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 397s Jul 14 03:05:15 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 397s Jul 14 03:05:15 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 399s Jul 14 03:05:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 399s Jul 14 03:05:17 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 399s Jul 14 03:05:17 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 400s Jul 14 03:05:18 400s Jul 14 03:05:18 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 400s Jul 14 03:05:18 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 402s Jul 14 03:05:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 402s Jul 14 03:05:20 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 402s Jul 14 03:05:20 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 403s Jul 14 03:05:21 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 407s Jul 14 03:05:25 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 407s Jul 14 03:05:25 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 408s Jul 14 03:05:26 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 408s Jul 14 03:05:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 408s Jul 14 03:05:26 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 409s Jul 14 03:05:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 409s Jul 14 03:05:26 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 409s Jul 14 03:05:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 409s Jul 14 03:05:27 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 409s Jul 14 03:05:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 409s Jul 14 03:05:27 409s Jul 14 03:05:27 Scenario: check the scheduled switchover # features/patroni_api.feature:107 409s Jul 14 03:05:27 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 410s Jul 14 03:05:28 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 410s Jul 14 03:05:28 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 410s Jul 14 03:05:28 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 412s Jul 14 03:05:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 412s Jul 14 03:05:30 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 414s Jul 14 03:05:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 414s Jul 14 03:05:32 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 424s Jul 14 03:05:42 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 424s Jul 14 03:05:42 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 427s Jul 14 03:05:45 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 427s Jul 14 03:05:45 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 428s Jul 14 03:05:46 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 428s Jul 14 03:05:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 428s Jul 14 03:05:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 428s Jul 14 03:05:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 428s Jul 14 03:05:46 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 428s Jul 14 03:05:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 428s Jul 14 03:05:46 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 429s Jul 14 03:05:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 433s Jul 14 03:05:51 433s Jul 14 03:05:51 Feature: permanent slots # features/permanent_slots.feature:1 433s Jul 14 03:05:51 433s Jul 14 03:05:51 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 433s Jul 14 03:05:51 Given I start postgres0 # features/steps/basic_replication.py:8 436s Jul 14 03:05:54 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 437s Jul 14 03:05:55 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 437s Jul 14 03:05:55 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 437s Jul 14 03:05:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 437s Jul 14 03:05:55 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 437s Jul 14 03:05:55 When I start postgres1 # features/steps/basic_replication.py:8 441s Jul 14 03:05:59 And I start postgres2 # features/steps/basic_replication.py:8 445s Jul 14 03:06:03 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 449s Jul 14 03:06:07 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 449s Jul 14 03:06:07 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 449s Jul 14 03:06:07 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 449s Jul 14 03:06:07 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 449s Jul 14 03:06:07 449s Jul 14 03:06:07 @slot-advance 449s Jul 14 03:06:07 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 449s Jul 14 03:06:07 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 452s Jul 14 03:06:10 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 452s Jul 14 03:06:10 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 453s Jul 14 03:06:11 453s Jul 14 03:06:11 @slot-advance 453s Jul 14 03:06:11 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 453s Jul 14 03:06:11 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 458s Jul 14 03:06:16 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 458s Jul 14 03:06:16 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 459s Jul 14 03:06:17 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 460s Jul 14 03:06:18 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 460s Jul 14 03:06:18 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 460s Jul 14 03:06:18 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 460s Jul 14 03:06:18 460s Jul 14 03:06:18 @slot-advance 460s Jul 14 03:06:18 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 460s Jul 14 03:06:18 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 460s Jul 14 03:06:18 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 460s Jul 14 03:06:18 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 460s Jul 14 03:06:18 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 460s Jul 14 03:06:18 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 460s Jul 14 03:06:18 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 460s Jul 14 03:06:18 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 460s Jul 14 03:06:18 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 460s Jul 14 03:06:18 460s Jul 14 03:06:18 @slot-advance 460s Jul 14 03:06:18 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 460s Jul 14 03:06:18 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 460s Jul 14 03:06:18 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 460s Jul 14 03:06:18 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 460s Jul 14 03:06:18 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 462s Jul 14 03:06:20 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 462s Jul 14 03:06:20 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 462s Jul 14 03:06:20 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 462s Jul 14 03:06:20 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 462s Jul 14 03:06:20 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 462s Jul 14 03:06:20 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 462s Jul 14 03:06:20 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 464s Jul 14 03:06:22 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 464s Jul 14 03:06:22 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 464s Jul 14 03:06:22 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 464s Jul 14 03:06:22 464s Jul 14 03:06:22 @slot-advance 464s Jul 14 03:06:22 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 464s Jul 14 03:06:22 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 464s Jul 14 03:06:22 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 464s Jul 14 03:06:22 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 464s Jul 14 03:06:22 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 464s Jul 14 03:06:22 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 464s Jul 14 03:06:22 464s Jul 14 03:06:22 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 464s Jul 14 03:06:22 Given I shut down postgres3 # features/steps/basic_replication.py:29 465s Jul 14 03:06:23 And I shut down postgres2 # features/steps/basic_replication.py:29 466s Jul 14 03:06:24 And I shut down postgres0 # features/steps/basic_replication.py:29 468s Jul 14 03:06:26 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 468s Jul 14 03:06:26 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 468s Jul 14 03:06:26 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 470s Jul 14 03:06:28 470s Jul 14 03:06:28 Feature: priority replication # features/priority_failover.feature:1 470s Jul 14 03:06:28 We should check that we can give nodes priority during failover 470s Jul 14 03:06:28 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 470s Jul 14 03:06:28 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 474s Jul 14 03:06:32 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 478s Jul 14 03:06:36 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 479s Jul 14 03:06:37 When I shut down postgres0 # features/steps/basic_replication.py:29 481s Jul 14 03:06:39 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 483s Jul 14 03:06:41 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 483s Jul 14 03:06:41 When I start postgres0 # features/steps/basic_replication.py:8 488s Jul 14 03:06:46 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 489s Jul 14 03:06:47 489s Jul 14 03:06:47 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 489s Jul 14 03:06:47 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 493s Jul 14 03:06:51 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 498s Jul 14 03:06:56 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 499s Jul 14 03:06:57 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 500s Jul 14 03:06:58 When I shut down postgres0 # features/steps/basic_replication.py:29 502s Jul 14 03:07:00 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 503s Jul 14 03:07: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 503s Jul 14 03:07:01 503s Jul 14 03:07:01 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 503s Jul 14 03:07:01 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 503s Jul 14 03:07:01 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 503s Jul 14 03:07:01 Then I receive a response code 202 # features/steps/patroni_api.py:98 503s Jul 14 03:07: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 505s Jul 14 03:07:03 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 507s Jul 14 03:07:05 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 507s Jul 14 03:07:05 Then I receive a response code 412 # features/steps/patroni_api.py:98 507s Jul 14 03:07:05 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 507s Jul 14 03:07:05 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 507s Jul 14 03:07:05 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 507s Jul 14 03:07:05 Then I receive a response code 202 # features/steps/patroni_api.py:98 507s Jul 14 03:07: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 508s Jul 14 03:07:06 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 509s Jul 14 03:07:07 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 512s Jul 14 03:07:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 512s Jul 14 03:07:10 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 518s Jul 14 03:07:16 518s Jul 14 03:07:16 Feature: recovery # features/recovery.feature:1 518s Jul 14 03:07:16 We want to check that crashed postgres is started back 518s Jul 14 03:07:16 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 518s Jul 14 03:07:16 Given I start postgres0 # features/steps/basic_replication.py:8 522s Jul 14 03:07:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 522s Jul 14 03:07:20 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 522s Jul 14 03:07:20 When I start postgres1 # features/steps/basic_replication.py:8 525s Jul 14 03:07:23 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 525s Jul 14 03:07:23 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 526s Jul 14 03:07:24 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 526s Jul 14 03:07:24 waiting for server to shut down.... done 526s Jul 14 03:07:24 server stopped 526s Jul 14 03:07:24 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 528s Jul 14 03:07:26 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 528s Jul 14 03:07:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 528s Jul 14 03:07:26 And I receive a response role master # features/steps/patroni_api.py:98 528s Jul 14 03:07:26 And I receive a response timeline 1 # features/steps/patroni_api.py:98 528s Jul 14 03:07:26 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 529s Jul 14 03:07:27 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 531s Jul 14 03:07:29 531s Jul 14 03:07:29 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 531s Jul 14 03:07:29 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 531s Jul 14 03:07:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 531s Jul 14 03:07:29 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 531s Jul 14 03:07:29 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 531s Jul 14 03:07:29 waiting for server to shut down.... done 531s Jul 14 03:07:29 server stopped 531s Jul 14 03:07:29 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 534s Jul 14 03:07:32 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 538s Jul 14 03:07:36 538s Jul 14 03:07:36 Feature: standby cluster # features/standby_cluster.feature:1 538s Jul 14 03:07:36 538s Jul 14 03:07:36 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 538s Jul 14 03:07:36 Given I start postgres1 # features/steps/basic_replication.py:8 544s Jul 14 03:07:42 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 544s Jul 14 03:07:42 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 544s Jul 14 03:07:42 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 544s Jul 14 03:07:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 544s Jul 14 03:07:42 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 544s Jul 14 03:07:42 And I sleep for 3 seconds # features/steps/patroni_api.py:39 547s Jul 14 03:07:45 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 547s Jul 14 03:07:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 547s Jul 14 03:07:45 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 547s Jul 14 03:07:45 When I start postgres0 # features/steps/basic_replication.py:8 552s Jul 14 03:07:50 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 553s Jul 14 03:07:51 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 554s Jul 14 03:07:52 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 554s Jul 14 03:07:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 554s Jul 14 03:07:52 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 554s Jul 14 03:07:52 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 554s Jul 14 03:07:52 554s Jul 14 03:07:52 @slot-advance 554s Jul 14 03:07:52 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 554s Jul 14 03:07:52 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 557s Jul 14 03:07:55 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 562s Jul 14 03:08:00 562s Jul 14 03:08:00 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 562s Jul 14 03:08:00 When I shut down postgres1 # features/steps/basic_replication.py:29 565s Jul 14 03:08:03 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 565s Jul 14 03:08:03 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 566s Jul 14 03:08:04 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 566s Jul 14 03:08:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 566s Jul 14 03:08:04 566s Jul 14 03:08:04 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 566s Jul 14 03:08:04 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 569s Jul 14 03:08:07 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 570s Jul 14 03:08:08 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 570s Jul 14 03:08:08 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 570s Jul 14 03:08:08 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 570s Jul 14 03:08:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 570s Jul 14 03:08:08 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 570s Jul 14 03:08:08 And I sleep for 3 seconds # features/steps/patroni_api.py:39 573s Jul 14 03:08:11 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 573s Jul 14 03:08:11 Then I receive a response code 503 # features/steps/patroni_api.py:98 573s Jul 14 03:08:11 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 573s Jul 14 03:08:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 573s Jul 14 03:08:11 And I receive a response role standby_leader # features/steps/patroni_api.py:98 573s Jul 14 03:08:11 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 573s Jul 14 03:08:11 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 578s Jul 14 03:08:16 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 578s Jul 14 03:08:16 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 578s Jul 14 03:08:16 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 578s Jul 14 03:08:16 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 579s Jul 14 03:08:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 579s Jul 14 03:08:16 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 579s Jul 14 03:08:16 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 579s Jul 14 03:08:16 579s Jul 14 03:08:16 Scenario: check switchover # features/standby_cluster.feature:57 579s Jul 14 03:08:16 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 583s Jul 14 03:08:21 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 583s Jul 14 03:08:21 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 585s Jul 14 03:08:23 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 585s Jul 14 03:08:23 585s Jul 14 03:08:23 Scenario: check failover # features/standby_cluster.feature:63 585s Jul 14 03:08:23 When I kill postgres2 # features/steps/basic_replication.py:34 586s Jul 14 03:08:24 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 586s Jul 14 03:08:24 waiting for server to shut down.... done 586s Jul 14 03:08:24 server stopped 586s Jul 14 03:08:24 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 605s Jul 14 03:08:43 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 605s Jul 14 03:08:43 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 605s Jul 14 03:08:43 Then I receive a response code 503 # features/steps/patroni_api.py:98 605s Jul 14 03:08:43 And I receive a response role standby_leader # features/steps/patroni_api.py:98 605s Jul 14 03:08:43 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 606s Jul 14 03:08:44 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 610s Jul 14 03:08:48 610s Jul 14 03:08:48 Feature: watchdog # features/watchdog.feature:1 610s Jul 14 03:08:48 Verify that watchdog gets pinged and triggered under appropriate circumstances. 610s Jul 14 03:08:48 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 610s Jul 14 03:08:48 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 614s Jul 14 03:08:52 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 614s Jul 14 03:08:52 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 614s Jul 14 03:08:52 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 615s Jul 14 03:08:53 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 615s Jul 14 03:08:53 615s Jul 14 03:08:53 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 615s Jul 14 03:08:53 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 617s Jul 14 03:08:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 617s Jul 14 03:08:55 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 617s Jul 14 03:08:55 When I sleep for 4 seconds # features/steps/patroni_api.py:39 621s Jul 14 03:08:59 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 621s Jul 14 03:08:59 621s Jul 14 03:08:59 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 621s Jul 14 03:08:59 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 624s Jul 14 03:09:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 624s Jul 14 03:09:02 When I sleep for 2 seconds # features/steps/patroni_api.py:39 626s Jul 14 03:09:04 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 626s Jul 14 03:09:04 626s Jul 14 03:09:04 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 626s Jul 14 03:09:04 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 626s Jul 14 03:09:04 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 628s Jul 14 03:09:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 628s Jul 14 03:09:06 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 629s Jul 14 03:09:07 629s Jul 14 03:09:07 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 629s Jul 14 03:09:07 Given I shut down postgres0 # features/steps/basic_replication.py:29 631s Jul 14 03:09:09 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 631s Jul 14 03:09:09 631s Jul 14 03:09:09 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 631s Jul 14 03:09:09 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 631s Jul 14 03:09:09 And I start postgres0 with watchdog # features/steps/watchdog.py:16 634s Jul 14 03:09:12 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 636s Jul 14 03:09:14 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 636s Jul 14 03:09:14 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 663s Jul 14 03:09:41 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4074.XhyTxJXx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4121.XNTsRFFx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4168.XPAOPRQx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4216.XIpGCCSx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4263.XDGQgiLx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4335.XeOBvBqx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4384.XOtBCqMx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4387.XnvlcBlx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4475.XWrLEVvx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4572.XuZvVIgx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4580.XMSQFHGx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4623.XBakJpux 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4678.XFaRWqGx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4824.XKurVrkx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4869.XUVPuXVx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.4924.XqSeKddx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5012.XBuNKKMx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5063.XvXrSHlx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5160.XymQwDfx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5212.XALWeFux 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5275.XemxJhCx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5365.XJZEPqwx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5462.XQMZNqex 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5505.XFphhKFx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5568.XPUBxAlx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5602.XygODWCx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5781.XffkocMx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5830.XiZRySOx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5846.XGmqftex 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5884.XJDNdFux 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5931.XOqmmRrx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5941.XkNWLAxx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.5977.XVNsStWx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6019.XgXKEpzx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6179.XvqMoiqx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6181.XZeciZXx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6187.XrcgtQrx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6321.XAvHZOOx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6366.XHuqWuFx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6414.XxmfeTEx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6467.XfYLWvFx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6520.Xsokrwrx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6718.XJiVcySx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6752.XpIuykWx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6835.XBmjeImx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6905.Xjikiscx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.6975.XkZphOXx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.7322.XiLfDeUx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.7365.XMQLUHhx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.7507.XoNdBcyx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.7570.XWjwvTqx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.7623.XtUNkuLx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.7724.XLTMqrGx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.7840.XRNVnikx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.7974.XHAYiIxx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.8017.XqwGgjtx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.8019.XjjJyZGx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.8022.XQDNvnRx 663s Jul 14 03:09:41 Combined data file .coverage.autopkgtest.8033.XTKKUnjx 666s Jul 14 03:09:44 Name Stmts Miss Cover 666s Jul 14 03:09:44 ------------------------------------------------------------------------------------------------------------- 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1072 596 44% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1225 982 20% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/idna/core.py 293 258 12% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/api.py 770 285 63% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 79 88% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 125 82% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 256 58% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/ha.py 1244 362 71% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 215 74% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 18 86% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/utils.py 350 106 70% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/six.py 504 250 50% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 32 72% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/response.py 562 274 51% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 666s Jul 14 03:09:44 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 666s Jul 14 03:09:44 patroni/__init__.py 13 2 85% 666s Jul 14 03:09:44 patroni/__main__.py 199 199 0% 666s Jul 14 03:09:44 patroni/api.py 770 770 0% 666s Jul 14 03:09:44 patroni/async_executor.py 96 69 28% 666s Jul 14 03:09:44 patroni/collections.py 56 15 73% 666s Jul 14 03:09:44 patroni/config.py 371 196 47% 666s Jul 14 03:09:44 patroni/config_generator.py 212 212 0% 666s Jul 14 03:09:44 patroni/ctl.py 936 411 56% 666s Jul 14 03:09:44 patroni/daemon.py 76 76 0% 666s Jul 14 03:09:44 patroni/dcs/__init__.py 646 269 58% 666s Jul 14 03:09:44 patroni/dcs/consul.py 485 485 0% 666s Jul 14 03:09:44 patroni/dcs/etcd3.py 679 346 49% 666s Jul 14 03:09:44 patroni/dcs/etcd.py 603 277 54% 666s Jul 14 03:09:44 patroni/dcs/exhibitor.py 61 61 0% 666s Jul 14 03:09:44 patroni/dcs/kubernetes.py 938 938 0% 666s Jul 14 03:09:44 patroni/dcs/raft.py 319 319 0% 666s Jul 14 03:09:44 patroni/dcs/zookeeper.py 288 288 0% 666s Jul 14 03:09:44 patroni/dynamic_loader.py 35 7 80% 666s Jul 14 03:09:44 patroni/exceptions.py 16 1 94% 666s Jul 14 03:09:44 patroni/file_perm.py 43 15 65% 666s Jul 14 03:09:44 patroni/global_config.py 81 18 78% 666s Jul 14 03:09:44 patroni/ha.py 1244 1244 0% 666s Jul 14 03:09:44 patroni/log.py 219 173 21% 666s Jul 14 03:09:44 patroni/postgresql/__init__.py 821 651 21% 666s Jul 14 03:09:44 patroni/postgresql/available_parameters/__init__.py 21 1 95% 666s Jul 14 03:09:44 patroni/postgresql/bootstrap.py 252 222 12% 666s Jul 14 03:09:44 patroni/postgresql/callback_executor.py 55 34 38% 666s Jul 14 03:09:44 patroni/postgresql/cancellable.py 104 84 19% 666s Jul 14 03:09:44 patroni/postgresql/config.py 813 698 14% 666s Jul 14 03:09:44 patroni/postgresql/connection.py 75 50 33% 666s Jul 14 03:09:44 patroni/postgresql/misc.py 41 29 29% 666s Jul 14 03:09:44 patroni/postgresql/mpp/__init__.py 89 21 76% 666s Jul 14 03:09:44 patroni/postgresql/mpp/citus.py 259 259 0% 666s Jul 14 03:09:44 patroni/postgresql/postmaster.py 170 139 18% 666s Jul 14 03:09:44 patroni/postgresql/rewind.py 416 416 0% 666s Jul 14 03:09:44 patroni/postgresql/slots.py 334 285 15% 666s Jul 14 03:09:44 patroni/postgresql/sync.py 130 96 26% 666s Jul 14 03:09:44 patroni/postgresql/validator.py 157 52 67% 666s Jul 14 03:09:44 patroni/psycopg.py 42 28 33% 666s Jul 14 03:09:44 patroni/raft_controller.py 22 22 0% 666s Jul 14 03:09:44 patroni/request.py 62 6 90% 666s Jul 14 03:09:44 patroni/scripts/__init__.py 0 0 100% 666s Jul 14 03:09:44 patroni/scripts/aws.py 59 59 0% 666s Jul 14 03:09:44 patroni/scripts/barman/__init__.py 0 0 100% 666s Jul 14 03:09:44 patroni/scripts/barman/cli.py 51 51 0% 666s Jul 14 03:09:44 patroni/scripts/barman/config_switch.py 51 51 0% 666s Jul 14 03:09:44 patroni/scripts/barman/recover.py 37 37 0% 666s Jul 14 03:09:44 patroni/scripts/barman/utils.py 94 94 0% 666s Jul 14 03:09:44 patroni/scripts/wale_restore.py 207 207 0% 666s Jul 14 03:09:44 patroni/tags.py 38 11 71% 666s Jul 14 03:09:44 patroni/utils.py 350 177 49% 666s Jul 14 03:09:44 patroni/validator.py 301 215 29% 666s Jul 14 03:09:44 patroni/version.py 1 0 100% 666s Jul 14 03:09:44 patroni/watchdog/__init__.py 2 2 0% 666s Jul 14 03:09:44 patroni/watchdog/base.py 203 203 0% 666s Jul 14 03:09:44 patroni/watchdog/linux.py 135 135 0% 666s Jul 14 03:09:44 ------------------------------------------------------------------------------------------------------------- 666s Jul 14 03:09:44 TOTAL 53755 32284 40% 666s Jul 14 03:09:44 12 features passed, 0 failed, 1 skipped 666s Jul 14 03:09:44 46 scenarios passed, 0 failed, 14 skipped 666s Jul 14 03:09:44 466 steps passed, 0 failed, 119 skipped, 0 undefined 666s Jul 14 03:09:44 Took 8m3.709s 666s + echo '### End 16 acceptance-etcd3 ###' 666s ### End 16 acceptance-etcd3 ### 666s + rm -f '/tmp/pgpass?' 666s ++ id -u 666s + '[' 1000 -eq 0 ']' 667s autopkgtest [03:09:45]: test acceptance-etcd3: -----------------------] 667s acceptance-etcd3 PASS 667s autopkgtest [03:09:45]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 667s autopkgtest [03:09:45]: test acceptance-etcd-basic: preparing testbed 726s autopkgtest [03:10:44]: testbed dpkg architecture: arm64 726s autopkgtest [03:10:44]: testbed apt version: 2.9.6 726s autopkgtest [03:10:44]: @@@@@@@@@@@@@@@@@@@@ test bed setup 727s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 727s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3284 B] 727s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [46.6 kB] 727s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [377 kB] 727s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 727s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [103 kB] 727s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 727s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 727s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 727s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [429 kB] 727s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 727s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [7596 B] 727s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 730s Fetched 1156 kB in 1s (1362 kB/s) 730s Reading package lists... 732s Reading package lists... 732s Building dependency tree... 732s Reading state information... 733s Calculating upgrade... 733s The following packages will be upgraded: 733s libdw1t64 libelf1t64 python3-pkg-resources ubuntu-pro-client 733s ubuntu-pro-client-l10n 733s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 733s Need to get 756 kB of archives. 733s After this operation, 180 kB of additional disk space will be used. 733s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 libdw1t64 arm64 0.191-2 [262 kB] 733s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libelf1t64 arm64 0.191-2 [58.0 kB] 733s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-pkg-resources all 70.3.0-2 [187 kB] 733s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client-l10n arm64 33.1 [19.2 kB] 733s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client arm64 33.1 [230 kB] 734s Fetched 756 kB in 1s (1355 kB/s) 734s (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 ... 78392 files and directories currently installed.) 734s Preparing to unpack .../libdw1t64_0.191-2_arm64.deb ... 734s Unpacking libdw1t64:arm64 (0.191-2) over (0.191-1) ... 734s Preparing to unpack .../libelf1t64_0.191-2_arm64.deb ... 734s Unpacking libelf1t64:arm64 (0.191-2) over (0.191-1) ... 734s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 734s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 734s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_arm64.deb ... 734s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 734s Preparing to unpack .../ubuntu-pro-client_33.1_arm64.deb ... 734s Unpacking ubuntu-pro-client (33.1) over (33) ... 734s Setting up python3-pkg-resources (70.3.0-2) ... 735s Setting up libelf1t64:arm64 (0.191-2) ... 735s Setting up libdw1t64:arm64 (0.191-2) ... 735s Setting up ubuntu-pro-client (33.1) ... 736s Setting up ubuntu-pro-client-l10n (33.1) ... 736s Processing triggers for man-db (2.12.1-2) ... 737s Processing triggers for libc-bin (2.39-0ubuntu9) ... 737s Reading package lists... 737s Building dependency tree... 737s Reading state information... 738s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 738s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 738s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 738s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 738s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 739s Reading package lists... 739s Reading package lists... 740s Building dependency tree... 740s Reading state information... 740s Calculating upgrade... 740s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 740s Reading package lists... 740s Building dependency tree... 740s Reading state information... 741s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 741s autopkgtest [03:10:59]: rebooting testbed after setup commands that affected boot 745s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 770s Reading package lists... 771s Building dependency tree... 771s Reading state information... 771s Starting pkgProblemResolver with broken count: 0 771s Starting 2 pkgProblemResolver with broken count: 0 771s Done 771s The following additional packages will be installed: 771s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 771s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 771s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 771s patroni-doc postgresql postgresql-16 postgresql-client-16 771s postgresql-client-common postgresql-common python3-behave python3-cdiff 771s python3-click python3-colorama python3-coverage python3-dateutil 771s python3-dnspython python3-etcd python3-parse python3-parse-type 771s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 771s sphinx-rtd-theme-common ssl-cert 771s Suggested packages: 771s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 771s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 771s python3-httpcore etcd python-psycopg2-doc 771s Recommended packages: 771s javascript-common libjson-xs-perl 771s The following NEW packages will be installed: 771s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 771s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 771s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 771s patroni-doc postgresql postgresql-16 postgresql-client-16 771s postgresql-client-common postgresql-common python3-behave python3-cdiff 771s python3-click python3-colorama python3-coverage python3-dateutil 771s python3-dnspython python3-etcd python3-parse python3-parse-type 771s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 771s sphinx-rtd-theme-common ssl-cert 771s 0 upgraded, 38 newly installed, 0 to remove and 0 not upgraded. 771s Need to get 31.7 MB/31.7 MB of archives. 771s After this operation, 111 MB of additional disk space will be used. 771s Get:1 /tmp/autopkgtest.GqLGLU/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 772s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-lato all 2.015-1 [2781 kB] 772s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 772s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-client-common all 261 [36.6 kB] 772s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 772s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-common all 261 [162 kB] 772s Get:7 http://ftpmaster.internal/ubuntu oracular/universe arm64 etcd-server arm64 3.4.30-1build1 [7557 kB] 772s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 772s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libio-pty-perl arm64 1:1.20-1build2 [31.1 kB] 772s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 772s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 772s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 772s Get:13 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-sphinxdoc all 7.3.7-3 [154 kB] 772s Get:14 http://ftpmaster.internal/ubuntu oracular/main arm64 libpq5 arm64 16.3-1 [138 kB] 772s Get:15 http://ftpmaster.internal/ubuntu oracular/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 772s Get:16 http://ftpmaster.internal/ubuntu oracular/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 772s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 772s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 772s Get:19 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 772s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 772s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-click all 8.1.7-1 [79.1 kB] 772s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 772s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 772s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 772s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 772s Get:26 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psycopg2 arm64 2.9.9-1build1 [130 kB] 773s Get:27 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 773s Get:28 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 773s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni all 3.3.1-1 [264 kB] 773s Get:30 http://ftpmaster.internal/ubuntu oracular/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 773s Get:31 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 773s Get:32 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-client-16 arm64 16.3-1 [1261 kB] 773s Get:33 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-16 arm64 16.3-1 [15.3 MB] 773s Get:34 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql all 16+261 [11.7 kB] 773s Get:35 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-parse all 1.19.0-0.2 [18.1 kB] 773s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 773s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 773s Get:38 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 774s Preconfiguring packages ... 774s Fetched 31.7 MB in 2s (18.4 MB/s) 774s Selecting previously unselected package fonts-lato. 774s (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 ... 78404 files and directories currently installed.) 774s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 774s Unpacking fonts-lato (2.015-1) ... 774s Selecting previously unselected package libjson-perl. 774s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 774s Unpacking libjson-perl (4.10000-1) ... 774s Selecting previously unselected package postgresql-client-common. 774s Preparing to unpack .../02-postgresql-client-common_261_all.deb ... 774s Unpacking postgresql-client-common (261) ... 774s Selecting previously unselected package ssl-cert. 774s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 774s Unpacking ssl-cert (1.1.2ubuntu2) ... 774s Selecting previously unselected package postgresql-common. 774s Preparing to unpack .../04-postgresql-common_261_all.deb ... 774s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 774s Unpacking postgresql-common (261) ... 774s Selecting previously unselected package etcd-server. 774s Preparing to unpack .../05-etcd-server_3.4.30-1build1_arm64.deb ... 774s Unpacking etcd-server (3.4.30-1build1) ... 774s Selecting previously unselected package fonts-font-awesome. 774s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 774s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 774s Selecting previously unselected package libio-pty-perl. 774s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1build2_arm64.deb ... 774s Unpacking libio-pty-perl (1:1.20-1build2) ... 774s Selecting previously unselected package libipc-run-perl. 774s Preparing to unpack .../08-libipc-run-perl_20231003.0-2_all.deb ... 774s Unpacking libipc-run-perl (20231003.0-2) ... 774s Selecting previously unselected package libjs-jquery. 774s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 774s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 774s Selecting previously unselected package libjs-underscore. 774s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 774s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 775s Selecting previously unselected package libjs-sphinxdoc. 775s Preparing to unpack .../11-libjs-sphinxdoc_7.3.7-3_all.deb ... 775s Unpacking libjs-sphinxdoc (7.3.7-3) ... 775s Selecting previously unselected package libpq5:arm64. 775s Preparing to unpack .../12-libpq5_16.3-1_arm64.deb ... 775s Unpacking libpq5:arm64 (16.3-1) ... 775s Selecting previously unselected package libtime-duration-perl. 775s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 775s Unpacking libtime-duration-perl (1.21-2) ... 775s Selecting previously unselected package libtimedate-perl. 775s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 775s Unpacking libtimedate-perl (2.3300-2) ... 775s Selecting previously unselected package libxslt1.1:arm64. 775s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 775s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 775s Selecting previously unselected package moreutils. 775s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 775s Unpacking moreutils (0.69-1) ... 775s Selecting previously unselected package python3-cdiff. 775s Preparing to unpack .../17-python3-cdiff_1.0-1.1_all.deb ... 775s Unpacking python3-cdiff (1.0-1.1) ... 775s Selecting previously unselected package python3-colorama. 775s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 775s Unpacking python3-colorama (0.4.6-4) ... 775s Selecting previously unselected package python3-click. 775s Preparing to unpack .../19-python3-click_8.1.7-1_all.deb ... 775s Unpacking python3-click (8.1.7-1) ... 775s Selecting previously unselected package python3-dateutil. 775s Preparing to unpack .../20-python3-dateutil_2.9.0-2_all.deb ... 775s Unpacking python3-dateutil (2.9.0-2) ... 775s Selecting previously unselected package python3-wcwidth. 775s Preparing to unpack .../21-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 775s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 775s Selecting previously unselected package python3-prettytable. 775s Preparing to unpack .../22-python3-prettytable_3.10.1-1_all.deb ... 775s Unpacking python3-prettytable (3.10.1-1) ... 775s Selecting previously unselected package python3-psutil. 775s Preparing to unpack .../23-python3-psutil_5.9.8-2build2_arm64.deb ... 775s Unpacking python3-psutil (5.9.8-2build2) ... 775s Selecting previously unselected package python3-psycopg2. 775s Preparing to unpack .../24-python3-psycopg2_2.9.9-1build1_arm64.deb ... 775s Unpacking python3-psycopg2 (2.9.9-1build1) ... 775s Selecting previously unselected package python3-dnspython. 775s Preparing to unpack .../25-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 775s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 775s Selecting previously unselected package python3-etcd. 775s Preparing to unpack .../26-python3-etcd_0.4.5-4_all.deb ... 775s Unpacking python3-etcd (0.4.5-4) ... 775s Selecting previously unselected package patroni. 775s Preparing to unpack .../27-patroni_3.3.1-1_all.deb ... 775s Unpacking patroni (3.3.1-1) ... 775s Selecting previously unselected package sphinx-rtd-theme-common. 775s Preparing to unpack .../28-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 775s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 775s Selecting previously unselected package patroni-doc. 775s Preparing to unpack .../29-patroni-doc_3.3.1-1_all.deb ... 775s Unpacking patroni-doc (3.3.1-1) ... 775s Selecting previously unselected package postgresql-client-16. 775s Preparing to unpack .../30-postgresql-client-16_16.3-1_arm64.deb ... 775s Unpacking postgresql-client-16 (16.3-1) ... 775s Selecting previously unselected package postgresql-16. 775s Preparing to unpack .../31-postgresql-16_16.3-1_arm64.deb ... 775s Unpacking postgresql-16 (16.3-1) ... 776s Selecting previously unselected package postgresql. 776s Preparing to unpack .../32-postgresql_16+261_all.deb ... 776s Unpacking postgresql (16+261) ... 776s Selecting previously unselected package python3-parse. 776s Preparing to unpack .../33-python3-parse_1.19.0-0.2_all.deb ... 776s Unpacking python3-parse (1.19.0-0.2) ... 776s Selecting previously unselected package python3-parse-type. 776s Preparing to unpack .../34-python3-parse-type_0.6.2-1_all.deb ... 776s Unpacking python3-parse-type (0.6.2-1) ... 776s Selecting previously unselected package python3-behave. 776s Preparing to unpack .../35-python3-behave_1.2.6-5_all.deb ... 776s Unpacking python3-behave (1.2.6-5) ... 776s Selecting previously unselected package python3-coverage. 776s Preparing to unpack .../36-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 776s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 776s Selecting previously unselected package autopkgtest-satdep. 776s Preparing to unpack .../37-2-autopkgtest-satdep.deb ... 776s Unpacking autopkgtest-satdep (0) ... 776s Setting up postgresql-client-common (261) ... 776s Setting up fonts-lato (2.015-1) ... 776s Setting up libio-pty-perl (1:1.20-1build2) ... 776s Setting up python3-colorama (0.4.6-4) ... 776s Setting up python3-cdiff (1.0-1.1) ... 776s Setting up libpq5:arm64 (16.3-1) ... 776s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 776s Setting up python3-click (8.1.7-1) ... 776s Setting up python3-psutil (5.9.8-2build2) ... 777s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 777s Setting up ssl-cert (1.1.2ubuntu2) ... 777s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 778s Setting up python3-psycopg2 (2.9.9-1build1) ... 778s Setting up libipc-run-perl (20231003.0-2) ... 778s Setting up libtime-duration-perl (1.21-2) ... 778s Setting up libtimedate-perl (2.3300-2) ... 778s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 778s Setting up python3-parse (1.19.0-0.2) ... 778s Setting up libjson-perl (4.10000-1) ... 778s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 778s Setting up python3-dateutil (2.9.0-2) ... 778s Setting up etcd-server (3.4.30-1build1) ... 778s info: Selecting UID from range 100 to 999 ... 778s 778s info: Selecting GID from range 100 to 999 ... 778s info: Adding system user `etcd' (UID 107) ... 778s info: Adding new group `etcd' (GID 115) ... 778s info: Adding new user `etcd' (UID 107) with group `etcd' ... 778s info: Creating home directory `/var/lib/etcd/' ... 779s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 779s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 780s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 780s Setting up python3-prettytable (3.10.1-1) ... 780s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 780s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 780s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 780s Setting up moreutils (0.69-1) ... 780s Setting up python3-etcd (0.4.5-4) ... 780s Setting up postgresql-client-16 (16.3-1) ... 781s 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 781s Setting up python3-parse-type (0.6.2-1) ... 781s Setting up postgresql-common (261) ... 781s 781s Creating config file /etc/postgresql-common/createcluster.conf with new version 781s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 781s Removing obsolete dictionary files: 782s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 782s Setting up libjs-sphinxdoc (7.3.7-3) ... 782s Setting up python3-behave (1.2.6-5) ... 782s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 782s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 782s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 782s """Registers a custom type that will be available to "parse" 782s Setting up patroni (3.3.1-1) ... 783s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 783s Setting up postgresql-16 (16.3-1) ... 783s Creating new PostgreSQL cluster 16/main ... 783s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 783s The files belonging to this database system will be owned by user "postgres". 783s This user must also own the server process. 783s 783s The database cluster will be initialized with locale "C.UTF-8". 783s The default database encoding has accordingly been set to "UTF8". 783s The default text search configuration will be set to "english". 783s 783s Data page checksums are disabled. 783s 783s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 783s creating subdirectories ... ok 783s selecting dynamic shared memory implementation ... posix 783s selecting default max_connections ... 100 784s selecting default shared_buffers ... 128MB 784s selecting default time zone ... Etc/UTC 784s creating configuration files ... ok 784s running bootstrap script ... ok 784s performing post-bootstrap initialization ... ok 784s syncing data to disk ... ok 788s Setting up patroni-doc (3.3.1-1) ... 788s Setting up postgresql (16+261) ... 788s Setting up autopkgtest-satdep (0) ... 788s Processing triggers for man-db (2.12.1-2) ... 789s Processing triggers for libc-bin (2.39-0ubuntu9) ... 792s (Reading database ... 81791 files and directories currently installed.) 792s Removing autopkgtest-satdep (0) ... 794s autopkgtest [03:11:52]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 794s autopkgtest [03:11:52]: test acceptance-etcd-basic: [----------------------- 794s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 795s ○ etcd.service - etcd - highly-available key value store 795s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 795s Active: inactive (dead) since Sun 2024-07-14 03:11:53 UTC; 9ms ago 795s Duration: 14.692s 795s Invocation: 9af76a85a71747428faaa380e1631406 795s Docs: https://etcd.io/docs 795s man:etcd 795s Process: 1773 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 795s Main PID: 1773 (code=killed, signal=TERM) 795s 795s Jul 14 03:11:38 autopkgtest etcd[1773]: set the initial cluster version to 3.4 795s Jul 14 03:11:38 autopkgtest etcd[1773]: enabled capabilities for version 3.4 795s Jul 14 03:11:38 autopkgtest systemd[1]: Started etcd.service - etcd - highly-available key value store. 795s Jul 14 03:11:53 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 795s Jul 14 03:11:53 autopkgtest etcd[1773]: received terminated signal, shutting down... 795s Jul 14 03:11:53 autopkgtest etcd[1773]: stopping insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 795s Jul 14 03:11:53 autopkgtest etcd[1773]: stopped insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 795s Jul 14 03:11:53 autopkgtest etcd[1773]: skipped leadership transfer for single voting member cluster 795s Jul 14 03:11:53 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 795s Jul 14 03:11:53 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 795s ++ ls -1r /usr/lib/postgresql/ 795s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 795s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 795s + '[' 16 == 10 -o 16 == 11 ']' 795s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 795s + 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' 797s Jul 14 03:11:55 Feature: basic replication # features/basic_replication.feature:1 797s Jul 14 03:11:55 We should check that the basic bootstrapping, replication and failover works. 797s Jul 14 03:11:55 Scenario: check replication of a single table # features/basic_replication.feature:4 797s Jul 14 03:11:55 Given I start postgres0 # features/steps/basic_replication.py:8 800s Jul 14 03:11:58 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 800s Jul 14 03:11:58 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 800s Jul 14 03:11:58 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 800s Jul 14 03:11:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 800s Jul 14 03:11:58 When I start postgres1 # features/steps/basic_replication.py:8 803s Jul 14 03:12:01 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 806s Jul 14 03:12:04 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 806s Jul 14 03:12:04 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 806s Jul 14 03:12:04 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 807s Jul 14 03:12:05 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 807s Jul 14 03:12:05 807s Jul 14 03:12:05 Scenario: check restart of sync replica # features/basic_replication.feature:17 807s Jul 14 03:12:05 Given I shut down postgres2 # features/steps/basic_replication.py:29 808s Jul 14 03:12:06 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 808s Jul 14 03:12:06 When I start postgres2 # features/steps/basic_replication.py:8 811s Jul 14 03:12:09 And I shut down postgres1 # features/steps/basic_replication.py:29 814s Jul 14 03:12:12 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 815s Jul 14 03:12:13 When I start postgres1 # features/steps/basic_replication.py:8 818s Jul 14 03:12:16 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 819s Jul 14 03:12:17 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 819s Jul 14 03:12:17 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 819s Jul 14 03:12:17 819s Jul 14 03:12:17 Scenario: check stuck sync replica # features/basic_replication.feature:28 819s Jul 14 03:12:17 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 819s Jul 14 03:12:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 819s Jul 14 03:12:17 And I create table on postgres0 # features/steps/basic_replication.py:73 819s Jul 14 03:12:17 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 820s Jul 14 03:12:18 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 820s Jul 14 03:12:18 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 820s Jul 14 03:12:18 And I load data on postgres0 # features/steps/basic_replication.py:84 821s Jul 14 03:12:19 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 824s Jul 14 03:12:22 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 824s Jul 14 03:12:22 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 824s Jul 14 03:12:22 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 824s Jul 14 03:12:22 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 824s Jul 14 03:12:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 824s Jul 14 03:12:22 And I drop table on postgres0 # features/steps/basic_replication.py:73 824s Jul 14 03:12:22 824s Jul 14 03:12:22 Scenario: check multi sync replication # features/basic_replication.feature:44 824s Jul 14 03:12:22 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 824s Jul 14 03:12:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 824s Jul 14 03:12:22 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 828s Jul 14 03:12:26 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 828s Jul 14 03:12:26 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 828s Jul 14 03:12:26 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 828s Jul 14 03:12:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 828s Jul 14 03:12:26 And I shut down postgres1 # features/steps/basic_replication.py:29 831s Jul 14 03:12:29 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 832s Jul 14 03:12:30 When I start postgres1 # features/steps/basic_replication.py:8 835s Jul 14 03:12:33 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 836s Jul 14 03:12:34 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 836s Jul 14 03:12:34 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 836s Jul 14 03:12:34 836s Jul 14 03:12:34 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 836s Jul 14 03:12:34 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 838s Jul 14 03:12:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 838s Jul 14 03:12:36 When I sleep for 2 seconds # features/steps/patroni_api.py:39 840s Jul 14 03:12:38 And I shut down postgres0 # features/steps/basic_replication.py:29 841s Jul 14 03:12:39 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 843s Jul 14 03:12:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 843s Jul 14 03:12:41 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 863s Jul 14 03:13:01 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 865s Jul 14 03:13:03 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 865s Jul 14 03:13:03 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 865s Jul 14 03:13:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 865s Jul 14 03:13:03 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 865s Jul 14 03:13:03 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 867s Jul 14 03:13:05 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 867s Jul 14 03:13:05 867s Jul 14 03:13:05 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 867s Jul 14 03:13:05 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 867s Jul 14 03:13:05 And I start postgres0 # features/steps/basic_replication.py:8 867s Jul 14 03:13:05 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 872s Jul 14 03:13:09 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 872s Jul 14 03:13:10 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 875s Jul 14 03:13:13 875s Jul 14 03:13:13 @reject-duplicate-name 875s Jul 14 03:13:13 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 875s Jul 14 03:13:13 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 877s Jul 14 03:13:15 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 881s Jul 14 03:13:19 881s 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'))") 882s 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'))") 882s 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'))") 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.3985.XFTbfcRx 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.4028.XacaHwBx 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.4067.XdimeqZx 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.4131.XVESKoPx 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.4176.XMAdMyYx 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.4252.XRwBKxnx 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.4299.XPtRSexx 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.4302.XaapEHzx 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.4398.XsUJHHEx 882s Jul 14 03:13:20 Combined data file .coverage.autopkgtest.4494.XOtSUaUx 884s Jul 14 03:13:22 Name Stmts Miss Cover 884s Jul 14 03:13:22 ------------------------------------------------------------------------------------------------------------- 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1072 602 44% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1225 982 20% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/idna/core.py 293 258 12% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/api.py 770 430 44% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 149 77% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/ha.py 1244 612 51% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/log.py 219 71 68% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 239 71% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 91 64% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 251 69% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 174 48% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/utils.py 350 140 60% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/validator.py 301 211 30% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/six.py 504 250 50% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 884s Jul 14 03:13:22 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 884s Jul 14 03:13:22 patroni/__init__.py 13 2 85% 884s Jul 14 03:13:22 patroni/__main__.py 199 199 0% 884s Jul 14 03:13:22 patroni/api.py 770 770 0% 884s Jul 14 03:13:22 patroni/async_executor.py 96 69 28% 884s Jul 14 03:13:22 patroni/collections.py 56 15 73% 884s Jul 14 03:13:22 patroni/config.py 371 196 47% 884s Jul 14 03:13:22 patroni/config_generator.py 212 212 0% 884s Jul 14 03:13:22 patroni/ctl.py 936 663 29% 884s Jul 14 03:13:22 patroni/daemon.py 76 76 0% 884s Jul 14 03:13:22 patroni/dcs/__init__.py 646 308 52% 884s Jul 14 03:13:22 patroni/dcs/consul.py 485 485 0% 884s Jul 14 03:13:22 patroni/dcs/etcd3.py 679 679 0% 884s Jul 14 03:13:22 patroni/dcs/etcd.py 603 232 62% 884s Jul 14 03:13:22 patroni/dcs/exhibitor.py 61 61 0% 884s Jul 14 03:13:22 patroni/dcs/kubernetes.py 938 938 0% 884s Jul 14 03:13:22 patroni/dcs/raft.py 319 319 0% 884s Jul 14 03:13:22 patroni/dcs/zookeeper.py 288 288 0% 884s Jul 14 03:13:22 patroni/dynamic_loader.py 35 7 80% 884s Jul 14 03:13:22 patroni/exceptions.py 16 1 94% 884s Jul 14 03:13:22 patroni/file_perm.py 43 15 65% 884s Jul 14 03:13:22 patroni/global_config.py 81 23 72% 884s Jul 14 03:13:22 patroni/ha.py 1244 1244 0% 884s Jul 14 03:13:22 patroni/log.py 219 173 21% 884s Jul 14 03:13:22 patroni/postgresql/__init__.py 821 651 21% 884s Jul 14 03:13:22 patroni/postgresql/available_parameters/__init__.py 21 3 86% 884s Jul 14 03:13:22 patroni/postgresql/bootstrap.py 252 222 12% 884s Jul 14 03:13:22 patroni/postgresql/callback_executor.py 55 34 38% 884s Jul 14 03:13:22 patroni/postgresql/cancellable.py 104 84 19% 884s Jul 14 03:13:22 patroni/postgresql/config.py 813 698 14% 884s Jul 14 03:13:22 patroni/postgresql/connection.py 75 50 33% 884s Jul 14 03:13:22 patroni/postgresql/misc.py 41 29 29% 884s Jul 14 03:13:22 patroni/postgresql/mpp/__init__.py 89 21 76% 884s Jul 14 03:13:22 patroni/postgresql/mpp/citus.py 259 259 0% 884s Jul 14 03:13:22 patroni/postgresql/postmaster.py 170 139 18% 884s Jul 14 03:13:22 patroni/postgresql/rewind.py 416 416 0% 884s Jul 14 03:13:22 patroni/postgresql/slots.py 334 285 15% 884s Jul 14 03:13:22 patroni/postgresql/sync.py 130 96 26% 884s Jul 14 03:13:22 patroni/postgresql/validator.py 157 52 67% 884s Jul 14 03:13:22 patroni/psycopg.py 42 28 33% 884s Jul 14 03:13:22 patroni/raft_controller.py 22 22 0% 884s Jul 14 03:13:22 patroni/request.py 62 6 90% 884s Jul 14 03:13:22 patroni/scripts/__init__.py 0 0 100% 884s Jul 14 03:13:22 patroni/scripts/aws.py 59 59 0% 884s Jul 14 03:13:22 patroni/scripts/barman/__init__.py 0 0 100% 884s Jul 14 03:13:22 patroni/scripts/barman/cli.py 51 51 0% 884s Jul 14 03:13:22 patroni/scripts/barman/config_switch.py 51 51 0% 884s Jul 14 03:13:22 patroni/scripts/barman/recover.py 37 37 0% 884s Jul 14 03:13:22 patroni/scripts/barman/utils.py 94 94 0% 884s Jul 14 03:13:22 patroni/scripts/wale_restore.py 207 207 0% 884s Jul 14 03:13:22 patroni/tags.py 38 15 61% 884s Jul 14 03:13:22 patroni/utils.py 350 246 30% 884s Jul 14 03:13:22 patroni/validator.py 301 215 29% 884s Jul 14 03:13:22 patroni/version.py 1 0 100% 884s Jul 14 03:13:22 patroni/watchdog/__init__.py 2 2 0% 884s Jul 14 03:13:22 patroni/watchdog/base.py 203 203 0% 884s Jul 14 03:13:22 patroni/watchdog/linux.py 135 135 0% 884s Jul 14 03:13:22 ------------------------------------------------------------------------------------------------------------- 884s Jul 14 03:13:22 TOTAL 53076 33850 36% 884s Jul 14 03:13:22 1 feature passed, 0 failed, 0 skipped 884s Jul 14 03:13:22 7 scenarios passed, 0 failed, 0 skipped 884s Jul 14 03:13:22 68 steps passed, 0 failed, 0 skipped, 0 undefined 884s Jul 14 03:13:22 Took 1m19.620s 885s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 885s + rm -f '/tmp/pgpass?' 885s ++ id -u 885s ### End 16 acceptance-etcd features/basic_replication.feature ### 885s + '[' 0 -eq 0 ']' 885s + '[' -x /etc/init.d/zookeeper ']' 885s autopkgtest [03:13:23]: test acceptance-etcd-basic: -----------------------] 885s autopkgtest [03:13:23]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 885s acceptance-etcd-basic PASS 886s autopkgtest [03:13:24]: test acceptance-etcd: preparing testbed 887s Reading package lists... 887s Building dependency tree... 887s Reading state information... 887s Starting pkgProblemResolver with broken count: 0 888s Starting 2 pkgProblemResolver with broken count: 0 888s Done 888s The following NEW packages will be installed: 888s autopkgtest-satdep 888s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 888s Need to get 0 B/768 B of archives. 888s After this operation, 0 B of additional disk space will be used. 888s Get:1 /tmp/autopkgtest.GqLGLU/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 888s Selecting previously unselected package autopkgtest-satdep. 888s (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 ... 81791 files and directories currently installed.) 888s Preparing to unpack .../3-autopkgtest-satdep.deb ... 888s Unpacking autopkgtest-satdep (0) ... 889s Setting up autopkgtest-satdep (0) ... 891s (Reading database ... 81791 files and directories currently installed.) 891s Removing autopkgtest-satdep (0) ... 892s autopkgtest [03:13:30]: test acceptance-etcd: debian/tests/acceptance etcd 892s autopkgtest [03:13:30]: test acceptance-etcd: [----------------------- 892s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 892s ○ etcd.service - etcd - highly-available key value store 892s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 892s Active: inactive (dead) since Sun 2024-07-14 03:11:53 UTC; 1min 37s ago 892s Duration: 14.692s 892s Invocation: 9af76a85a71747428faaa380e1631406 892s Docs: https://etcd.io/docs 892s man:etcd 892s Process: 1773 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 892s Main PID: 1773 (code=killed, signal=TERM) 892s 892s Jul 14 03:11:38 autopkgtest etcd[1773]: set the initial cluster version to 3.4 892s Jul 14 03:11:38 autopkgtest etcd[1773]: enabled capabilities for version 3.4 892s Jul 14 03:11:38 autopkgtest systemd[1]: Started etcd.service - etcd - highly-available key value store. 892s Jul 14 03:11:53 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 892s Jul 14 03:11:53 autopkgtest etcd[1773]: received terminated signal, shutting down... 892s Jul 14 03:11:53 autopkgtest etcd[1773]: stopping insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 892s Jul 14 03:11:53 autopkgtest etcd[1773]: stopped insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 892s Jul 14 03:11:53 autopkgtest etcd[1773]: skipped leadership transfer for single voting member cluster 892s Jul 14 03:11:53 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 892s Jul 14 03:11:53 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 892s ++ ls -1r /usr/lib/postgresql/ 892s ### PostgreSQL 16 acceptance-etcd ### 892s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 892s + '[' 16 == 10 -o 16 == 11 ']' 892s + echo '### PostgreSQL 16 acceptance-etcd ###' 892s + 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' 895s Jul 14 03:13:32 Feature: basic replication # features/basic_replication.feature:1 895s Jul 14 03:13:32 We should check that the basic bootstrapping, replication and failover works. 895s Jul 14 03:13:32 Scenario: check replication of a single table # features/basic_replication.feature:4 895s Jul 14 03:13:32 Given I start postgres0 # features/steps/basic_replication.py:8 898s Jul 14 03:13:36 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 898s Jul 14 03:13:36 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 898s Jul 14 03:13:36 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 898s Jul 14 03:13:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 898s Jul 14 03:13:36 When I start postgres1 # features/steps/basic_replication.py:8 901s Jul 14 03:13:39 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 904s Jul 14 03:13:42 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 904s Jul 14 03:13:42 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 904s Jul 14 03:13:42 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 905s Jul 14 03:13:43 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 905s Jul 14 03:13:43 905s Jul 14 03:13:43 Scenario: check restart of sync replica # features/basic_replication.feature:17 905s Jul 14 03:13:43 Given I shut down postgres2 # features/steps/basic_replication.py:29 906s Jul 14 03:13:44 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 906s Jul 14 03:13:44 When I start postgres2 # features/steps/basic_replication.py:8 909s Jul 14 03:13:47 And I shut down postgres1 # features/steps/basic_replication.py:29 912s Jul 14 03:13:50 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 913s Jul 14 03:13:51 When I start postgres1 # features/steps/basic_replication.py:8 916s Jul 14 03:13:54 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 917s Jul 14 03:13:55 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 917s Jul 14 03:13:55 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 917s Jul 14 03:13:55 917s Jul 14 03:13:55 Scenario: check stuck sync replica # features/basic_replication.feature:28 917s Jul 14 03:13:55 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 917s Jul 14 03:13:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 917s Jul 14 03:13:55 And I create table on postgres0 # features/steps/basic_replication.py:73 917s Jul 14 03:13:55 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 918s Jul 14 03:13:56 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 918s Jul 14 03:13:56 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 918s Jul 14 03:13:56 And I load data on postgres0 # features/steps/basic_replication.py:84 918s Jul 14 03:13:56 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 921s Jul 14 03:13:59 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 921s Jul 14 03:13:59 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 923s Jul 14 03:14:00 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 923s Jul 14 03:14:01 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 923s Jul 14 03:14:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 923s Jul 14 03:14:01 And I drop table on postgres0 # features/steps/basic_replication.py:73 923s Jul 14 03:14:01 923s Jul 14 03:14:01 Scenario: check multi sync replication # features/basic_replication.feature:44 923s Jul 14 03:14:01 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 923s Jul 14 03:14:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 923s Jul 14 03:14:01 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 927s Jul 14 03:14:05 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 927s Jul 14 03:14:05 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 927s Jul 14 03:14:05 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 927s Jul 14 03:14:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 927s Jul 14 03:14:05 And I shut down postgres1 # features/steps/basic_replication.py:29 930s Jul 14 03:14:08 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 931s Jul 14 03:14:09 When I start postgres1 # features/steps/basic_replication.py:8 934s Jul 14 03:14:12 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 935s Jul 14 03:14:13 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 935s Jul 14 03:14:13 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 935s Jul 14 03:14:13 935s Jul 14 03:14:13 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 935s Jul 14 03:14:13 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 937s Jul 14 03:14:15 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 937s Jul 14 03:14:15 When I sleep for 2 seconds # features/steps/patroni_api.py:39 939s Jul 14 03:14:17 And I shut down postgres0 # features/steps/basic_replication.py:29 940s Jul 14 03:14:18 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 942s Jul 14 03:14:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 942s Jul 14 03:14:20 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 961s Jul 14 03:14:39 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 964s Jul 14 03:14:42 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 964s Jul 14 03:14:42 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 964s Jul 14 03:14:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 964s Jul 14 03:14:42 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 964s Jul 14 03:14:42 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 966s Jul 14 03:14:44 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 966s Jul 14 03:14:44 966s Jul 14 03:14:44 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 966s Jul 14 03:14:44 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 966s Jul 14 03:14:44 And I start postgres0 # features/steps/basic_replication.py:8 966s Jul 14 03:14:44 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 970s Jul 14 03:14:48 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 970s Jul 14 03:14:48 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 973s Jul 14 03:14:51 973s Jul 14 03:14:51 @reject-duplicate-name 973s Jul 14 03:14:51 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 973s Jul 14 03:14:51 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 975s Jul 14 03:14:53 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 979s Jul 14 03:14:57 979s Jul 14 03:14:57 Feature: cascading replication # features/cascading_replication.feature:1 979s Jul 14 03:14:57 We should check that patroni can do base backup and streaming from the replica 979s Jul 14 03:14:57 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 979s Jul 14 03:14:57 Given I start postgres0 # features/steps/basic_replication.py:8 984s Jul 14 03:15:02 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 984s Jul 14 03:15:02 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 987s Jul 14 03:15:05 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 988s Jul 14 03:15:06 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 988s Jul 14 03:15:06 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 988s Jul 14 03:15:06 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 988s Jul 14 03:15:06 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 991s Jul 14 03:15:09 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 992s Jul 14 03:15:10 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 998s Jul 14 03:15:16 998s SKIP FEATURE citus: Citus extenstion isn't available 998s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 998s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 998s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 998s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 998s 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 998s Jul 14 03:15:16 Feature: citus # features/citus.feature:1 998s Jul 14 03:15:16 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 998s Jul 14 03:15:16 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 998s Jul 14 03:15:16 Given I start postgres0 in citus group 0 # None 998s Jul 14 03:15:16 And I start postgres2 in citus group 1 # None 998s Jul 14 03:15:16 Then postgres0 is a leader in a group 0 after 10 seconds # None 998s Jul 14 03:15:16 And postgres2 is a leader in a group 1 after 10 seconds # None 998s Jul 14 03:15:16 When I start postgres1 in citus group 0 # None 998s Jul 14 03:15:16 And I start postgres3 in citus group 1 # None 998s Jul 14 03:15:16 Then replication works from postgres0 to postgres1 after 15 seconds # None 998s Jul 14 03:15:16 Then replication works from postgres2 to postgres3 after 15 seconds # None 998s Jul 14 03:15:16 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 998s Jul 14 03:15:16 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 998s Jul 14 03:15:16 998s Jul 14 03:15:16 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 998s Jul 14 03:15:16 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 998s Jul 14 03:15:16 Then postgres1 role is the primary after 10 seconds # None 998s Jul 14 03:15:16 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 998s Jul 14 03:15:16 And replication works from postgres1 to postgres0 after 15 seconds # None 998s Jul 14 03:15:16 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 998s Jul 14 03:15:16 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 998s Jul 14 03:15:16 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 998s Jul 14 03:15:16 Then postgres0 role is the primary after 10 seconds # None 998s Jul 14 03:15:16 And replication works from postgres0 to postgres1 after 15 seconds # None 998s Jul 14 03:15:16 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 998s Jul 14 03:15:16 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 998s Jul 14 03:15:16 998s Jul 14 03:15:16 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 998s Jul 14 03:15:16 Given I create a distributed table on postgres0 # None 998s Jul 14 03:15:16 And I start a thread inserting data on postgres0 # None 998s Jul 14 03:15:16 When I run patronictl.py switchover batman --group 1 --force # None 998s Jul 14 03:15:16 Then I receive a response returncode 0 # None 998s Jul 14 03:15:16 And postgres3 role is the primary after 10 seconds # None 998s Jul 14 03:15:16 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 998s Jul 14 03:15:16 And replication works from postgres3 to postgres2 after 15 seconds # None 998s Jul 14 03:15:16 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 998s Jul 14 03:15:16 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 998s Jul 14 03:15:16 And a thread is still alive # None 998s Jul 14 03:15:16 When I run patronictl.py switchover batman --group 1 --force # None 998s Jul 14 03:15:16 Then I receive a response returncode 0 # None 998s Jul 14 03:15:16 And postgres2 role is the primary after 10 seconds # None 998s Jul 14 03:15:16 And replication works from postgres2 to postgres3 after 15 seconds # None 998s Jul 14 03:15:16 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 998s Jul 14 03:15:16 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 998s Jul 14 03:15:16 And a thread is still alive # None 998s Jul 14 03:15:16 When I stop a thread # None 998s Jul 14 03:15:16 Then a distributed table on postgres0 has expected rows # None 998s Jul 14 03:15:16 998s Jul 14 03:15:16 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 998s Jul 14 03:15:16 Given I cleanup a distributed table on postgres0 # None 998s Jul 14 03:15:16 And I start a thread inserting data on postgres0 # None 998s Jul 14 03:15:16 When I run patronictl.py restart batman postgres2 --group 1 --force # None 998s Jul 14 03:15:16 Then I receive a response returncode 0 # None 998s Jul 14 03:15:16 And postgres2 role is the primary after 10 seconds # None 998s Jul 14 03:15:16 And replication works from postgres2 to postgres3 after 15 seconds # None 998s Jul 14 03:15:16 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 998s Jul 14 03:15:16 And a thread is still alive # None 998s Jul 14 03:15:16 When I stop a thread # None 998s Jul 14 03:15:16 Then a distributed table on postgres0 has expected rows # None 998s Jul 14 03:15:16 998s Jul 14 03:15:16 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 998s Jul 14 03:15:16 Given I start postgres4 in citus group 2 # None 998s Jul 14 03:15:16 Then postgres4 is a leader in a group 2 after 10 seconds # None 998s Jul 14 03:15:16 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 998s Jul 14 03:15:16 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 998s Jul 14 03:15:16 Then I receive a response returncode 0 # None 998s Jul 14 03:15:16 And I receive a response output "+ttl: 20" # None 998s Jul 14 03:15:16 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 998s Jul 14 03:15:16 When I shut down postgres4 # None 998s Jul 14 03:15:16 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 998s Jul 14 03:15:16 When I run patronictl.py restart batman postgres2 --group 1 --force # None 998s Jul 14 03:15:16 Then a transaction finishes in 20 seconds # None 998s Jul 14 03:15:16 998s Jul 14 03:15:16 Feature: custom bootstrap # features/custom_bootstrap.feature:1 998s Jul 14 03:15:16 We should check that patroni can bootstrap a new cluster from a backup 998s Jul 14 03:15:16 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 998s Jul 14 03:15:16 Given I start postgres0 # features/steps/basic_replication.py:8 1001s Jul 14 03:15:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1001s Jul 14 03:15:19 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1001s Jul 14 03:15:19 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1005s Jul 14 03:15:23 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1006s Jul 14 03:15:24 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1006s Jul 14 03:15:24 1006s Jul 14 03:15:24 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1006s Jul 14 03:15:24 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1006s Jul 14 03:15:24 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1006s Jul 14 03:15:24 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1010s Jul 14 03:15:28 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1010s Jul 14 03:15:28 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1016s Jul 14 03:15:34 1016s Jul 14 03:15:34 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1016s Jul 14 03:15:34 We should check the basic dcs failsafe mode functioning 1016s Jul 14 03:15:34 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1016s Jul 14 03:15:34 Given I start postgres0 # features/steps/basic_replication.py:8 1020s Jul 14 03:15:37 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1020s Jul 14 03:15:37 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1020s Jul 14 03:15:37 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 1020s Jul 14 03:15:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1020s Jul 14 03:15:38 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1020s Jul 14 03:15:38 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1020s Jul 14 03:15:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1020s Jul 14 03:15:38 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1020s Jul 14 03:15:38 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres0":null}} # features/steps/patroni_api.py:71 1020s Jul 14 03:15:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1020s Jul 14 03:15:38 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 1020s Jul 14 03:15:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1020s Jul 14 03:15:38 1020s Jul 14 03:15:38 @dcs-failsafe 1020s Jul 14 03:15:38 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1020s Jul 14 03:15:38 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1020s Jul 14 03:15:38 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 1026s Jul 14 03:15:44 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1026s Jul 14 03:15:44 1026s Jul 14 03:15:44 @dcs-failsafe 1026s Jul 14 03:15:44 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1026s Jul 14 03:15:44 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1026s Jul 14 03:15:44 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1027s Jul 14 03:15:44 And I shut down postgres0 # features/steps/basic_replication.py:29 1029s Jul 14 03:15:46 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1032s Jul 14 03:15:50 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1032s Jul 14 03:15:50 1032s Jul 14 03:15:50 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1032s Jul 14 03:15:50 Given I start postgres0 # features/steps/basic_replication.py:8 1035s Jul 14 03:15:53 And I start postgres1 # features/steps/basic_replication.py:8 1035s Jul 14 03:15:53 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1036s Jul 14 03:15:54 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1036s Jul 14 03:15:54 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1037s Jul 14 03:15:55 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1037s Jul 14 03:15:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1037s Jul 14 03:15:55 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1037s Jul 14 03:15:55 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1037s Jul 14 03:15:55 1037s Jul 14 03:15:55 @dcs-failsafe @slot-advance 1037s Jul 14 03:15:55 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1037s Jul 14 03:15:55 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1037s Jul 14 03:15:55 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1039s Jul 14 03:15:57 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1042s Jul 14 03:16:00 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1042s Jul 14 03:16:00 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 1047s Jul 14 03:16:05 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1047s Jul 14 03:16:05 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1047s Jul 14 03:16:05 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 1047s Jul 14 03:16:05 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1047s Jul 14 03:16:05 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1047s Jul 14 03:16:05 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1051s Jul 14 03:16:09 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1051s Jul 14 03:16:09 1051s Jul 14 03:16:09 @dcs-failsafe 1051s Jul 14 03:16:09 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1051s Jul 14 03:16:09 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1051s Jul 14 03:16:09 And I kill postgres1 # features/steps/basic_replication.py:34 1052s Jul 14 03:16:10 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1052s Jul 14 03:16:10 waiting for server to shut down.... done 1052s Jul 14 03:16:10 server stopped 1052s Jul 14 03:16:10 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1054s Jul 14 03:16:12 1054s Jul 14 03:16:12 @dcs-failsafe 1054s Jul 14 03:16:12 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1054s Jul 14 03:16:12 Given I kill postgres0 # features/steps/basic_replication.py:34 1055s Jul 14 03:16:13 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1055s Jul 14 03:16:13 waiting for server to shut down.... done 1055s Jul 14 03:16:13 server stopped 1055s Jul 14 03:16:13 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1055s Jul 14 03:16:13 When I start postgres1 # features/steps/basic_replication.py:8 1058s Jul 14 03:16:16 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1059s Jul 14 03:16:17 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1061s Jul 14 03:16:19 1061s Jul 14 03:16:19 @dcs-failsafe 1061s Jul 14 03:16:19 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1061s Jul 14 03:16:19 Given I start postgres0 # features/steps/basic_replication.py:8 1065s Jul 14 03:16:23 And I start postgres2 # features/steps/basic_replication.py:8 1068s Jul 14 03:16:26 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1069s Jul 14 03:16:27 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1069s Jul 14 03:16:27 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1069s Jul 14 03:16:27 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1071s Jul 14 03:16:29 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1072s Jul 14 03:16:30 1072s Jul 14 03:16:30 @dcs-failsafe @slot-advance 1072s Jul 14 03:16:30 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1072s Jul 14 03:16:30 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 1072s Jul 14 03:16:30 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1078s Jul 14 03:16:36 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1079s Jul 14 03:16:37 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1079s Jul 14 03:16:37 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1080s Jul 14 03:16:38 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1080s Jul 14 03:16:38 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1080s Jul 14 03:16:38 1080s Jul 14 03:16:38 @dcs-failsafe 1080s Jul 14 03:16:38 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1080s Jul 14 03:16:38 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1080s Jul 14 03:16:38 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 1087s Jul 14 03:16:45 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1087s Jul 14 03:16:45 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1087s Jul 14 03:16:45 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1087s Jul 14 03:16:45 1087s Jul 14 03:16:45 @dcs-failsafe @slot-advance 1087s Jul 14 03:16:45 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1087s Jul 14 03:16:45 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1087s Jul 14 03:16:45 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1088s Jul 14 03:16:46 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1088s Jul 14 03:16:46 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1088s Jul 14 03:16:46 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1089s Jul 14 03:16:47 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1089s Jul 14 03:16:47 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1089s Jul 14 03:16:47 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1089s Jul 14 03:16:47 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1093s Jul 14 03:16:51 1093s Jul 14 03:16:51 Feature: ignored slots # features/ignored_slots.feature:1 1093s Jul 14 03:16:51 1093s Jul 14 03:16:51 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1093s Jul 14 03:16:51 Given I start postgres1 # features/steps/basic_replication.py:8 1096s Jul 14 03:16:54 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1096s Jul 14 03:16:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1096s Jul 14 03:16:54 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 1097s Jul 14 03:16:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1097s Jul 14 03:16:55 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1097s Jul 14 03:16:55 When I shut down postgres1 # features/steps/basic_replication.py:29 1099s Jul 14 03:16:57 And I start postgres1 # features/steps/basic_replication.py:8 1102s Jul 14 03:17:00 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1103s Jul 14 03:17:01 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1104s Jul 14 03:17:02 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1104s Jul 14 03:17:02 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1104s Jul 14 03:17:02 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1104s Jul 14 03:17:02 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1104s Jul 14 03:17:02 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1104s Jul 14 03:17:02 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1104s Jul 14 03:17: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 1104s Jul 14 03:17: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 1104s Jul 14 03:17: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 1104s Jul 14 03:17: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 1104s Jul 14 03:17:02 When I start postgres0 # features/steps/basic_replication.py:8 1107s Jul 14 03:17:05 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1108s Jul 14 03:17:06 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1108s Jul 14 03:17:06 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1109s Jul 14 03:17:07 When I shut down postgres1 # features/steps/basic_replication.py:29 1111s Jul 14 03:17:09 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1112s Jul 14 03:17:10 When I start postgres1 # features/steps/basic_replication.py:8 1115s Jul 14 03:17:13 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1115s Jul 14 03:17:13 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1116s Jul 14 03:17:14 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1118s Jul 14 03:17: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 1118s Jul 14 03:17: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 1118s Jul 14 03:17: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 1118s Jul 14 03:17: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 1118s Jul 14 03:17:16 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1118s Jul 14 03:17:16 When I shut down postgres0 # features/steps/basic_replication.py:29 1120s Jul 14 03:17:18 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1121s Jul 14 03:17: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 1121s Jul 14 03:17: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 1121s Jul 14 03:17: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 1121s Jul 14 03:17: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 1123s Jul 14 03:17:21 1123s Jul 14 03:17:21 Feature: nostream node # features/nostream_node.feature:1 1123s Jul 14 03:17:21 1123s Jul 14 03:17:21 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1123s Jul 14 03:17:21 When I start postgres0 # features/steps/basic_replication.py:8 1126s Jul 14 03:17:24 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1129s Jul 14 03:17:27 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1130s Jul 14 03:17:28 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1135s Jul 14 03:17:33 1135s Jul 14 03:17:33 @slot-advance 1135s Jul 14 03:17:33 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1135s Jul 14 03:17:33 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 1135s Jul 14 03:17:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1135s Jul 14 03:17:33 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1137s Jul 14 03:17:35 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1138s Jul 14 03:17:36 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1141s Jul 14 03:17:39 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1142s Jul 14 03:17:40 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1142s Jul 14 03:17:40 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1148s Jul 14 03:17:46 1148s Jul 14 03:17:46 Feature: patroni api # features/patroni_api.feature:1 1148s Jul 14 03:17:46 We should check that patroni correctly responds to valid and not-valid API requests. 1148s Jul 14 03:17:46 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1148s Jul 14 03:17:46 Given I start postgres0 # features/steps/basic_replication.py:8 1151s Jul 14 03:17:49 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1151s Jul 14 03:17:49 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1151s Jul 14 03:17:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 1151s Jul 14 03:17:49 And I receive a response state running # features/steps/patroni_api.py:98 1151s Jul 14 03:17:49 And I receive a response role master # features/steps/patroni_api.py:98 1151s Jul 14 03:17:49 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1151s Jul 14 03:17:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 1151s Jul 14 03:17:49 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1151s Jul 14 03:17:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 1151s Jul 14 03:17:49 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1151s Jul 14 03:17:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 1151s Jul 14 03:17:49 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1151s Jul 14 03:17:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 1151s Jul 14 03:17:49 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1151s Jul 14 03:17:49 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1153s Jul 14 03:17:51 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1153s Jul 14 03:17:51 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1153s Jul 14 03:17:51 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1153s Jul 14 03:17:51 Then I receive a response code 412 # features/steps/patroni_api.py:98 1153s Jul 14 03:17:51 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1153s Jul 14 03:17:51 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1153s Jul 14 03:17:51 Then I receive a response code 400 # features/steps/patroni_api.py:98 1153s Jul 14 03:17:51 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1153s Jul 14 03:17:51 Then I receive a response code 400 # features/steps/patroni_api.py:98 1153s Jul 14 03:17:51 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1153s Jul 14 03:17:51 1153s Jul 14 03:17:51 Scenario: check local configuration reload # features/patroni_api.feature:32 1153s Jul 14 03:17:51 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1153s Jul 14 03:17:51 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1153s Jul 14 03:17:51 Then I receive a response code 202 # features/steps/patroni_api.py:98 1153s Jul 14 03:17:51 1153s Jul 14 03:17:51 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1153s Jul 14 03:17:51 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 1153s Jul 14 03:17:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1153s Jul 14 03:17:51 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1155s Jul 14 03:17:53 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1155s Jul 14 03:17:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1155s Jul 14 03:17:53 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1155s Jul 14 03:17:53 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1155s Jul 14 03:17:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1155s Jul 14 03:17:53 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1155s Jul 14 03:17:53 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1159s Jul 14 03:17:57 1159s Jul 14 03:17:57 Scenario: check the scheduled restart # features/patroni_api.feature:49 1159s Jul 14 03:17:57 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1161s Jul 14 03:17:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1161s Jul 14 03:17:59 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1161s Jul 14 03:17:59 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1161s Jul 14 03:17:59 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 1161s Jul 14 03:17:59 Then I receive a response code 202 # features/steps/patroni_api.py:98 1161s Jul 14 03:17:59 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1169s Jul 14 03:18:07 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1169s Jul 14 03:18:07 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 1169s Jul 14 03:18:07 Then I receive a response code 202 # features/steps/patroni_api.py:98 1169s Jul 14 03:18:07 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 1176s Jul 14 03:18:14 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1177s Jul 14 03:18:15 1177s Jul 14 03:18:15 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1177s Jul 14 03:18:15 Given I start postgres1 # features/steps/basic_replication.py:8 1180s Jul 14 03:18:18 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1181s Jul 14 03:18:19 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1183s Jul 14 03:18:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1183s Jul 14 03:18:21 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1183s Jul 14 03:18:21 waiting for server to shut down.... done 1183s Jul 14 03:18:21 server stopped 1183s Jul 14 03:18:21 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1183s Jul 14 03:18:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 1183s Jul 14 03:18:21 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1184s Jul 14 03:18:22 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1188s Jul 14 03:18:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1188s Jul 14 03:18:26 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1189s Jul 14 03:18:27 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1191s Jul 14 03:18:29 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1191s Jul 14 03:18:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1191s Jul 14 03:18:29 And I receive a response state running # features/steps/patroni_api.py:98 1191s Jul 14 03:18:29 And I receive a response role replica # features/steps/patroni_api.py:98 1191s Jul 14 03:18:29 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1195s Jul 14 03:18:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1195s Jul 14 03:18:33 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1195s Jul 14 03:18:33 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1196s Jul 14 03:18:34 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1196s Jul 14 03:18:34 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1199s Jul 14 03:18:37 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1199s Jul 14 03:18:37 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1199s Jul 14 03:18:37 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1200s Jul 14 03:18:38 1200s Jul 14 03:18:38 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1200s Jul 14 03:18:38 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 1202s Jul 14 03:18:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1202s Jul 14 03:18:40 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1202s Jul 14 03:18:40 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1202s Jul 14 03:18:40 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1207s Jul 14 03:18:45 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1208s Jul 14 03:18:46 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1208s Jul 14 03:18:46 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1208s Jul 14 03:18:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 1208s Jul 14 03:18:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1209s Jul 14 03:18:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1209s Jul 14 03:18:47 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1209s Jul 14 03:18:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1209s Jul 14 03:18:47 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1209s Jul 14 03:18:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 1209s Jul 14 03:18:47 1209s Jul 14 03:18:47 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1209s Jul 14 03:18:47 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1211s Jul 14 03:18:49 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1211s Jul 14 03:18:49 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1211s Jul 14 03:18:49 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1212s Jul 14 03:18:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1212s Jul 14 03:18:50 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1214s Jul 14 03:18:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1214s Jul 14 03:18:52 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1224s Jul 14 03:19:02 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1224s Jul 14 03:19:02 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1227s Jul 14 03:19:05 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1227s Jul 14 03:19:05 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1227s Jul 14 03:19:05 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1227s Jul 14 03:19:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1227s Jul 14 03:19:05 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1227s Jul 14 03:19:05 Then I receive a response code 503 # features/steps/patroni_api.py:98 1227s Jul 14 03:19:05 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1228s Jul 14 03:19:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 1228s Jul 14 03:19:06 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1228s Jul 14 03:19:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 1232s Jul 14 03:19:10 1232s Jul 14 03:19:10 Feature: permanent slots # features/permanent_slots.feature:1 1232s Jul 14 03:19:10 1232s Jul 14 03:19:10 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1232s Jul 14 03:19:10 Given I start postgres0 # features/steps/basic_replication.py:8 1236s Jul 14 03:19:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1236s Jul 14 03:19:14 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1236s Jul 14 03:19:14 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 1236s Jul 14 03:19:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1236s Jul 14 03:19:14 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1236s Jul 14 03:19:14 When I start postgres1 # features/steps/basic_replication.py:8 1239s Jul 14 03:19:17 And I start postgres2 # features/steps/basic_replication.py:8 1242s Jul 14 03:19:20 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1245s Jul 14 03:19:23 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1245s Jul 14 03:19:23 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1245s Jul 14 03:19:23 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1245s Jul 14 03:19:23 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1245s Jul 14 03:19:23 1245s Jul 14 03:19:23 @slot-advance 1245s Jul 14 03:19:23 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1245s Jul 14 03:19:23 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1248s Jul 14 03:19:26 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 1248s Jul 14 03:19:26 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1249s Jul 14 03:19:27 1249s Jul 14 03:19:27 @slot-advance 1249s Jul 14 03:19:27 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1249s Jul 14 03:19:27 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1254s Jul 14 03:19:32 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1254s Jul 14 03:19:32 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1255s Jul 14 03:19:33 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1256s Jul 14 03:19:34 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1256s Jul 14 03:19:34 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1256s Jul 14 03:19:34 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1256s Jul 14 03:19:34 1256s Jul 14 03:19:34 @slot-advance 1256s Jul 14 03:19:34 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1256s Jul 14 03:19:34 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1256s Jul 14 03:19:34 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1256s Jul 14 03:19:34 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1256s Jul 14 03:19:34 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1256s Jul 14 03:19:34 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1256s Jul 14 03:19:34 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1256s Jul 14 03:19:34 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1256s Jul 14 03:19:34 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1256s Jul 14 03:19:34 1256s Jul 14 03:19:34 @slot-advance 1256s Jul 14 03:19:34 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1256s Jul 14 03:19:34 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1256s Jul 14 03:19:34 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1256s Jul 14 03:19:34 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1256s Jul 14 03:19:34 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1258s Jul 14 03:19:36 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1258s Jul 14 03:19:36 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1258s Jul 14 03:19:36 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1258s Jul 14 03:19:36 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1258s Jul 14 03:19:36 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1258s Jul 14 03:19:36 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1258s Jul 14 03:19:36 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1260s Jul 14 03:19:38 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1260s Jul 14 03:19:38 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1260s Jul 14 03:19:38 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1260s Jul 14 03:19:38 1260s Jul 14 03:19:38 @slot-advance 1260s Jul 14 03:19:38 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1260s Jul 14 03:19:38 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1260s Jul 14 03:19:38 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1260s Jul 14 03:19:38 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1260s Jul 14 03:19:38 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1260s Jul 14 03:19:38 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1260s Jul 14 03:19:38 1260s Jul 14 03:19:38 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1260s Jul 14 03:19:38 Given I shut down postgres3 # features/steps/basic_replication.py:29 1261s Jul 14 03:19:39 And I shut down postgres2 # features/steps/basic_replication.py:29 1262s Jul 14 03:19:40 And I shut down postgres0 # features/steps/basic_replication.py:29 1264s Jul 14 03:19:42 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1264s Jul 14 03:19:42 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1264s Jul 14 03:19:42 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1266s Jul 14 03:19:44 1266s Jul 14 03:19:44 Feature: priority replication # features/priority_failover.feature:1 1266s Jul 14 03:19:44 We should check that we can give nodes priority during failover 1266s Jul 14 03:19:44 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1266s Jul 14 03:19:44 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1269s Jul 14 03:19:47 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1272s Jul 14 03:19:50 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1273s Jul 14 03:19:51 When I shut down postgres0 # features/steps/basic_replication.py:29 1275s Jul 14 03:19:53 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1277s Jul 14 03:19:55 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1277s Jul 14 03:19:55 When I start postgres0 # features/steps/basic_replication.py:8 1280s Jul 14 03:19:58 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1281s Jul 14 03:19:59 1281s Jul 14 03:19:59 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1281s Jul 14 03:19:59 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1284s Jul 14 03:20:02 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1287s Jul 14 03:20:05 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1289s Jul 14 03:20:07 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1290s Jul 14 03:20:08 When I shut down postgres0 # features/steps/basic_replication.py:29 1292s Jul 14 03:20:10 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1292s Jul 14 03:20:10 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1292s Jul 14 03:20:10 1292s Jul 14 03:20:10 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1292s Jul 14 03:20:10 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1292s Jul 14 03:20:10 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1292s Jul 14 03:20:10 Then I receive a response code 202 # features/steps/patroni_api.py:98 1292s Jul 14 03:20:10 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1293s Jul 14 03:20:11 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1294s Jul 14 03:20:12 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1294s Jul 14 03:20:12 Then I receive a response code 412 # features/steps/patroni_api.py:98 1294s Jul 14 03:20:12 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1294s Jul 14 03:20:12 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1294s Jul 14 03:20:12 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1294s Jul 14 03:20:12 Then I receive a response code 202 # features/steps/patroni_api.py:98 1294s Jul 14 03:20:12 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1295s Jul 14 03:20:13 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1296s Jul 14 03:20:14 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1298s Jul 14 03:20:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 1298s Jul 14 03:20:16 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1302s Jul 14 03:20:20 1302s Jul 14 03:20:20 Feature: recovery # features/recovery.feature:1 1302s Jul 14 03:20:20 We want to check that crashed postgres is started back 1302s Jul 14 03:20:20 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1302s Jul 14 03:20:20 Given I start postgres0 # features/steps/basic_replication.py:8 1305s Jul 14 03:20:23 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1305s Jul 14 03:20:23 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1305s Jul 14 03:20:23 When I start postgres1 # features/steps/basic_replication.py:8 1308s Jul 14 03:20:26 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1308s Jul 14 03:20:26 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1309s Jul 14 03:20:27 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1309s Jul 14 03:20:27 waiting for server to shut down.... done 1309s Jul 14 03:20:27 server stopped 1309s Jul 14 03:20:27 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1311s Jul 14 03:20:29 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1311s Jul 14 03:20:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1311s Jul 14 03:20:29 And I receive a response role master # features/steps/patroni_api.py:98 1311s Jul 14 03:20:29 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1311s Jul 14 03:20:29 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1312s Jul 14 03:20:30 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1315s Jul 14 03:20:33 1315s Jul 14 03:20:33 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1315s Jul 14 03:20:33 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 1316s Jul 14 03:20:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1316s Jul 14 03:20:33 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1316s Jul 14 03:20:34 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1316s Jul 14 03:20:34 waiting for server to shut down.... done 1316s Jul 14 03:20:34 server stopped 1316s Jul 14 03:20:34 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1318s Jul 14 03:20:36 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1322s Jul 14 03:20:40 1322s Jul 14 03:20:40 Feature: standby cluster # features/standby_cluster.feature:1 1322s Jul 14 03:20:40 1322s Jul 14 03:20:40 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1322s Jul 14 03:20:40 Given I start postgres1 # features/steps/basic_replication.py:8 1325s Jul 14 03:20:43 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1325s Jul 14 03:20:43 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1325s Jul 14 03:20:43 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 1325s Jul 14 03:20:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 1325s Jul 14 03:20:43 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1325s Jul 14 03:20:43 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1328s Jul 14 03:20:46 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 1328s Jul 14 03:20:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1328s Jul 14 03:20:46 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1328s Jul 14 03:20:46 When I start postgres0 # features/steps/basic_replication.py:8 1331s Jul 14 03:20:49 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1332s Jul 14 03:20:50 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1337s Jul 14 03:20:55 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1337s Jul 14 03:20:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1337s Jul 14 03:20:55 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1337s Jul 14 03:20:55 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1338s Jul 14 03:20:56 1338s Jul 14 03:20:56 @slot-advance 1338s Jul 14 03:20:56 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1338s Jul 14 03:20:56 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1341s Jul 14 03:20:59 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1346s Jul 14 03:21:04 1346s Jul 14 03:21:04 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1346s Jul 14 03:21:04 When I shut down postgres1 # features/steps/basic_replication.py:29 1348s Jul 14 03:21:06 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1348s Jul 14 03:21:06 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1349s Jul 14 03:21:07 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1349s Jul 14 03:21:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 1349s Jul 14 03:21:07 1349s Jul 14 03:21:07 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1349s Jul 14 03:21:07 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1352s Jul 14 03:21:10 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1353s Jul 14 03:21:11 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1353s Jul 14 03:21:11 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1353s Jul 14 03:21:11 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1353s Jul 14 03:21:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 1353s Jul 14 03:21:11 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1353s Jul 14 03:21:11 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1356s Jul 14 03:21:14 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1356s Jul 14 03:21:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 1356s Jul 14 03:21:14 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1356s Jul 14 03:21:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1356s Jul 14 03:21:14 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1356s Jul 14 03:21:14 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1356s Jul 14 03:21:14 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1359s Jul 14 03:21:17 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1359s Jul 14 03:21:17 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1360s Jul 14 03:21:18 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1360s Jul 14 03:21:18 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1360s Jul 14 03:21:18 Then I receive a response code 200 # features/steps/patroni_api.py:98 1360s Jul 14 03:21:18 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1360s Jul 14 03:21:18 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1360s Jul 14 03:21:18 1360s Jul 14 03:21:18 Scenario: check switchover # features/standby_cluster.feature:57 1360s Jul 14 03:21:18 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1364s Jul 14 03:21:22 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1364s Jul 14 03:21:22 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1366s Jul 14 03:21:24 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 1366s Jul 14 03:21:24 1366s Jul 14 03:21:24 Scenario: check failover # features/standby_cluster.feature:63 1366s Jul 14 03:21:24 When I kill postgres2 # features/steps/basic_replication.py:34 1367s Jul 14 03:21:25 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1368s Jul 14 03:21:26 waiting for server to shut down.... done 1368s Jul 14 03:21:26 server stopped 1368s Jul 14 03:21:26 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1387s Jul 14 03:21:45 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1387s Jul 14 03:21:45 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1387s Jul 14 03:21:45 Then I receive a response code 503 # features/steps/patroni_api.py:98 1387s Jul 14 03:21:45 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1387s Jul 14 03:21:45 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1388s Jul 14 03:21:46 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 1392s Jul 14 03:21:50 1392s Jul 14 03:21:50 Feature: watchdog # features/watchdog.feature:1 1392s Jul 14 03:21:50 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1392s Jul 14 03:21:50 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1392s Jul 14 03:21:50 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1395s Jul 14 03:21:53 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1395s Jul 14 03:21:53 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1395s Jul 14 03:21:53 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1396s Jul 14 03:21:54 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1396s Jul 14 03:21:54 1396s Jul 14 03:21:54 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1396s Jul 14 03:21:54 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1398s Jul 14 03:21:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1398s Jul 14 03:21:56 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1398s Jul 14 03:21:56 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1402s Jul 14 03:22:00 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1402s Jul 14 03:22:00 1402s Jul 14 03:22:00 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1402s Jul 14 03:22:00 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1404s Jul 14 03:22:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1404s Jul 14 03:22:02 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1406s Jul 14 03:22:04 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1406s Jul 14 03:22:04 1406s Jul 14 03:22:04 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1406s Jul 14 03:22:04 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1406s Jul 14 03:22:04 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1407s Jul 14 03:22:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1407s Jul 14 03:22:05 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1408s Jul 14 03:22:06 1408s Jul 14 03:22:06 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1408s Jul 14 03:22:06 Given I shut down postgres0 # features/steps/basic_replication.py:29 1410s Jul 14 03:22:08 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1410s Jul 14 03:22:08 1410s Jul 14 03:22:08 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1410s Jul 14 03:22:08 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1410s Jul 14 03:22:08 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1413s Jul 14 03:22:11 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1414s Jul 14 03:22:12 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1414s Jul 14 03:22:12 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1438s Jul 14 03:22:36 1439s 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'))") 1439s 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'))") 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.4803.XmPxOiyx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.4846.XfdZYyqx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.4886.XjFAPutx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.4946.XLmHiwyx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.4991.XrBOvRlx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5062.XKrsvdox 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5109.XZmltGIx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5112.XnbiIdGx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5209.XYWCMsLx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5312.XfHfQrzx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5321.XpbXVdlx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5367.XMYfHgMx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5419.XFVSIaOx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5574.XVnWbihx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5618.XyosLinx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5672.XeEhdImx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.5755.XvWYmKNx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6060.XFuhLFrx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6134.XMlOelXx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6196.XaTeRSbx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6429.XNkYeXax 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6480.XcIeSRYx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6544.XuELaHwx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6633.XKEwSdJx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6729.Xdjlehkx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6771.XlgauMbx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6834.XuoitXsx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6867.XYrVwkLx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.6975.XaDBfNDx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7023.XLiRUXsx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7038.XGftHidx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7075.XjjBhOix 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7121.XKkqWaux 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7126.XtPmdMLx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7162.XZvPmIyx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7204.XMCBqDCx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7364.XMyoZCPx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7366.XwEaWMex 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7371.XNaYMdRx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7503.XIhiMVZx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7548.XJPPYsZx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7588.XooxOjax 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7635.XmksYKyx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7680.XAdNaElx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7866.XhDneszx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7908.XrOGLDex 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.7977.XEntQMtx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.8050.XZfiOVux 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.8098.XWqPyKzx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.8429.XzuDFoex 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.8471.XTaiyLhx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.8605.XjrUOePx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.8667.XPsXVqox 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.8743.XKXqOBSx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.8841.XbbHmnnx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.8954.XHhuwVEx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.9081.XODOIDZx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.9125.XQndBbzx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.9127.XHeWzBwx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.9130.XUlzjhCx 1439s Jul 14 03:22:37 Combined data file .coverage.autopkgtest.9141.XSDdmNQx 1441s Jul 14 03:22:39 Name Stmts Miss Cover 1441s Jul 14 03:22:39 ------------------------------------------------------------------------------------------------------------- 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1072 596 44% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1225 982 20% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 81 42% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 58 58% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/utils.py 77 29 62% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/idna/core.py 293 258 12% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/api.py 770 279 64% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 77 88% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/ha.py 1244 319 74% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 34 90% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/utils.py 350 120 66% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/six.py 504 250 50% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1441s Jul 14 03:22:39 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1441s Jul 14 03:22:39 patroni/__init__.py 13 2 85% 1441s Jul 14 03:22:39 patroni/__main__.py 199 199 0% 1441s Jul 14 03:22:39 patroni/api.py 770 770 0% 1441s Jul 14 03:22:39 patroni/async_executor.py 96 69 28% 1441s Jul 14 03:22:39 patroni/collections.py 56 15 73% 1441s Jul 14 03:22:39 patroni/config.py 371 196 47% 1441s Jul 14 03:22:39 patroni/config_generator.py 212 212 0% 1441s Jul 14 03:22:39 patroni/ctl.py 936 411 56% 1441s Jul 14 03:22:39 patroni/daemon.py 76 76 0% 1441s Jul 14 03:22:39 patroni/dcs/__init__.py 646 270 58% 1441s Jul 14 03:22:39 patroni/dcs/consul.py 485 485 0% 1441s Jul 14 03:22:39 patroni/dcs/etcd3.py 679 679 0% 1441s Jul 14 03:22:39 patroni/dcs/etcd.py 603 224 63% 1441s Jul 14 03:22:39 patroni/dcs/exhibitor.py 61 61 0% 1441s Jul 14 03:22:39 patroni/dcs/kubernetes.py 938 938 0% 1441s Jul 14 03:22:39 patroni/dcs/raft.py 319 319 0% 1441s Jul 14 03:22:39 patroni/dcs/zookeeper.py 288 288 0% 1441s Jul 14 03:22:39 patroni/dynamic_loader.py 35 7 80% 1441s Jul 14 03:22:39 patroni/exceptions.py 16 1 94% 1441s Jul 14 03:22:39 patroni/file_perm.py 43 15 65% 1441s Jul 14 03:22:39 patroni/global_config.py 81 18 78% 1441s Jul 14 03:22:39 patroni/ha.py 1244 1244 0% 1441s Jul 14 03:22:39 patroni/log.py 219 173 21% 1441s Jul 14 03:22:39 patroni/postgresql/__init__.py 821 651 21% 1441s Jul 14 03:22:39 patroni/postgresql/available_parameters/__init__.py 21 3 86% 1441s Jul 14 03:22:39 patroni/postgresql/bootstrap.py 252 222 12% 1441s Jul 14 03:22:39 patroni/postgresql/callback_executor.py 55 34 38% 1441s Jul 14 03:22:39 patroni/postgresql/cancellable.py 104 84 19% 1441s Jul 14 03:22:39 patroni/postgresql/config.py 813 698 14% 1441s Jul 14 03:22:39 patroni/postgresql/connection.py 75 50 33% 1441s Jul 14 03:22:39 patroni/postgresql/misc.py 41 29 29% 1441s Jul 14 03:22:39 patroni/postgresql/mpp/__init__.py 89 21 76% 1441s Jul 14 03:22:39 patroni/postgresql/mpp/citus.py 259 259 0% 1441s Jul 14 03:22:39 patroni/postgresql/postmaster.py 170 139 18% 1441s Jul 14 03:22:39 patroni/postgresql/rewind.py 416 416 0% 1441s Jul 14 03:22:39 patroni/postgresql/slots.py 334 285 15% 1441s Jul 14 03:22:39 patroni/postgresql/sync.py 130 96 26% 1441s Jul 14 03:22:39 patroni/postgresql/validator.py 157 52 67% 1441s Jul 14 03:22:39 patroni/psycopg.py 42 28 33% 1441s Jul 14 03:22:39 patroni/raft_controller.py 22 22 0% 1441s Jul 14 03:22:39 patroni/request.py 62 6 90% 1441s Jul 14 03:22:39 patroni/scripts/__init__.py 0 0 100% 1441s Jul 14 03:22:39 patroni/scripts/aws.py 59 59 0% 1441s Jul 14 03:22:39 patroni/scripts/barman/__init__.py 0 0 100% 1441s Jul 14 03:22:39 patroni/scripts/barman/cli.py 51 51 0% 1441s Jul 14 03:22:39 patroni/scripts/barman/config_switch.py 51 51 0% 1441s Jul 14 03:22:39 patroni/scripts/barman/recover.py 37 37 0% 1441s Jul 14 03:22:39 patroni/scripts/barman/utils.py 94 94 0% 1441s Jul 14 03:22:39 patroni/scripts/wale_restore.py 207 207 0% 1441s Jul 14 03:22:39 patroni/tags.py 38 11 71% 1441s Jul 14 03:22:39 patroni/utils.py 350 196 44% 1441s Jul 14 03:22:39 patroni/validator.py 301 215 29% 1441s Jul 14 03:22:39 patroni/version.py 1 0 100% 1441s Jul 14 03:22:39 patroni/watchdog/__init__.py 2 2 0% 1441s Jul 14 03:22:39 patroni/watchdog/base.py 203 203 0% 1441s Jul 14 03:22:39 patroni/watchdog/linux.py 135 135 0% 1441s Jul 14 03:22:39 ------------------------------------------------------------------------------------------------------------- 1441s Jul 14 03:22:39 TOTAL 53076 32181 39% 1441s Jul 14 03:22:39 12 features passed, 0 failed, 1 skipped 1441s Jul 14 03:22:39 55 scenarios passed, 0 failed, 5 skipped 1441s Jul 14 03:22:39 524 steps passed, 0 failed, 61 skipped, 0 undefined 1441s Jul 14 03:22:39 Took 8m15.168s 1441s ### End 16 acceptance-etcd ### 1441s + echo '### End 16 acceptance-etcd ###' 1441s + rm -f '/tmp/pgpass?' 1441s ++ id -u 1441s + '[' 0 -eq 0 ']' 1441s + '[' -x /etc/init.d/zookeeper ']' 1442s autopkgtest [03:22:40]: test acceptance-etcd: -----------------------] 1442s autopkgtest [03:22:40]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1442s acceptance-etcd PASS 1443s autopkgtest [03:22:41]: test acceptance-zookeeper: preparing testbed 1507s autopkgtest [03:23:45]: testbed dpkg architecture: arm64 1507s autopkgtest [03:23:45]: testbed apt version: 2.9.6 1507s autopkgtest [03:23:45]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1507s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 1508s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 1508s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3284 B] 1508s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [46.6 kB] 1508s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [377 kB] 1508s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [103 kB] 1508s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 1508s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 1508s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 1508s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [429 kB] 1508s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 1508s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [7596 B] 1508s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 1511s Fetched 1156 kB in 1s (1261 kB/s) 1511s Reading package lists... 1514s Reading package lists... 1515s Building dependency tree... 1515s Reading state information... 1515s Calculating upgrade... 1516s The following packages will be upgraded: 1516s libdw1t64 libelf1t64 python3-pkg-resources ubuntu-pro-client 1516s ubuntu-pro-client-l10n 1516s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1516s Need to get 756 kB of archives. 1516s After this operation, 180 kB of additional disk space will be used. 1516s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 libdw1t64 arm64 0.191-2 [262 kB] 1517s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libelf1t64 arm64 0.191-2 [58.0 kB] 1517s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-pkg-resources all 70.3.0-2 [187 kB] 1517s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client-l10n arm64 33.1 [19.2 kB] 1517s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client arm64 33.1 [230 kB] 1517s Fetched 756 kB in 1s (1007 kB/s) 1518s (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 ... 78392 files and directories currently installed.) 1518s Preparing to unpack .../libdw1t64_0.191-2_arm64.deb ... 1518s Unpacking libdw1t64:arm64 (0.191-2) over (0.191-1) ... 1518s Preparing to unpack .../libelf1t64_0.191-2_arm64.deb ... 1518s Unpacking libelf1t64:arm64 (0.191-2) over (0.191-1) ... 1518s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 1518s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 1518s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_arm64.deb ... 1518s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 1518s Preparing to unpack .../ubuntu-pro-client_33.1_arm64.deb ... 1518s Unpacking ubuntu-pro-client (33.1) over (33) ... 1518s Setting up python3-pkg-resources (70.3.0-2) ... 1519s Setting up libelf1t64:arm64 (0.191-2) ... 1519s Setting up libdw1t64:arm64 (0.191-2) ... 1519s Setting up ubuntu-pro-client (33.1) ... 1521s Setting up ubuntu-pro-client-l10n (33.1) ... 1521s Processing triggers for man-db (2.12.1-2) ... 1522s Processing triggers for libc-bin (2.39-0ubuntu9) ... 1522s Reading package lists... 1522s Building dependency tree... 1522s Reading state information... 1523s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1523s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 1523s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 1524s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 1524s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 1525s Reading package lists... 1525s Reading package lists... 1525s Building dependency tree... 1525s Reading state information... 1526s Calculating upgrade... 1526s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1526s Reading package lists... 1526s Building dependency tree... 1526s Reading state information... 1527s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1527s autopkgtest [03:24:05]: rebooting testbed after setup commands that affected boot 1531s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 1556s Reading package lists... 1557s Building dependency tree... 1557s Reading state information... 1557s Starting pkgProblemResolver with broken count: 0 1557s Starting 2 pkgProblemResolver with broken count: 0 1557s Done 1557s The following additional packages will be installed: 1557s adwaita-icon-theme at-spi2-common ca-certificates-java 1557s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1557s fontconfig fonts-font-awesome fonts-lato gtk-update-icon-cache 1557s hicolor-icon-theme humanity-icon-theme java-common junit4 libactivation-java 1557s libapache-pom-java libapr1t64 libasm-java libasound2-data libasound2t64 1557s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1557s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1557s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1557s libcommons-io-java libcommons-logging-java libcommons-parent-java 1557s libcups2t64 libdatrie1 libdconf1 libdrm-amdgpu1 libdrm-nouveau2 1557s libdrm-radeon1 libdropwizard-metrics-java libeclipse-jdt-core-java 1557s libel-api-java libepoxy0 liberror-prone-java libev4t64 1557s libfindbugs-annotations-java libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common 1557s libgif7 libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libglx0 1557s libgraphite2-3 libgtk-3-0t64 libgtk-3-common libguava-java libhamcrest-java 1557s libharfbuzz0b libio-pty-perl libipc-run-perl libjackson2-annotations-java 1557s libjackson2-core-java libjackson2-databind-java libjaxb-api-java 1557s libjctools-java libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1557s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1557s libjnr-unixsocket-java libjnr-x86asm-java libjs-jquery libjs-sphinxdoc 1557s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 1557s libllvm17t64 liblog4j1.2-java libmail-java libnetty-java 1557s libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1557s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1557s libservlet-api-java libslf4j-java libsnappy-java libsnappy-jni libsnappy1v5 1557s libspring-beans-java libspring-core-java libtaglibs-standard-impl-java 1557s libtaglibs-standard-spec-java libthai-data libthai0 libtime-duration-perl 1557s libtimedate-perl libtomcat9-java libvulkan1 libwayland-client0 1557s libwayland-cursor0 libwayland-egl1 libwebsocket-api-java libx11-xcb1 1557s libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 1557s libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 1557s libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 1557s libxrender1 libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 1557s moreutils openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc 1557s postgresql postgresql-16 postgresql-client-16 postgresql-client-common 1557s postgresql-common python3-behave python3-cdiff python3-click 1557s python3-colorama python3-coverage python3-dateutil python3-dnspython 1557s python3-eventlet python3-gevent python3-greenlet python3-kazoo 1557s python3-kerberos python3-parse python3-parse-type python3-prettytable 1557s python3-psutil python3-psycopg2 python3-pure-sasl python3-wcwidth 1557s python3-zope.event python3-zope.interface sphinx-rtd-theme-common ssl-cert 1557s ubuntu-mono x11-common zookeeper zookeeperd 1557s Suggested packages: 1557s alsa-utils libasound2-plugins libatinject-jsr330-api-java-doc colord 1557s libavalon-framework-java libexcalibur-logkit-java cups-common gvfs 1557s libjackson2-annotations-java-doc jetty9 libjnr-ffi-java-doc 1557s libjnr-posix-java-doc libjsr305-java-doc liblcms2-utils liblog4j1.2-java-doc 1557s libmail-java-doc libbcpkix-java libcompress-lzf-java libjzlib-java 1557s liblog4j2-java libprotobuf-java pcscd libcglib-java libyaml-snake-java 1557s libaspectj-java libcommons-collections3-java tomcat9 libzookeeper-java-doc 1557s libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho 1557s fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic vip-manager haproxy 1557s postgresql-doc postgresql-doc-16 python-coverage-doc python3-trio 1557s python3-aioquic python3-h2 python3-httpx python3-httpcore 1557s python-eventlet-doc python-gevent-doc python-greenlet-dev 1557s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 1557s Recommended packages: 1557s librsvg2-common alsa-ucm-conf alsa-topology-conf at-spi2-core 1557s libgdk-pixbuf2.0-bin libgl1-amber-dri libgtk-3-bin javascript-common 1557s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 1557s fonts-dejavu-extra 1558s The following NEW packages will be installed: 1558s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 1558s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1558s fontconfig fonts-font-awesome fonts-lato gtk-update-icon-cache 1558s hicolor-icon-theme humanity-icon-theme java-common junit4 libactivation-java 1558s libapache-pom-java libapr1t64 libasm-java libasound2-data libasound2t64 1558s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1558s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1558s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1558s libcommons-io-java libcommons-logging-java libcommons-parent-java 1558s libcups2t64 libdatrie1 libdconf1 libdrm-amdgpu1 libdrm-nouveau2 1558s libdrm-radeon1 libdropwizard-metrics-java libeclipse-jdt-core-java 1558s libel-api-java libepoxy0 liberror-prone-java libev4t64 1558s libfindbugs-annotations-java libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common 1558s libgif7 libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libglx0 1558s libgraphite2-3 libgtk-3-0t64 libgtk-3-common libguava-java libhamcrest-java 1558s libharfbuzz0b libio-pty-perl libipc-run-perl libjackson2-annotations-java 1558s libjackson2-core-java libjackson2-databind-java libjaxb-api-java 1558s libjctools-java libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1558s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1558s libjnr-unixsocket-java libjnr-x86asm-java libjs-jquery libjs-sphinxdoc 1558s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 1558s libllvm17t64 liblog4j1.2-java libmail-java libnetty-java 1558s libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1558s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1558s libservlet-api-java libslf4j-java libsnappy-java libsnappy-jni libsnappy1v5 1558s libspring-beans-java libspring-core-java libtaglibs-standard-impl-java 1558s libtaglibs-standard-spec-java libthai-data libthai0 libtime-duration-perl 1558s libtimedate-perl libtomcat9-java libvulkan1 libwayland-client0 1558s libwayland-cursor0 libwayland-egl1 libwebsocket-api-java libx11-xcb1 1558s libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 1558s libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 1558s libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 1558s libxrender1 libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java 1558s moreutils openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc 1558s postgresql postgresql-16 postgresql-client-16 postgresql-client-common 1558s postgresql-common python3-behave python3-cdiff python3-click 1558s python3-colorama python3-coverage python3-dateutil python3-dnspython 1558s python3-eventlet python3-gevent python3-greenlet python3-kazoo 1558s python3-kerberos python3-parse python3-parse-type python3-prettytable 1558s python3-psutil python3-psycopg2 python3-pure-sasl python3-wcwidth 1558s python3-zope.event python3-zope.interface sphinx-rtd-theme-common ssl-cert 1558s ubuntu-mono x11-common zookeeper zookeeperd 1558s 0 upgraded, 180 newly installed, 0 to remove and 0 not upgraded. 1558s Need to get 152 MB/152 MB of archives. 1558s After this operation, 573 MB of additional disk space will be used. 1558s Get:1 /tmp/autopkgtest.GqLGLU/4-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [764 B] 1558s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-lato all 2.015-1 [2781 kB] 1558s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1558s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-client-common all 261 [36.6 kB] 1558s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 1558s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-common all 261 [162 kB] 1558s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 ca-certificates-java all 20240118 [11.6 kB] 1558s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 java-common all 0.75+exp1 [6798 B] 1558s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 liblcms2-2 arm64 2.14-2build1 [161 kB] 1558s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libpcsclite1 arm64 2.2.3-1 [24.0 kB] 1558s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 openjdk-21-jre-headless arm64 21.0.4~6ea-1ubuntu1 [45.8 MB] 1560s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 default-jre-headless arm64 2:1.21-75+exp1 [3096 B] 1560s Get:13 http://ftpmaster.internal/ubuntu oracular/main arm64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 1560s Get:14 http://ftpmaster.internal/ubuntu oracular/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.12+dfsg-1 [145 kB] 1560s Get:15 http://ftpmaster.internal/ubuntu oracular/main arm64 gtk-update-icon-cache arm64 3.24.43-1ubuntu1 [52.1 kB] 1560s Get:16 http://ftpmaster.internal/ubuntu oracular/main arm64 hicolor-icon-theme all 0.18-1 [13.5 kB] 1560s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 humanity-icon-theme all 0.6.16 [1282 kB] 1560s Get:18 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 1560s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 adwaita-icon-theme all 46.0-1 [723 kB] 1560s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 at-spi2-common all 2.52.0-1build1 [8674 B] 1560s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 libatk1.0-0t64 arm64 2.52.0-1build1 [55.1 kB] 1560s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 libxi6 arm64 2:1.8.1-1build1 [31.9 kB] 1560s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 libatspi2.0-0t64 arm64 2.52.0-1build1 [80.9 kB] 1560s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 libatk-bridge2.0-0t64 arm64 2.52.0-1build1 [66.3 kB] 1560s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 libpixman-1-0 arm64 0.42.2-1build1 [204 kB] 1560s Get:26 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 1560s Get:27 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 1560s Get:28 http://ftpmaster.internal/ubuntu oracular/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 1560s Get:29 http://ftpmaster.internal/ubuntu oracular/main arm64 libcairo2 arm64 1.18.0-3build1 [555 kB] 1560s Get:30 http://ftpmaster.internal/ubuntu oracular/main arm64 libcairo-gobject2 arm64 1.18.0-3build1 [127 kB] 1560s Get:31 http://ftpmaster.internal/ubuntu oracular/main arm64 libcolord2 arm64 1.4.7-1build2 [149 kB] 1560s Get:32 http://ftpmaster.internal/ubuntu oracular/main arm64 libavahi-common-data arm64 0.8-13ubuntu6 [29.6 kB] 1560s Get:33 http://ftpmaster.internal/ubuntu oracular/main arm64 libavahi-common3 arm64 0.8-13ubuntu6 [23.3 kB] 1560s Get:34 http://ftpmaster.internal/ubuntu oracular/main arm64 libavahi-client3 arm64 0.8-13ubuntu6 [27.2 kB] 1560s Get:35 http://ftpmaster.internal/ubuntu oracular/main arm64 libcups2t64 arm64 2.4.7-1.2ubuntu9 [268 kB] 1560s Get:36 http://ftpmaster.internal/ubuntu oracular/main arm64 libepoxy0 arm64 1.5.10-1build1 [240 kB] 1560s Get:37 http://ftpmaster.internal/ubuntu oracular/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 1560s Get:38 http://ftpmaster.internal/ubuntu oracular/main arm64 libharfbuzz0b arm64 8.3.0-2build2 [463 kB] 1560s Get:39 http://ftpmaster.internal/ubuntu oracular/main arm64 fontconfig arm64 2.15.0-1.1ubuntu2 [190 kB] 1560s Get:40 http://ftpmaster.internal/ubuntu oracular/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 1560s Get:41 http://ftpmaster.internal/ubuntu oracular/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 1560s Get:42 http://ftpmaster.internal/ubuntu oracular/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 1560s Get:43 http://ftpmaster.internal/ubuntu oracular/main arm64 libpango-1.0-0 arm64 1.54.0+ds-1 [230 kB] 1560s Get:44 http://ftpmaster.internal/ubuntu oracular/main arm64 libpangoft2-1.0-0 arm64 1.54.0+ds-1 [41.7 kB] 1560s Get:45 http://ftpmaster.internal/ubuntu oracular/main arm64 libpangocairo-1.0-0 arm64 1.54.0+ds-1 [27.2 kB] 1560s Get:46 http://ftpmaster.internal/ubuntu oracular/main arm64 libwayland-client0 arm64 1.22.0-2.1build1 [25.9 kB] 1560s Get:47 http://ftpmaster.internal/ubuntu oracular/main arm64 libwayland-cursor0 arm64 1.22.0-2.1build1 [10.3 kB] 1560s Get:48 http://ftpmaster.internal/ubuntu oracular/main arm64 libwayland-egl1 arm64 1.22.0-2.1build1 [5622 B] 1560s Get:49 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcomposite1 arm64 1:0.4.5-1build3 [6336 B] 1560s Get:50 http://ftpmaster.internal/ubuntu oracular/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 1560s Get:51 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcursor1 arm64 1:1.2.2-1 [21.2 kB] 1560s Get:52 http://ftpmaster.internal/ubuntu oracular/main arm64 libxdamage1 arm64 1:1.1.6-1build1 [6236 B] 1560s Get:53 http://ftpmaster.internal/ubuntu oracular/main arm64 libxinerama1 arm64 2:1.1.4-3build1 [6394 B] 1560s Get:54 http://ftpmaster.internal/ubuntu oracular/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 1560s Get:55 http://ftpmaster.internal/ubuntu oracular/main arm64 libdconf1 arm64 0.40.0-4build2 [39.8 kB] 1560s Get:56 http://ftpmaster.internal/ubuntu oracular/main arm64 dconf-service arm64 0.40.0-4build2 [26.9 kB] 1560s Get:57 http://ftpmaster.internal/ubuntu oracular/main arm64 dconf-gsettings-backend arm64 0.40.0-4build2 [22.0 kB] 1560s Get:58 http://ftpmaster.internal/ubuntu oracular/main arm64 libgtk-3-common all 3.24.43-1ubuntu1 [1201 kB] 1560s Get:59 http://ftpmaster.internal/ubuntu oracular/main arm64 libgtk-3-0t64 arm64 3.24.43-1ubuntu1 [2868 kB] 1560s Get:60 http://ftpmaster.internal/ubuntu oracular/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 1560s Get:61 http://ftpmaster.internal/ubuntu oracular/main arm64 libglapi-mesa arm64 24.0.9-0ubuntu2 [56.1 kB] 1560s Get:62 http://ftpmaster.internal/ubuntu oracular/main arm64 libx11-xcb1 arm64 2:1.8.7-1build1 [7870 B] 1560s Get:63 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-dri2-0 arm64 1.17.0-2 [7418 B] 1560s Get:64 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 1560s Get:65 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 1560s Get:66 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 1560s Get:67 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 1560s Get:68 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 1560s Get:69 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 1560s Get:70 http://ftpmaster.internal/ubuntu oracular/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 1560s Get:71 http://ftpmaster.internal/ubuntu oracular/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 1560s Get:72 http://ftpmaster.internal/ubuntu oracular/main arm64 libvulkan1 arm64 1.3.283.0-1 [151 kB] 1560s Get:73 http://ftpmaster.internal/ubuntu oracular/main arm64 libdrm-amdgpu1 arm64 2.4.121-2 [20.9 kB] 1560s Get:74 http://ftpmaster.internal/ubuntu oracular/main arm64 libdrm-nouveau2 arm64 2.4.121-2 [17.8 kB] 1560s Get:75 http://ftpmaster.internal/ubuntu oracular/main arm64 libdrm-radeon1 arm64 2.4.121-2 [20.9 kB] 1560s Get:76 http://ftpmaster.internal/ubuntu oracular/main arm64 libllvm17t64 arm64 1:17.0.6-12 [25.0 MB] 1561s Get:77 http://ftpmaster.internal/ubuntu oracular/main arm64 libgl1-mesa-dri arm64 24.0.9-0ubuntu2 [8220 kB] 1561s Get:78 http://ftpmaster.internal/ubuntu oracular/main arm64 libglx-mesa0 arm64 24.0.9-0ubuntu2 [164 kB] 1561s Get:79 http://ftpmaster.internal/ubuntu oracular/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 1561s Get:80 http://ftpmaster.internal/ubuntu oracular/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 1561s Get:81 http://ftpmaster.internal/ubuntu oracular/main arm64 libasound2-data all 1.2.12-1 [21.0 kB] 1561s Get:82 http://ftpmaster.internal/ubuntu oracular/main arm64 libasound2t64 arm64 1.2.12-1 [384 kB] 1561s Get:83 http://ftpmaster.internal/ubuntu oracular/main arm64 libgif7 arm64 5.2.2-1ubuntu1 [35.5 kB] 1561s Get:84 http://ftpmaster.internal/ubuntu oracular/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1561s Get:85 http://ftpmaster.internal/ubuntu oracular/main arm64 libxtst6 arm64 2:1.2.3-1.1build1 [13.0 kB] 1561s Get:86 http://ftpmaster.internal/ubuntu oracular/main arm64 openjdk-21-jre arm64 21.0.4~6ea-1ubuntu1 [225 kB] 1561s Get:87 http://ftpmaster.internal/ubuntu oracular/main arm64 default-jre arm64 2:1.21-75+exp1 [922 B] 1561s Get:88 http://ftpmaster.internal/ubuntu oracular/universe arm64 libhamcrest-java all 2.2-2 [117 kB] 1561s Get:89 http://ftpmaster.internal/ubuntu oracular/universe arm64 junit4 all 4.13.2-4 [347 kB] 1561s Get:90 http://ftpmaster.internal/ubuntu oracular/universe arm64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 1561s Get:91 http://ftpmaster.internal/ubuntu oracular/universe arm64 libapache-pom-java all 29-2 [5284 B] 1561s Get:92 http://ftpmaster.internal/ubuntu oracular/universe arm64 libcommons-parent-java all 56-1 [10.7 kB] 1561s Get:93 http://ftpmaster.internal/ubuntu oracular/universe arm64 libcommons-io-java all 2.16.1-1 [451 kB] 1561s Get:94 http://ftpmaster.internal/ubuntu oracular/universe arm64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1561s Get:95 http://ftpmaster.internal/ubuntu oracular/universe arm64 libfindbugs-annotations-java all 3.1.0~preview2-3 [49.2 kB] 1561s Get:96 http://ftpmaster.internal/ubuntu oracular/universe arm64 libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 1561s Get:97 http://ftpmaster.internal/ubuntu oracular/universe arm64 liberror-prone-java all 2.18.0-1 [22.5 kB] 1561s Get:98 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 1561s Get:99 http://ftpmaster.internal/ubuntu oracular/universe arm64 libguava-java all 32.0.1-1 [2692 kB] 1561s Get:100 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1561s Get:101 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjackson2-core-java all 2.14.1-1 [432 kB] 1561s Get:102 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 1562s Get:103 http://ftpmaster.internal/ubuntu oracular/universe arm64 libasm-java all 9.7-1 [392 kB] 1562s Get:104 http://ftpmaster.internal/ubuntu oracular/universe arm64 libel-api-java all 3.0.0-3 [64.9 kB] 1562s Get:105 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjsp-api-java all 2.3.4-3 [53.7 kB] 1562s Get:106 http://ftpmaster.internal/ubuntu oracular/universe arm64 libservlet-api-java all 4.0.1-2 [81.0 kB] 1562s Get:107 http://ftpmaster.internal/ubuntu oracular/universe arm64 libwebsocket-api-java all 1.1-2 [40.1 kB] 1562s Get:108 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjetty9-java all 9.4.54-1 [2787 kB] 1562s Get:109 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjnr-constants-java all 0.10.4-2 [1397 kB] 1562s Get:110 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjffi-jni arm64 1.3.13+ds-1 [29.8 kB] 1562s Get:111 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjffi-java all 1.3.13+ds-1 [112 kB] 1562s Get:112 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 1562s Get:113 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjnr-ffi-java all 2.2.15-2 [627 kB] 1562s Get:114 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1562s Get:115 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjnr-posix-java all 3.1.18-1 [267 kB] 1562s Get:116 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1562s Get:117 http://ftpmaster.internal/ubuntu oracular/universe arm64 libactivation-java all 1.2.0-2 [84.7 kB] 1562s Get:118 http://ftpmaster.internal/ubuntu oracular/universe arm64 libmail-java all 1.6.5-2 [681 kB] 1562s Get:119 http://ftpmaster.internal/ubuntu oracular/universe arm64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1562s Get:120 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjaxb-api-java all 2.3.1-1 [119 kB] 1562s Get:121 http://ftpmaster.internal/ubuntu oracular/universe arm64 libspring-core-java all 4.3.30-2 [1015 kB] 1562s Get:122 http://ftpmaster.internal/ubuntu oracular/universe arm64 libspring-beans-java all 4.3.30-2 [675 kB] 1562s Get:123 http://ftpmaster.internal/ubuntu oracular/universe arm64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1562s Get:124 http://ftpmaster.internal/ubuntu oracular/universe arm64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1562s Get:125 http://ftpmaster.internal/ubuntu oracular/universe arm64 libeclipse-jdt-core-java all 3.32.0+eclipse4.26-2 [6438 kB] 1562s Get:126 http://ftpmaster.internal/ubuntu oracular/universe arm64 libtomcat9-java all 9.0.70-2 [6154 kB] 1563s Get:127 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjetty9-extra-java all 9.4.54-1 [1199 kB] 1563s Get:128 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjctools-java all 2.0.2-1 [188 kB] 1563s Get:129 http://ftpmaster.internal/ubuntu oracular/universe arm64 libnetty-java all 1:4.1.48-10 [3628 kB] 1563s Get:130 http://ftpmaster.internal/ubuntu oracular/universe arm64 libslf4j-java all 1.7.32-1 [141 kB] 1563s Get:131 http://ftpmaster.internal/ubuntu oracular/main arm64 libsnappy1v5 arm64 1.2.1-1 [30.4 kB] 1563s Get:132 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsnappy-jni arm64 1.1.10.5-2 [6618 B] 1563s Get:133 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsnappy-java all 1.1.10.5-2 [83.7 kB] 1563s Get:134 http://ftpmaster.internal/ubuntu oracular/main arm64 libapr1t64 arm64 1.7.2-3.2 [105 kB] 1563s Get:135 http://ftpmaster.internal/ubuntu oracular/universe arm64 libnetty-tcnative-jni arm64 2.0.28-1build4 [36.8 kB] 1563s Get:136 http://ftpmaster.internal/ubuntu oracular/universe arm64 libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1563s Get:137 http://ftpmaster.internal/ubuntu oracular/universe arm64 liblog4j1.2-java all 1.2.17-11 [439 kB] 1563s Get:138 http://ftpmaster.internal/ubuntu oracular/universe arm64 libzookeeper-java all 3.9.2-2 [1885 kB] 1563s Get:139 http://ftpmaster.internal/ubuntu oracular/universe arm64 zookeeper all 3.9.2-2 [57.8 kB] 1563s Get:140 http://ftpmaster.internal/ubuntu oracular/universe arm64 zookeeperd all 3.9.2-2 [6036 B] 1563s Get:141 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1563s Get:142 http://ftpmaster.internal/ubuntu oracular/main arm64 libcares2 arm64 1.31.0-1 [78.8 kB] 1563s Get:143 http://ftpmaster.internal/ubuntu oracular/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 1563s Get:144 http://ftpmaster.internal/ubuntu oracular/main arm64 libio-pty-perl arm64 1:1.20-1build2 [31.1 kB] 1563s Get:145 http://ftpmaster.internal/ubuntu oracular/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 1563s Get:146 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1563s Get:147 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1563s Get:148 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-sphinxdoc all 7.3.7-3 [154 kB] 1563s Get:149 http://ftpmaster.internal/ubuntu oracular/main arm64 libpq5 arm64 16.3-1 [138 kB] 1563s Get:150 http://ftpmaster.internal/ubuntu oracular/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1563s Get:151 http://ftpmaster.internal/ubuntu oracular/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1563s Get:152 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 1563s Get:153 http://ftpmaster.internal/ubuntu oracular/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1563s Get:154 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 1563s Get:155 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 1563s Get:156 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-click all 8.1.7-1 [79.1 kB] 1563s Get:157 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 1563s Get:158 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 1563s Get:159 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 1563s Get:160 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 1563s Get:161 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psycopg2 arm64 2.9.9-1build1 [130 kB] 1563s Get:162 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-greenlet arm64 3.0.3-0ubuntu5 [153 kB] 1563s Get:163 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1563s Get:164 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-eventlet all 0.35.2-0ubuntu1 [274 kB] 1563s Get:165 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 1563s Get:166 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-zope.interface arm64 6.4-1 [138 kB] 1563s Get:167 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-gevent arm64 24.2.1-0.1ubuntu2 [790 kB] 1563s Get:168 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 1563s Get:169 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 1563s Get:170 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 1563s Get:171 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni all 3.3.1-1 [264 kB] 1563s Get:172 http://ftpmaster.internal/ubuntu oracular/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 1563s Get:173 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 1563s Get:174 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-client-16 arm64 16.3-1 [1261 kB] 1563s Get:175 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-16 arm64 16.3-1 [15.3 MB] 1563s Get:176 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql all 16+261 [11.7 kB] 1563s Get:177 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-parse all 1.19.0-0.2 [18.1 kB] 1563s Get:178 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 1563s Get:179 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 1563s Get:180 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 1565s Preconfiguring packages ... 1565s Fetched 152 MB in 6s (25.8 MB/s) 1565s Selecting previously unselected package fonts-lato. 1565s (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 ... 78404 files and directories currently installed.) 1565s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1565s Unpacking fonts-lato (2.015-1) ... 1565s Selecting previously unselected package libjson-perl. 1565s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1565s Unpacking libjson-perl (4.10000-1) ... 1565s Selecting previously unselected package postgresql-client-common. 1565s Preparing to unpack .../002-postgresql-client-common_261_all.deb ... 1565s Unpacking postgresql-client-common (261) ... 1565s Selecting previously unselected package ssl-cert. 1565s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu2_all.deb ... 1565s Unpacking ssl-cert (1.1.2ubuntu2) ... 1565s Selecting previously unselected package postgresql-common. 1565s Preparing to unpack .../004-postgresql-common_261_all.deb ... 1565s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1565s Unpacking postgresql-common (261) ... 1566s Selecting previously unselected package ca-certificates-java. 1566s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 1566s Unpacking ca-certificates-java (20240118) ... 1566s Selecting previously unselected package java-common. 1566s Preparing to unpack .../006-java-common_0.75+exp1_all.deb ... 1566s Unpacking java-common (0.75+exp1) ... 1566s Selecting previously unselected package liblcms2-2:arm64. 1566s Preparing to unpack .../007-liblcms2-2_2.14-2build1_arm64.deb ... 1566s Unpacking liblcms2-2:arm64 (2.14-2build1) ... 1566s Selecting previously unselected package libpcsclite1:arm64. 1566s Preparing to unpack .../008-libpcsclite1_2.2.3-1_arm64.deb ... 1566s Unpacking libpcsclite1:arm64 (2.2.3-1) ... 1566s Selecting previously unselected package openjdk-21-jre-headless:arm64. 1566s Preparing to unpack .../009-openjdk-21-jre-headless_21.0.4~6ea-1ubuntu1_arm64.deb ... 1566s Unpacking openjdk-21-jre-headless:arm64 (21.0.4~6ea-1ubuntu1) ... 1567s Selecting previously unselected package default-jre-headless. 1567s Preparing to unpack .../010-default-jre-headless_2%3a1.21-75+exp1_arm64.deb ... 1567s Unpacking default-jre-headless (2:1.21-75+exp1) ... 1567s Selecting previously unselected package libgdk-pixbuf2.0-common. 1567s Preparing to unpack .../011-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 1567s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1567s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 1567s Preparing to unpack .../012-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_arm64.deb ... 1567s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1567s Selecting previously unselected package gtk-update-icon-cache. 1567s Preparing to unpack .../013-gtk-update-icon-cache_3.24.43-1ubuntu1_arm64.deb ... 1567s Unpacking gtk-update-icon-cache (3.24.43-1ubuntu1) ... 1567s Selecting previously unselected package hicolor-icon-theme. 1567s Preparing to unpack .../014-hicolor-icon-theme_0.18-1_all.deb ... 1567s Unpacking hicolor-icon-theme (0.18-1) ... 1567s Selecting previously unselected package humanity-icon-theme. 1567s Preparing to unpack .../015-humanity-icon-theme_0.6.16_all.deb ... 1567s Unpacking humanity-icon-theme (0.6.16) ... 1567s Selecting previously unselected package ubuntu-mono. 1567s Preparing to unpack .../016-ubuntu-mono_24.04-0ubuntu1_all.deb ... 1567s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 1568s Selecting previously unselected package adwaita-icon-theme. 1568s Preparing to unpack .../017-adwaita-icon-theme_46.0-1_all.deb ... 1568s Unpacking adwaita-icon-theme (46.0-1) ... 1568s Selecting previously unselected package at-spi2-common. 1568s Preparing to unpack .../018-at-spi2-common_2.52.0-1build1_all.deb ... 1568s Unpacking at-spi2-common (2.52.0-1build1) ... 1568s Selecting previously unselected package libatk1.0-0t64:arm64. 1568s Preparing to unpack .../019-libatk1.0-0t64_2.52.0-1build1_arm64.deb ... 1568s Unpacking libatk1.0-0t64:arm64 (2.52.0-1build1) ... 1568s Selecting previously unselected package libxi6:arm64. 1568s Preparing to unpack .../020-libxi6_2%3a1.8.1-1build1_arm64.deb ... 1568s Unpacking libxi6:arm64 (2:1.8.1-1build1) ... 1568s Selecting previously unselected package libatspi2.0-0t64:arm64. 1568s Preparing to unpack .../021-libatspi2.0-0t64_2.52.0-1build1_arm64.deb ... 1568s Unpacking libatspi2.0-0t64:arm64 (2.52.0-1build1) ... 1568s Selecting previously unselected package libatk-bridge2.0-0t64:arm64. 1568s Preparing to unpack .../022-libatk-bridge2.0-0t64_2.52.0-1build1_arm64.deb ... 1568s Unpacking libatk-bridge2.0-0t64:arm64 (2.52.0-1build1) ... 1568s Selecting previously unselected package libpixman-1-0:arm64. 1568s Preparing to unpack .../023-libpixman-1-0_0.42.2-1build1_arm64.deb ... 1568s Unpacking libpixman-1-0:arm64 (0.42.2-1build1) ... 1568s Selecting previously unselected package libxcb-render0:arm64. 1568s Preparing to unpack .../024-libxcb-render0_1.17.0-2_arm64.deb ... 1568s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 1568s Selecting previously unselected package libxcb-shm0:arm64. 1568s Preparing to unpack .../025-libxcb-shm0_1.17.0-2_arm64.deb ... 1568s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 1568s Selecting previously unselected package libxrender1:arm64. 1568s Preparing to unpack .../026-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 1568s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 1568s Selecting previously unselected package libcairo2:arm64. 1568s Preparing to unpack .../027-libcairo2_1.18.0-3build1_arm64.deb ... 1568s Unpacking libcairo2:arm64 (1.18.0-3build1) ... 1568s Selecting previously unselected package libcairo-gobject2:arm64. 1568s Preparing to unpack .../028-libcairo-gobject2_1.18.0-3build1_arm64.deb ... 1568s Unpacking libcairo-gobject2:arm64 (1.18.0-3build1) ... 1568s Selecting previously unselected package libcolord2:arm64. 1568s Preparing to unpack .../029-libcolord2_1.4.7-1build2_arm64.deb ... 1568s Unpacking libcolord2:arm64 (1.4.7-1build2) ... 1568s Selecting previously unselected package libavahi-common-data:arm64. 1568s Preparing to unpack .../030-libavahi-common-data_0.8-13ubuntu6_arm64.deb ... 1568s Unpacking libavahi-common-data:arm64 (0.8-13ubuntu6) ... 1568s Selecting previously unselected package libavahi-common3:arm64. 1568s Preparing to unpack .../031-libavahi-common3_0.8-13ubuntu6_arm64.deb ... 1568s Unpacking libavahi-common3:arm64 (0.8-13ubuntu6) ... 1568s Selecting previously unselected package libavahi-client3:arm64. 1568s Preparing to unpack .../032-libavahi-client3_0.8-13ubuntu6_arm64.deb ... 1568s Unpacking libavahi-client3:arm64 (0.8-13ubuntu6) ... 1568s Selecting previously unselected package libcups2t64:arm64. 1568s Preparing to unpack .../033-libcups2t64_2.4.7-1.2ubuntu9_arm64.deb ... 1568s Unpacking libcups2t64:arm64 (2.4.7-1.2ubuntu9) ... 1568s Selecting previously unselected package libepoxy0:arm64. 1568s Preparing to unpack .../034-libepoxy0_1.5.10-1build1_arm64.deb ... 1568s Unpacking libepoxy0:arm64 (1.5.10-1build1) ... 1569s Selecting previously unselected package libgraphite2-3:arm64. 1569s Preparing to unpack .../035-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 1569s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1569s Selecting previously unselected package libharfbuzz0b:arm64. 1569s Preparing to unpack .../036-libharfbuzz0b_8.3.0-2build2_arm64.deb ... 1569s Unpacking libharfbuzz0b:arm64 (8.3.0-2build2) ... 1569s Selecting previously unselected package fontconfig. 1569s Preparing to unpack .../037-fontconfig_2.15.0-1.1ubuntu2_arm64.deb ... 1569s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 1569s Selecting previously unselected package libthai-data. 1569s Preparing to unpack .../038-libthai-data_0.1.29-2build1_all.deb ... 1569s Unpacking libthai-data (0.1.29-2build1) ... 1569s Selecting previously unselected package libdatrie1:arm64. 1569s Preparing to unpack .../039-libdatrie1_0.2.13-3build1_arm64.deb ... 1569s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 1569s Selecting previously unselected package libthai0:arm64. 1569s Preparing to unpack .../040-libthai0_0.1.29-2build1_arm64.deb ... 1569s Unpacking libthai0:arm64 (0.1.29-2build1) ... 1569s Selecting previously unselected package libpango-1.0-0:arm64. 1569s Preparing to unpack .../041-libpango-1.0-0_1.54.0+ds-1_arm64.deb ... 1569s Unpacking libpango-1.0-0:arm64 (1.54.0+ds-1) ... 1569s Selecting previously unselected package libpangoft2-1.0-0:arm64. 1569s Preparing to unpack .../042-libpangoft2-1.0-0_1.54.0+ds-1_arm64.deb ... 1569s Unpacking libpangoft2-1.0-0:arm64 (1.54.0+ds-1) ... 1569s Selecting previously unselected package libpangocairo-1.0-0:arm64. 1569s Preparing to unpack .../043-libpangocairo-1.0-0_1.54.0+ds-1_arm64.deb ... 1569s Unpacking libpangocairo-1.0-0:arm64 (1.54.0+ds-1) ... 1569s Selecting previously unselected package libwayland-client0:arm64. 1569s Preparing to unpack .../044-libwayland-client0_1.22.0-2.1build1_arm64.deb ... 1569s Unpacking libwayland-client0:arm64 (1.22.0-2.1build1) ... 1569s Selecting previously unselected package libwayland-cursor0:arm64. 1569s Preparing to unpack .../045-libwayland-cursor0_1.22.0-2.1build1_arm64.deb ... 1569s Unpacking libwayland-cursor0:arm64 (1.22.0-2.1build1) ... 1569s Selecting previously unselected package libwayland-egl1:arm64. 1569s Preparing to unpack .../046-libwayland-egl1_1.22.0-2.1build1_arm64.deb ... 1569s Unpacking libwayland-egl1:arm64 (1.22.0-2.1build1) ... 1569s Selecting previously unselected package libxcomposite1:arm64. 1569s Preparing to unpack .../047-libxcomposite1_1%3a0.4.5-1build3_arm64.deb ... 1569s Unpacking libxcomposite1:arm64 (1:0.4.5-1build3) ... 1569s Selecting previously unselected package libxfixes3:arm64. 1569s Preparing to unpack .../048-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 1569s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 1569s Selecting previously unselected package libxcursor1:arm64. 1569s Preparing to unpack .../049-libxcursor1_1%3a1.2.2-1_arm64.deb ... 1569s Unpacking libxcursor1:arm64 (1:1.2.2-1) ... 1569s Selecting previously unselected package libxdamage1:arm64. 1569s Preparing to unpack .../050-libxdamage1_1%3a1.1.6-1build1_arm64.deb ... 1569s Unpacking libxdamage1:arm64 (1:1.1.6-1build1) ... 1569s Selecting previously unselected package libxinerama1:arm64. 1569s Preparing to unpack .../051-libxinerama1_2%3a1.1.4-3build1_arm64.deb ... 1569s Unpacking libxinerama1:arm64 (2:1.1.4-3build1) ... 1569s Selecting previously unselected package libxrandr2:arm64. 1569s Preparing to unpack .../052-libxrandr2_2%3a1.5.4-1_arm64.deb ... 1569s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 1569s Selecting previously unselected package libdconf1:arm64. 1569s Preparing to unpack .../053-libdconf1_0.40.0-4build2_arm64.deb ... 1569s Unpacking libdconf1:arm64 (0.40.0-4build2) ... 1569s Selecting previously unselected package dconf-service. 1569s Preparing to unpack .../054-dconf-service_0.40.0-4build2_arm64.deb ... 1569s Unpacking dconf-service (0.40.0-4build2) ... 1569s Selecting previously unselected package dconf-gsettings-backend:arm64. 1569s Preparing to unpack .../055-dconf-gsettings-backend_0.40.0-4build2_arm64.deb ... 1569s Unpacking dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1569s Selecting previously unselected package libgtk-3-common. 1569s Preparing to unpack .../056-libgtk-3-common_3.24.43-1ubuntu1_all.deb ... 1569s Unpacking libgtk-3-common (3.24.43-1ubuntu1) ... 1569s Selecting previously unselected package libgtk-3-0t64:arm64. 1569s Preparing to unpack .../057-libgtk-3-0t64_3.24.43-1ubuntu1_arm64.deb ... 1569s Unpacking libgtk-3-0t64:arm64 (3.24.43-1ubuntu1) ... 1569s Selecting previously unselected package libglvnd0:arm64. 1569s Preparing to unpack .../058-libglvnd0_1.7.0-1build1_arm64.deb ... 1569s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 1569s Selecting previously unselected package libglapi-mesa:arm64. 1569s Preparing to unpack .../059-libglapi-mesa_24.0.9-0ubuntu2_arm64.deb ... 1569s Unpacking libglapi-mesa:arm64 (24.0.9-0ubuntu2) ... 1569s Selecting previously unselected package libx11-xcb1:arm64. 1569s Preparing to unpack .../060-libx11-xcb1_2%3a1.8.7-1build1_arm64.deb ... 1569s Unpacking libx11-xcb1:arm64 (2:1.8.7-1build1) ... 1569s Selecting previously unselected package libxcb-dri2-0:arm64. 1569s Preparing to unpack .../061-libxcb-dri2-0_1.17.0-2_arm64.deb ... 1569s Unpacking libxcb-dri2-0:arm64 (1.17.0-2) ... 1569s Selecting previously unselected package libxcb-dri3-0:arm64. 1570s Preparing to unpack .../062-libxcb-dri3-0_1.17.0-2_arm64.deb ... 1570s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 1570s Selecting previously unselected package libxcb-glx0:arm64. 1570s Preparing to unpack .../063-libxcb-glx0_1.17.0-2_arm64.deb ... 1570s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 1570s Selecting previously unselected package libxcb-present0:arm64. 1570s Preparing to unpack .../064-libxcb-present0_1.17.0-2_arm64.deb ... 1570s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 1570s Selecting previously unselected package libxcb-randr0:arm64. 1570s Preparing to unpack .../065-libxcb-randr0_1.17.0-2_arm64.deb ... 1570s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 1570s Selecting previously unselected package libxcb-sync1:arm64. 1570s Preparing to unpack .../066-libxcb-sync1_1.17.0-2_arm64.deb ... 1570s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 1570s Selecting previously unselected package libxcb-xfixes0:arm64. 1570s Preparing to unpack .../067-libxcb-xfixes0_1.17.0-2_arm64.deb ... 1570s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 1570s Selecting previously unselected package libxshmfence1:arm64. 1570s Preparing to unpack .../068-libxshmfence1_1.3-1build5_arm64.deb ... 1570s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 1570s Selecting previously unselected package libxxf86vm1:arm64. 1570s Preparing to unpack .../069-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 1570s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1570s Selecting previously unselected package libvulkan1:arm64. 1570s Preparing to unpack .../070-libvulkan1_1.3.283.0-1_arm64.deb ... 1570s Unpacking libvulkan1:arm64 (1.3.283.0-1) ... 1570s Selecting previously unselected package libdrm-amdgpu1:arm64. 1570s Preparing to unpack .../071-libdrm-amdgpu1_2.4.121-2_arm64.deb ... 1570s Unpacking libdrm-amdgpu1:arm64 (2.4.121-2) ... 1570s Selecting previously unselected package libdrm-nouveau2:arm64. 1570s Preparing to unpack .../072-libdrm-nouveau2_2.4.121-2_arm64.deb ... 1570s Unpacking libdrm-nouveau2:arm64 (2.4.121-2) ... 1570s Selecting previously unselected package libdrm-radeon1:arm64. 1570s Preparing to unpack .../073-libdrm-radeon1_2.4.121-2_arm64.deb ... 1570s Unpacking libdrm-radeon1:arm64 (2.4.121-2) ... 1570s Selecting previously unselected package libllvm17t64:arm64. 1570s Preparing to unpack .../074-libllvm17t64_1%3a17.0.6-12_arm64.deb ... 1570s Unpacking libllvm17t64:arm64 (1:17.0.6-12) ... 1571s Selecting previously unselected package libgl1-mesa-dri:arm64. 1571s Preparing to unpack .../075-libgl1-mesa-dri_24.0.9-0ubuntu2_arm64.deb ... 1571s Unpacking libgl1-mesa-dri:arm64 (24.0.9-0ubuntu2) ... 1571s Selecting previously unselected package libglx-mesa0:arm64. 1571s Preparing to unpack .../076-libglx-mesa0_24.0.9-0ubuntu2_arm64.deb ... 1571s Unpacking libglx-mesa0:arm64 (24.0.9-0ubuntu2) ... 1571s Selecting previously unselected package libglx0:arm64. 1571s Preparing to unpack .../077-libglx0_1.7.0-1build1_arm64.deb ... 1571s Unpacking libglx0:arm64 (1.7.0-1build1) ... 1571s Selecting previously unselected package libgl1:arm64. 1571s Preparing to unpack .../078-libgl1_1.7.0-1build1_arm64.deb ... 1571s Unpacking libgl1:arm64 (1.7.0-1build1) ... 1571s Selecting previously unselected package libasound2-data. 1571s Preparing to unpack .../079-libasound2-data_1.2.12-1_all.deb ... 1571s Unpacking libasound2-data (1.2.12-1) ... 1571s Selecting previously unselected package libasound2t64:arm64. 1571s Preparing to unpack .../080-libasound2t64_1.2.12-1_arm64.deb ... 1571s Unpacking libasound2t64:arm64 (1.2.12-1) ... 1571s Selecting previously unselected package libgif7:arm64. 1571s Preparing to unpack .../081-libgif7_5.2.2-1ubuntu1_arm64.deb ... 1571s Unpacking libgif7:arm64 (5.2.2-1ubuntu1) ... 1571s Selecting previously unselected package x11-common. 1571s Preparing to unpack .../082-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1571s Unpacking x11-common (1:7.7+23ubuntu3) ... 1571s Selecting previously unselected package libxtst6:arm64. 1571s Preparing to unpack .../083-libxtst6_2%3a1.2.3-1.1build1_arm64.deb ... 1571s Unpacking libxtst6:arm64 (2:1.2.3-1.1build1) ... 1571s Selecting previously unselected package openjdk-21-jre:arm64. 1571s Preparing to unpack .../084-openjdk-21-jre_21.0.4~6ea-1ubuntu1_arm64.deb ... 1571s Unpacking openjdk-21-jre:arm64 (21.0.4~6ea-1ubuntu1) ... 1571s Selecting previously unselected package default-jre. 1571s Preparing to unpack .../085-default-jre_2%3a1.21-75+exp1_arm64.deb ... 1571s Unpacking default-jre (2:1.21-75+exp1) ... 1571s Selecting previously unselected package libhamcrest-java. 1571s Preparing to unpack .../086-libhamcrest-java_2.2-2_all.deb ... 1571s Unpacking libhamcrest-java (2.2-2) ... 1571s Selecting previously unselected package junit4. 1571s Preparing to unpack .../087-junit4_4.13.2-4_all.deb ... 1571s Unpacking junit4 (4.13.2-4) ... 1571s Selecting previously unselected package libcommons-cli-java. 1571s Preparing to unpack .../088-libcommons-cli-java_1.6.0-1_all.deb ... 1571s Unpacking libcommons-cli-java (1.6.0-1) ... 1571s Selecting previously unselected package libapache-pom-java. 1571s Preparing to unpack .../089-libapache-pom-java_29-2_all.deb ... 1571s Unpacking libapache-pom-java (29-2) ... 1571s Selecting previously unselected package libcommons-parent-java. 1571s Preparing to unpack .../090-libcommons-parent-java_56-1_all.deb ... 1571s Unpacking libcommons-parent-java (56-1) ... 1572s Selecting previously unselected package libcommons-io-java. 1572s Preparing to unpack .../091-libcommons-io-java_2.16.1-1_all.deb ... 1572s Unpacking libcommons-io-java (2.16.1-1) ... 1572s Selecting previously unselected package libdropwizard-metrics-java. 1572s Preparing to unpack .../092-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1572s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1572s Selecting previously unselected package libfindbugs-annotations-java. 1572s Preparing to unpack .../093-libfindbugs-annotations-java_3.1.0~preview2-3_all.deb ... 1572s Unpacking libfindbugs-annotations-java (3.1.0~preview2-3) ... 1572s Selecting previously unselected package libatinject-jsr330-api-java. 1572s Preparing to unpack .../094-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 1572s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 1572s Selecting previously unselected package liberror-prone-java. 1572s Preparing to unpack .../095-liberror-prone-java_2.18.0-1_all.deb ... 1572s Unpacking liberror-prone-java (2.18.0-1) ... 1572s Selecting previously unselected package libjsr305-java. 1572s Preparing to unpack .../096-libjsr305-java_0.1~+svn49-11_all.deb ... 1572s Unpacking libjsr305-java (0.1~+svn49-11) ... 1572s Selecting previously unselected package libguava-java. 1572s Preparing to unpack .../097-libguava-java_32.0.1-1_all.deb ... 1572s Unpacking libguava-java (32.0.1-1) ... 1572s Selecting previously unselected package libjackson2-annotations-java. 1572s Preparing to unpack .../098-libjackson2-annotations-java_2.14.0-1_all.deb ... 1572s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1572s Selecting previously unselected package libjackson2-core-java. 1572s Preparing to unpack .../099-libjackson2-core-java_2.14.1-1_all.deb ... 1572s Unpacking libjackson2-core-java (2.14.1-1) ... 1572s Selecting previously unselected package libjackson2-databind-java. 1572s Preparing to unpack .../100-libjackson2-databind-java_2.14.0-1_all.deb ... 1572s Unpacking libjackson2-databind-java (2.14.0-1) ... 1572s Selecting previously unselected package libasm-java. 1572s Preparing to unpack .../101-libasm-java_9.7-1_all.deb ... 1572s Unpacking libasm-java (9.7-1) ... 1572s Selecting previously unselected package libel-api-java. 1572s Preparing to unpack .../102-libel-api-java_3.0.0-3_all.deb ... 1572s Unpacking libel-api-java (3.0.0-3) ... 1572s Selecting previously unselected package libjsp-api-java. 1572s Preparing to unpack .../103-libjsp-api-java_2.3.4-3_all.deb ... 1572s Unpacking libjsp-api-java (2.3.4-3) ... 1572s Selecting previously unselected package libservlet-api-java. 1572s Preparing to unpack .../104-libservlet-api-java_4.0.1-2_all.deb ... 1572s Unpacking libservlet-api-java (4.0.1-2) ... 1572s Selecting previously unselected package libwebsocket-api-java. 1572s Preparing to unpack .../105-libwebsocket-api-java_1.1-2_all.deb ... 1572s Unpacking libwebsocket-api-java (1.1-2) ... 1572s Selecting previously unselected package libjetty9-java. 1572s Preparing to unpack .../106-libjetty9-java_9.4.54-1_all.deb ... 1572s Unpacking libjetty9-java (9.4.54-1) ... 1573s Selecting previously unselected package libjnr-constants-java. 1573s Preparing to unpack .../107-libjnr-constants-java_0.10.4-2_all.deb ... 1573s Unpacking libjnr-constants-java (0.10.4-2) ... 1573s Selecting previously unselected package libjffi-jni:arm64. 1573s Preparing to unpack .../108-libjffi-jni_1.3.13+ds-1_arm64.deb ... 1573s Unpacking libjffi-jni:arm64 (1.3.13+ds-1) ... 1573s Selecting previously unselected package libjffi-java. 1573s Preparing to unpack .../109-libjffi-java_1.3.13+ds-1_all.deb ... 1573s Unpacking libjffi-java (1.3.13+ds-1) ... 1573s Selecting previously unselected package libjnr-x86asm-java. 1573s Preparing to unpack .../110-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 1573s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 1573s Selecting previously unselected package libjnr-ffi-java. 1573s Preparing to unpack .../111-libjnr-ffi-java_2.2.15-2_all.deb ... 1573s Unpacking libjnr-ffi-java (2.2.15-2) ... 1573s Selecting previously unselected package libjnr-enxio-java. 1573s Preparing to unpack .../112-libjnr-enxio-java_0.32.16-1_all.deb ... 1573s Unpacking libjnr-enxio-java (0.32.16-1) ... 1573s Selecting previously unselected package libjnr-posix-java. 1573s Preparing to unpack .../113-libjnr-posix-java_3.1.18-1_all.deb ... 1573s Unpacking libjnr-posix-java (3.1.18-1) ... 1573s Selecting previously unselected package libjnr-unixsocket-java. 1573s Preparing to unpack .../114-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1573s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1573s Selecting previously unselected package libactivation-java. 1573s Preparing to unpack .../115-libactivation-java_1.2.0-2_all.deb ... 1573s Unpacking libactivation-java (1.2.0-2) ... 1573s Selecting previously unselected package libmail-java. 1573s Preparing to unpack .../116-libmail-java_1.6.5-2_all.deb ... 1573s Unpacking libmail-java (1.6.5-2) ... 1573s Selecting previously unselected package libcommons-logging-java. 1573s Preparing to unpack .../117-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1573s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1573s Selecting previously unselected package libjaxb-api-java. 1573s Preparing to unpack .../118-libjaxb-api-java_2.3.1-1_all.deb ... 1573s Unpacking libjaxb-api-java (2.3.1-1) ... 1573s Selecting previously unselected package libspring-core-java. 1573s Preparing to unpack .../119-libspring-core-java_4.3.30-2_all.deb ... 1573s Unpacking libspring-core-java (4.3.30-2) ... 1573s Selecting previously unselected package libspring-beans-java. 1573s Preparing to unpack .../120-libspring-beans-java_4.3.30-2_all.deb ... 1573s Unpacking libspring-beans-java (4.3.30-2) ... 1573s Selecting previously unselected package libtaglibs-standard-spec-java. 1573s Preparing to unpack .../121-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1573s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1573s Selecting previously unselected package libtaglibs-standard-impl-java. 1573s Preparing to unpack .../122-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1573s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1573s Selecting previously unselected package libeclipse-jdt-core-java. 1573s Preparing to unpack .../123-libeclipse-jdt-core-java_3.32.0+eclipse4.26-2_all.deb ... 1573s Unpacking libeclipse-jdt-core-java (3.32.0+eclipse4.26-2) ... 1573s Selecting previously unselected package libtomcat9-java. 1573s Preparing to unpack .../124-libtomcat9-java_9.0.70-2_all.deb ... 1573s Unpacking libtomcat9-java (9.0.70-2) ... 1573s Selecting previously unselected package libjetty9-extra-java. 1573s Preparing to unpack .../125-libjetty9-extra-java_9.4.54-1_all.deb ... 1573s Unpacking libjetty9-extra-java (9.4.54-1) ... 1573s Selecting previously unselected package libjctools-java. 1573s Preparing to unpack .../126-libjctools-java_2.0.2-1_all.deb ... 1573s Unpacking libjctools-java (2.0.2-1) ... 1573s Selecting previously unselected package libnetty-java. 1573s Preparing to unpack .../127-libnetty-java_1%3a4.1.48-10_all.deb ... 1573s Unpacking libnetty-java (1:4.1.48-10) ... 1573s Selecting previously unselected package libslf4j-java. 1573s Preparing to unpack .../128-libslf4j-java_1.7.32-1_all.deb ... 1573s Unpacking libslf4j-java (1.7.32-1) ... 1573s Selecting previously unselected package libsnappy1v5:arm64. 1573s Preparing to unpack .../129-libsnappy1v5_1.2.1-1_arm64.deb ... 1573s Unpacking libsnappy1v5:arm64 (1.2.1-1) ... 1573s Selecting previously unselected package libsnappy-jni. 1573s Preparing to unpack .../130-libsnappy-jni_1.1.10.5-2_arm64.deb ... 1573s Unpacking libsnappy-jni (1.1.10.5-2) ... 1573s Selecting previously unselected package libsnappy-java. 1573s Preparing to unpack .../131-libsnappy-java_1.1.10.5-2_all.deb ... 1573s Unpacking libsnappy-java (1.1.10.5-2) ... 1574s Selecting previously unselected package libapr1t64:arm64. 1574s Preparing to unpack .../132-libapr1t64_1.7.2-3.2_arm64.deb ... 1574s Unpacking libapr1t64:arm64 (1.7.2-3.2) ... 1574s Selecting previously unselected package libnetty-tcnative-jni. 1574s Preparing to unpack .../133-libnetty-tcnative-jni_2.0.28-1build4_arm64.deb ... 1574s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1574s Selecting previously unselected package libnetty-tcnative-java. 1574s Preparing to unpack .../134-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1574s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1574s Selecting previously unselected package liblog4j1.2-java. 1574s Preparing to unpack .../135-liblog4j1.2-java_1.2.17-11_all.deb ... 1574s Unpacking liblog4j1.2-java (1.2.17-11) ... 1574s Selecting previously unselected package libzookeeper-java. 1574s Preparing to unpack .../136-libzookeeper-java_3.9.2-2_all.deb ... 1574s Unpacking libzookeeper-java (3.9.2-2) ... 1574s Selecting previously unselected package zookeeper. 1574s Preparing to unpack .../137-zookeeper_3.9.2-2_all.deb ... 1574s Unpacking zookeeper (3.9.2-2) ... 1574s Selecting previously unselected package zookeeperd. 1574s Preparing to unpack .../138-zookeeperd_3.9.2-2_all.deb ... 1574s Unpacking zookeeperd (3.9.2-2) ... 1574s Selecting previously unselected package fonts-font-awesome. 1574s Preparing to unpack .../139-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1574s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1574s Selecting previously unselected package libcares2:arm64. 1574s Preparing to unpack .../140-libcares2_1.31.0-1_arm64.deb ... 1574s Unpacking libcares2:arm64 (1.31.0-1) ... 1574s Selecting previously unselected package libev4t64:arm64. 1574s Preparing to unpack .../141-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 1574s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 1574s Selecting previously unselected package libio-pty-perl. 1574s Preparing to unpack .../142-libio-pty-perl_1%3a1.20-1build2_arm64.deb ... 1574s Unpacking libio-pty-perl (1:1.20-1build2) ... 1574s Selecting previously unselected package libipc-run-perl. 1574s Preparing to unpack .../143-libipc-run-perl_20231003.0-2_all.deb ... 1574s Unpacking libipc-run-perl (20231003.0-2) ... 1574s Selecting previously unselected package libjs-jquery. 1574s Preparing to unpack .../144-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1574s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1574s Selecting previously unselected package libjs-underscore. 1574s Preparing to unpack .../145-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1574s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1574s Selecting previously unselected package libjs-sphinxdoc. 1574s Preparing to unpack .../146-libjs-sphinxdoc_7.3.7-3_all.deb ... 1574s Unpacking libjs-sphinxdoc (7.3.7-3) ... 1574s Selecting previously unselected package libpq5:arm64. 1574s Preparing to unpack .../147-libpq5_16.3-1_arm64.deb ... 1574s Unpacking libpq5:arm64 (16.3-1) ... 1574s Selecting previously unselected package libtime-duration-perl. 1574s Preparing to unpack .../148-libtime-duration-perl_1.21-2_all.deb ... 1574s Unpacking libtime-duration-perl (1.21-2) ... 1574s Selecting previously unselected package libtimedate-perl. 1574s Preparing to unpack .../149-libtimedate-perl_2.3300-2_all.deb ... 1574s Unpacking libtimedate-perl (2.3300-2) ... 1574s Selecting previously unselected package libxslt1.1:arm64. 1574s Preparing to unpack .../150-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 1574s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 1574s Selecting previously unselected package moreutils. 1574s Preparing to unpack .../151-moreutils_0.69-1_arm64.deb ... 1574s Unpacking moreutils (0.69-1) ... 1574s Selecting previously unselected package python3-cdiff. 1574s Preparing to unpack .../152-python3-cdiff_1.0-1.1_all.deb ... 1574s Unpacking python3-cdiff (1.0-1.1) ... 1574s Selecting previously unselected package python3-colorama. 1574s Preparing to unpack .../153-python3-colorama_0.4.6-4_all.deb ... 1574s Unpacking python3-colorama (0.4.6-4) ... 1574s Selecting previously unselected package python3-click. 1574s Preparing to unpack .../154-python3-click_8.1.7-1_all.deb ... 1574s Unpacking python3-click (8.1.7-1) ... 1574s Selecting previously unselected package python3-dateutil. 1574s Preparing to unpack .../155-python3-dateutil_2.9.0-2_all.deb ... 1574s Unpacking python3-dateutil (2.9.0-2) ... 1574s Selecting previously unselected package python3-wcwidth. 1574s Preparing to unpack .../156-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 1574s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 1574s Selecting previously unselected package python3-prettytable. 1574s Preparing to unpack .../157-python3-prettytable_3.10.1-1_all.deb ... 1574s Unpacking python3-prettytable (3.10.1-1) ... 1574s Selecting previously unselected package python3-psutil. 1574s Preparing to unpack .../158-python3-psutil_5.9.8-2build2_arm64.deb ... 1574s Unpacking python3-psutil (5.9.8-2build2) ... 1575s Selecting previously unselected package python3-psycopg2. 1575s Preparing to unpack .../159-python3-psycopg2_2.9.9-1build1_arm64.deb ... 1575s Unpacking python3-psycopg2 (2.9.9-1build1) ... 1575s Selecting previously unselected package python3-greenlet. 1575s Preparing to unpack .../160-python3-greenlet_3.0.3-0ubuntu5_arm64.deb ... 1575s Unpacking python3-greenlet (3.0.3-0ubuntu5) ... 1575s Selecting previously unselected package python3-dnspython. 1575s Preparing to unpack .../161-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1575s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1575s Selecting previously unselected package python3-eventlet. 1575s Preparing to unpack .../162-python3-eventlet_0.35.2-0ubuntu1_all.deb ... 1575s Unpacking python3-eventlet (0.35.2-0ubuntu1) ... 1575s Selecting previously unselected package python3-zope.event. 1575s Preparing to unpack .../163-python3-zope.event_5.0-0.1_all.deb ... 1575s Unpacking python3-zope.event (5.0-0.1) ... 1575s Selecting previously unselected package python3-zope.interface. 1575s Preparing to unpack .../164-python3-zope.interface_6.4-1_arm64.deb ... 1575s Unpacking python3-zope.interface (6.4-1) ... 1575s Selecting previously unselected package python3-gevent. 1575s Preparing to unpack .../165-python3-gevent_24.2.1-0.1ubuntu2_arm64.deb ... 1575s Unpacking python3-gevent (24.2.1-0.1ubuntu2) ... 1575s Selecting previously unselected package python3-kerberos. 1575s Preparing to unpack .../166-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 1575s Unpacking python3-kerberos (1.1.14-3.1build9) ... 1575s Selecting previously unselected package python3-pure-sasl. 1575s Preparing to unpack .../167-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 1575s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 1575s Selecting previously unselected package python3-kazoo. 1575s Preparing to unpack .../168-python3-kazoo_2.9.0-2_all.deb ... 1575s Unpacking python3-kazoo (2.9.0-2) ... 1575s Selecting previously unselected package patroni. 1575s Preparing to unpack .../169-patroni_3.3.1-1_all.deb ... 1575s Unpacking patroni (3.3.1-1) ... 1575s Selecting previously unselected package sphinx-rtd-theme-common. 1575s Preparing to unpack .../170-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 1575s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 1575s Selecting previously unselected package patroni-doc. 1575s Preparing to unpack .../171-patroni-doc_3.3.1-1_all.deb ... 1575s Unpacking patroni-doc (3.3.1-1) ... 1575s Selecting previously unselected package postgresql-client-16. 1575s Preparing to unpack .../172-postgresql-client-16_16.3-1_arm64.deb ... 1575s Unpacking postgresql-client-16 (16.3-1) ... 1575s Selecting previously unselected package postgresql-16. 1575s Preparing to unpack .../173-postgresql-16_16.3-1_arm64.deb ... 1575s Unpacking postgresql-16 (16.3-1) ... 1576s Selecting previously unselected package postgresql. 1576s Preparing to unpack .../174-postgresql_16+261_all.deb ... 1576s Unpacking postgresql (16+261) ... 1576s Selecting previously unselected package python3-parse. 1576s Preparing to unpack .../175-python3-parse_1.19.0-0.2_all.deb ... 1576s Unpacking python3-parse (1.19.0-0.2) ... 1576s Selecting previously unselected package python3-parse-type. 1576s Preparing to unpack .../176-python3-parse-type_0.6.2-1_all.deb ... 1576s Unpacking python3-parse-type (0.6.2-1) ... 1576s Selecting previously unselected package python3-behave. 1576s Preparing to unpack .../177-python3-behave_1.2.6-5_all.deb ... 1576s Unpacking python3-behave (1.2.6-5) ... 1576s Selecting previously unselected package python3-coverage. 1576s Preparing to unpack .../178-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 1576s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1576s Selecting previously unselected package autopkgtest-satdep. 1576s Preparing to unpack .../179-4-autopkgtest-satdep.deb ... 1576s Unpacking autopkgtest-satdep (0) ... 1576s Setting up postgresql-client-common (261) ... 1576s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 1576s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 1576s Setting up liblcms2-2:arm64 (2.14-2build1) ... 1576s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1576s Setting up libpixman-1-0:arm64 (0.42.2-1build1) ... 1576s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 1576s Setting up libjackson2-annotations-java (2.14.0-1) ... 1576s Setting up libx11-xcb1:arm64 (2:1.8.7-1build1) ... 1576s Setting up libslf4j-java (1.7.32-1) ... 1576s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 1578s Regenerating fonts cache... done. 1578s Setting up libdrm-nouveau2:arm64 (2.4.121-2) ... 1578s Setting up fonts-lato (2.015-1) ... 1578s Setting up libxdamage1:arm64 (1:1.1.6-1build1) ... 1578s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 1578s Setting up libjsr305-java (0.1~+svn49-11) ... 1578s Setting up hicolor-icon-theme (0.18-1) ... 1578s Setting up libxi6:arm64 (2:1.8.1-1build1) ... 1578s Setting up java-common (0.75+exp1) ... 1578s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 1578s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 1578s Setting up libcommons-cli-java (1.6.0-1) ... 1578s Setting up libio-pty-perl (1:1.20-1build2) ... 1578s Setting up python3-colorama (0.4.6-4) ... 1578s Setting up libxcb-render0:arm64 (1.17.0-2) ... 1578s Setting up python3-zope.event (5.0-0.1) ... 1578s Setting up python3-zope.interface (6.4-1) ... 1579s Setting up libdrm-radeon1:arm64 (2.4.121-2) ... 1579s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 1579s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 1579s Setting up python3-cdiff (1.0-1.1) ... 1579s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1579s Setting up libasm-java (9.7-1) ... 1579s Setting up x11-common (1:7.7+23ubuntu3) ... 1579s Setting up libpq5:arm64 (16.3-1) ... 1579s Setting up python3-kerberos (1.1.14-3.1build9) ... 1579s Setting up liblog4j1.2-java (1.2.17-11) ... 1579s Setting up libel-api-java (3.0.0-3) ... 1579s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 1579s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 1579s Setting up python3-click (8.1.7-1) ... 1579s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 1579s Setting up libcairo2:arm64 (1.18.0-3build1) ... 1579s Setting up libcolord2:arm64 (1.4.7-1build2) ... 1579s Setting up python3-psutil (5.9.8-2build2) ... 1580s Setting up libeclipse-jdt-core-java (3.32.0+eclipse4.26-2) ... 1580s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 1580s Setting up libsnappy1v5:arm64 (1.2.1-1) ... 1580s Setting up libxcb-present0:arm64 (1.17.0-2) ... 1580s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1580s Setting up libdconf1:arm64 (0.40.0-4build2) ... 1580s Setting up libjctools-java (2.0.2-1) ... 1580s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1580s Setting up libasound2-data (1.2.12-1) ... 1580s Setting up libasound2t64:arm64 (1.2.12-1) ... 1580s Setting up libllvm17t64:arm64 (1:17.0.6-12) ... 1580s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 1580s Setting up libfindbugs-annotations-java (3.1.0~preview2-3) ... 1580s Setting up libepoxy0:arm64 (1.5.10-1build1) ... 1580s Setting up ssl-cert (1.1.2ubuntu2) ... 1581s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1581s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 1581s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 1581s Setting up libapache-pom-java (29-2) ... 1581s Setting up libavahi-common-data:arm64 (0.8-13ubuntu6) ... 1581s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 1581s Setting up libatspi2.0-0t64:arm64 (2.52.0-1build1) ... 1581s Setting up libwebsocket-api-java (1.1-2) ... 1581s Setting up python3-greenlet (3.0.3-0ubuntu5) ... 1582s Setting up libxinerama1:arm64 (2:1.1.4-3build1) ... 1582s Setting up libcares2:arm64 (1.31.0-1) ... 1582s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 1582s Setting up python3-psycopg2 (2.9.9-1build1) ... 1582s Setting up libipc-run-perl (20231003.0-2) ... 1582s Setting up libpcsclite1:arm64 (2.2.3-1) ... 1582s Setting up libactivation-java (1.2.0-2) ... 1582s Setting up libtomcat9-java (9.0.70-2) ... 1582s Setting up libhamcrest-java (2.2-2) ... 1582s Setting up libglapi-mesa:arm64 (24.0.9-0ubuntu2) ... 1582s Setting up libjsp-api-java (2.3.4-3) ... 1582s Setting up libvulkan1:arm64 (1.3.283.0-1) ... 1582s Setting up libtime-duration-perl (1.21-2) ... 1582s Setting up libtimedate-perl (2.3300-2) ... 1582s Setting up libxcb-dri2-0:arm64 (1.17.0-2) ... 1582s Setting up libgif7:arm64 (5.2.2-1ubuntu1) ... 1582s Setting up libxshmfence1:arm64 (1.3-1build5) ... 1582s Setting up libmail-java (1.6.5-2) ... 1582s Setting up at-spi2-common (2.52.0-1build1) ... 1582s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1582s Setting up libnetty-java (1:4.1.48-10) ... 1582s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 1582s Setting up python3-parse (1.19.0-0.2) ... 1583s Setting up libapr1t64:arm64 (1.7.2-3.2) ... 1583s Setting up libjson-perl (4.10000-1) ... 1583s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 1583s Setting up libservlet-api-java (4.0.1-2) ... 1583s Setting up libjackson2-core-java (2.14.1-1) ... 1583s Setting up libharfbuzz0b:arm64 (8.3.0-2build2) ... 1583s Setting up libthai-data (0.1.29-2build1) ... 1583s Setting up python3-dateutil (2.9.0-2) ... 1583s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 1583s Setting up libcairo-gobject2:arm64 (1.18.0-3build1) ... 1583s Setting up libjffi-jni:arm64 (1.3.13+ds-1) ... 1583s Setting up libwayland-egl1:arm64 (1.22.0-2.1build1) ... 1583s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1583s Setting up ca-certificates-java (20240118) ... 1583s No JRE found. Skipping Java certificates setup. 1583s Setting up python3-prettytable (3.10.1-1) ... 1583s Setting up libsnappy-jni (1.1.10.5-2) ... 1583s Setting up libxcomposite1:arm64 (1:0.4.5-1build3) ... 1583s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1583s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 1583s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1583s Setting up libdrm-amdgpu1:arm64 (2.4.121-2) ... 1583s Setting up libjnr-constants-java (0.10.4-2) ... 1583s Setting up libwayland-client0:arm64 (1.22.0-2.1build1) ... 1583s Setting up libjaxb-api-java (2.3.1-1) ... 1583s Setting up libjffi-java (1.3.13+ds-1) ... 1583s Setting up gtk-update-icon-cache (3.24.43-1ubuntu1) ... 1583s Setting up libjetty9-java (9.4.54-1) ... 1583s Setting up moreutils (0.69-1) ... 1583s Setting up libatk1.0-0t64:arm64 (2.52.0-1build1) ... 1583s Setting up openjdk-21-jre-headless:arm64 (21.0.4~6ea-1ubuntu1) ... 1583s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 1583s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1583s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1583s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1583s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1583s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 1583s Setting up libxtst6:arm64 (2:1.2.3-1.1build1) ... 1583s Setting up libxcursor1:arm64 (1:1.2.2-1) ... 1583s Setting up postgresql-client-16 (16.3-1) ... 1584s 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 1584s Setting up libgl1-mesa-dri:arm64 (24.0.9-0ubuntu2) ... 1584s Setting up libcommons-parent-java (56-1) ... 1584s Setting up libavahi-common3:arm64 (0.8-13ubuntu6) ... 1584s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1584s Setting up dconf-service (0.40.0-4build2) ... 1584s Setting up python3-gevent (24.2.1-0.1ubuntu2) ... 1584s Setting up libjackson2-databind-java (2.14.0-1) ... 1584s Setting up libthai0:arm64 (0.1.29-2build1) ... 1584s Setting up python3-parse-type (0.6.2-1) ... 1584s Setting up python3-eventlet (0.35.2-0ubuntu1) ... 1585s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1585s Setting up python3-kazoo (2.9.0-2) ... 1585s Setting up postgresql-common (261) ... 1585s 1585s Creating config file /etc/postgresql-common/createcluster.conf with new version 1585s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1585s Removing obsolete dictionary files: 1586s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1586s Setting up libjs-sphinxdoc (7.3.7-3) ... 1586s Setting up libwayland-cursor0:arm64 (1.22.0-2.1build1) ... 1586s Setting up python3-behave (1.2.6-5) ... 1587s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1587s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1587s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1587s """Registers a custom type that will be available to "parse" 1587s Setting up libsnappy-java (1.1.10.5-2) ... 1587s Setting up patroni (3.3.1-1) ... 1587s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1587s Setting up libavahi-client3:arm64 (0.8-13ubuntu6) ... 1587s Setting up libjnr-ffi-java (2.2.15-2) ... 1587s Setting up libatk-bridge2.0-0t64:arm64 (2.52.0-1build1) ... 1587s Setting up libglx-mesa0:arm64 (24.0.9-0ubuntu2) ... 1587s Setting up postgresql-16 (16.3-1) ... 1588s Creating new PostgreSQL cluster 16/main ... 1588s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1588s The files belonging to this database system will be owned by user "postgres". 1588s This user must also own the server process. 1588s 1588s The database cluster will be initialized with locale "C.UTF-8". 1588s The default database encoding has accordingly been set to "UTF8". 1588s The default text search configuration will be set to "english". 1588s 1588s Data page checksums are disabled. 1588s 1588s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1588s creating subdirectories ... ok 1588s selecting dynamic shared memory implementation ... posix 1588s selecting default max_connections ... 100 1588s selecting default shared_buffers ... 128MB 1588s selecting default time zone ... Etc/UTC 1588s creating configuration files ... ok 1588s running bootstrap script ... ok 1588s performing post-bootstrap initialization ... ok 1588s syncing data to disk ... ok 1592s Setting up libglx0:arm64 (1.7.0-1build1) ... 1592s Setting up libspring-core-java (4.3.30-2) ... 1592s Setting up dconf-gsettings-backend:arm64 (0.40.0-4build2) ... 1592s Setting up libcommons-io-java (2.16.1-1) ... 1592s Setting up patroni-doc (3.3.1-1) ... 1592s Setting up libpango-1.0-0:arm64 (1.54.0+ds-1) ... 1592s Setting up libjnr-enxio-java (0.32.16-1) ... 1592s Setting up libgl1:arm64 (1.7.0-1build1) ... 1592s Setting up postgresql (16+261) ... 1592s Setting up libpangoft2-1.0-0:arm64 (1.54.0+ds-1) ... 1592s Setting up libcups2t64:arm64 (2.4.7-1.2ubuntu9) ... 1592s Setting up libgtk-3-common (3.24.43-1ubuntu1) ... 1592s Setting up libjnr-posix-java (3.1.18-1) ... 1592s Setting up libpangocairo-1.0-0:arm64 (1.54.0+ds-1) ... 1592s Setting up libspring-beans-java (4.3.30-2) ... 1592s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1592s Setting up libjetty9-extra-java (9.4.54-1) ... 1592s Setting up libguava-java (32.0.1-1) ... 1592s Setting up adwaita-icon-theme (46.0-1) ... 1592s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1592s Setting up liberror-prone-java (2.18.0-1) ... 1592s Setting up humanity-icon-theme (0.6.16) ... 1592s Setting up ubuntu-mono (24.04-0ubuntu1) ... 1592s Processing triggers for man-db (2.12.1-2) ... 1594s Processing triggers for libglib2.0-0t64:arm64 (2.80.4-1ubuntu1) ... 1594s Setting up libgtk-3-0t64:arm64 (3.24.43-1ubuntu1) ... 1594s Processing triggers for libc-bin (2.39-0ubuntu9) ... 1594s Processing triggers for ca-certificates-java (20240118) ... 1594s Adding debian:ACCVRAIZ1.pem 1594s Adding debian:AC_RAIZ_FNMT-RCM.pem 1595s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1595s Adding debian:ANF_Secure_Server_Root_CA.pem 1595s Adding debian:Actalis_Authentication_Root_CA.pem 1595s Adding debian:AffirmTrust_Commercial.pem 1595s Adding debian:AffirmTrust_Networking.pem 1595s Adding debian:AffirmTrust_Premium.pem 1595s Adding debian:AffirmTrust_Premium_ECC.pem 1595s Adding debian:Amazon_Root_CA_1.pem 1595s Adding debian:Amazon_Root_CA_2.pem 1595s Adding debian:Amazon_Root_CA_3.pem 1595s Adding debian:Amazon_Root_CA_4.pem 1595s Adding debian:Atos_TrustedRoot_2011.pem 1595s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1595s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1595s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1595s Adding debian:BJCA_Global_Root_CA1.pem 1595s Adding debian:BJCA_Global_Root_CA2.pem 1595s Adding debian:Baltimore_CyberTrust_Root.pem 1595s Adding debian:Buypass_Class_2_Root_CA.pem 1595s Adding debian:Buypass_Class_3_Root_CA.pem 1595s Adding debian:CA_Disig_Root_R2.pem 1595s Adding debian:CFCA_EV_ROOT.pem 1595s Adding debian:COMODO_Certification_Authority.pem 1595s Adding debian:COMODO_ECC_Certification_Authority.pem 1595s Adding debian:COMODO_RSA_Certification_Authority.pem 1595s Adding debian:Certainly_Root_E1.pem 1595s Adding debian:Certainly_Root_R1.pem 1595s Adding debian:Certigna.pem 1595s Adding debian:Certigna_Root_CA.pem 1595s Adding debian:Certum_EC-384_CA.pem 1595s Adding debian:Certum_Trusted_Network_CA.pem 1595s Adding debian:Certum_Trusted_Network_CA_2.pem 1595s Adding debian:Certum_Trusted_Root_CA.pem 1595s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1595s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1595s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1595s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1595s Adding debian:Comodo_AAA_Services_root.pem 1595s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1595s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1595s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1595s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1595s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1595s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1595s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1595s Adding debian:DigiCert_Global_Root_CA.pem 1595s Adding debian:DigiCert_Global_Root_G2.pem 1595s Adding debian:DigiCert_Global_Root_G3.pem 1595s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1595s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1595s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1595s Adding debian:DigiCert_Trusted_Root_G4.pem 1595s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1595s Adding debian:Entrust_Root_Certification_Authority.pem 1595s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1595s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1595s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1595s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1595s Adding debian:GLOBALTRUST_2020.pem 1595s Adding debian:GTS_Root_R1.pem 1595s Adding debian:GTS_Root_R2.pem 1595s Adding debian:GTS_Root_R3.pem 1595s Adding debian:GTS_Root_R4.pem 1595s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1595s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1595s Adding debian:GlobalSign_Root_CA.pem 1595s Adding debian:GlobalSign_Root_CA_-_R3.pem 1595s Adding debian:GlobalSign_Root_CA_-_R6.pem 1595s Adding debian:GlobalSign_Root_E46.pem 1595s Adding debian:GlobalSign_Root_R46.pem 1595s Adding debian:Go_Daddy_Class_2_CA.pem 1595s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1595s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1595s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1595s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1595s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1595s Adding debian:HiPKI_Root_CA_-_G1.pem 1595s Adding debian:Hongkong_Post_Root_CA_3.pem 1595s Adding debian:ISRG_Root_X1.pem 1595s Adding debian:ISRG_Root_X2.pem 1595s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1595s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1595s Adding debian:Izenpe.com.pem 1595s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1595s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1595s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1595s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1595s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1595s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1595s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1595s Adding debian:QuoVadis_Root_CA_1_G3.pem 1595s Adding debian:QuoVadis_Root_CA_2.pem 1595s Adding debian:QuoVadis_Root_CA_2_G3.pem 1595s Adding debian:QuoVadis_Root_CA_3.pem 1595s Adding debian:QuoVadis_Root_CA_3_G3.pem 1595s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1595s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1595s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1595s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1595s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1595s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1595s Adding debian:SZAFIR_ROOT_CA2.pem 1595s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1595s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1595s Adding debian:SecureSign_RootCA11.pem 1595s Adding debian:SecureTrust_CA.pem 1595s Adding debian:Secure_Global_CA.pem 1595s Adding debian:Security_Communication_ECC_RootCA1.pem 1595s Adding debian:Security_Communication_RootCA2.pem 1595s Adding debian:Security_Communication_RootCA3.pem 1595s Adding debian:Security_Communication_Root_CA.pem 1595s Adding debian:Starfield_Class_2_CA.pem 1595s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1595s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1595s Adding debian:SwissSign_Gold_CA_-_G2.pem 1595s Adding debian:SwissSign_Silver_CA_-_G2.pem 1595s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1595s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1595s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1595s Adding debian:TWCA_Global_Root_CA.pem 1595s Adding debian:TWCA_Root_Certification_Authority.pem 1595s Adding debian:TeliaSonera_Root_CA_v1.pem 1595s Adding debian:Telia_Root_CA_v2.pem 1595s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1595s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1595s Adding debian:Trustwave_Global_Certification_Authority.pem 1595s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1595s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1595s Adding debian:TunTrust_Root_CA.pem 1595s Adding debian:UCA_Extended_Validation_Root.pem 1595s Adding debian:UCA_Global_G2_Root.pem 1595s Adding debian:USERTrust_ECC_Certification_Authority.pem 1595s Adding debian:USERTrust_RSA_Certification_Authority.pem 1595s Adding debian:XRamp_Global_CA_Root.pem 1595s Adding debian:certSIGN_ROOT_CA.pem 1595s Adding debian:certSIGN_Root_CA_G2.pem 1595s Adding debian:e-Szigno_Root_CA_2017.pem 1595s Adding debian:ePKI_Root_Certification_Authority.pem 1595s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1595s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1595s Adding debian:emSign_Root_CA_-_C1.pem 1595s Adding debian:emSign_Root_CA_-_G1.pem 1595s Adding debian:vTrus_ECC_Root_CA.pem 1595s Adding debian:vTrus_Root_CA.pem 1595s done. 1595s Setting up openjdk-21-jre:arm64 (21.0.4~6ea-1ubuntu1) ... 1595s Setting up junit4 (4.13.2-4) ... 1595s Setting up default-jre-headless (2:1.21-75+exp1) ... 1595s Setting up default-jre (2:1.21-75+exp1) ... 1595s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1595s Setting up libzookeeper-java (3.9.2-2) ... 1595s Setting up zookeeper (3.9.2-2) ... 1595s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1595s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1595s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1595s Setting up zookeeperd (3.9.2-2) ... 1595s Setting up autopkgtest-satdep (0) ... 1603s (Reading database ... 98345 files and directories currently installed.) 1603s Removing autopkgtest-satdep (0) ... 1605s autopkgtest [03:25:23]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1605s autopkgtest [03:25:23]: test acceptance-zookeeper: [----------------------- 1610s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1610s ++ ls -1r /usr/lib/postgresql/ 1610s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1610s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1610s + '[' 16 == 10 -o 16 == 11 ']' 1610s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1610s + 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' 1611s Jul 14 03:25:29 Feature: basic replication # features/basic_replication.feature:1 1611s Jul 14 03:25:29 We should check that the basic bootstrapping, replication and failover works. 1611s Jul 14 03:25:29 Scenario: check replication of a single table # features/basic_replication.feature:4 1611s Jul 14 03:25:29 Given I start postgres0 # features/steps/basic_replication.py:8 1614s Jul 14 03:25:32 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1614s Jul 14 03:25:32 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1614s Jul 14 03:25:32 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 1615s Jul 14 03:25:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1615s Jul 14 03:25:33 When I start postgres1 # features/steps/basic_replication.py:8 1619s Jul 14 03:25:37 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1622s Jul 14 03:25:40 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1622s Jul 14 03:25:40 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1622s Jul 14 03:25:40 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1623s Jul 14 03:25:41 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1623s Jul 14 03:25:41 1623s Jul 14 03:25:41 Scenario: check restart of sync replica # features/basic_replication.feature:17 1623s Jul 14 03:25:41 Given I shut down postgres2 # features/steps/basic_replication.py:29 1624s Jul 14 03:25:42 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1624s Jul 14 03:25:42 When I start postgres2 # features/steps/basic_replication.py:8 1627s Jul 14 03:25:45 And I shut down postgres1 # features/steps/basic_replication.py:29 1630s Jul 14 03:25:48 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1631s Jul 14 03:25:49 When I start postgres1 # features/steps/basic_replication.py:8 1634s Jul 14 03:25:52 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1634s Jul 14 03:25:52 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1634s Jul 14 03:25:52 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1634s Jul 14 03:25:52 1634s Jul 14 03:25:52 Scenario: check stuck sync replica # features/basic_replication.feature:28 1634s Jul 14 03:25:52 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 1634s Jul 14 03:25:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1634s Jul 14 03:25:52 And I create table on postgres0 # features/steps/basic_replication.py:73 1634s Jul 14 03:25:52 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1635s Jul 14 03:25:53 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1635s Jul 14 03:25:53 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1635s Jul 14 03:25:53 And I load data on postgres0 # features/steps/basic_replication.py:84 1636s Jul 14 03:25:54 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1639s Jul 14 03:25:57 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1639s Jul 14 03:25:57 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1640s Jul 14 03:25:58 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1640s Jul 14 03:25:58 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 1640s Jul 14 03:25:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1640s Jul 14 03:25:58 And I drop table on postgres0 # features/steps/basic_replication.py:73 1640s Jul 14 03:25:58 1640s Jul 14 03:25:58 Scenario: check multi sync replication # features/basic_replication.feature:44 1640s Jul 14 03:25:58 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 1640s Jul 14 03:25:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1640s Jul 14 03:25:58 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1643s Jul 14 03:26:01 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1645s Jul 14 03:26:03 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1645s Jul 14 03:26:03 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 1645s Jul 14 03:26:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1645s Jul 14 03:26:03 And I shut down postgres1 # features/steps/basic_replication.py:29 1648s Jul 14 03:26:06 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1649s Jul 14 03:26:07 When I start postgres1 # features/steps/basic_replication.py:8 1652s Jul 14 03:26:10 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1652s Jul 14 03:26:10 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1652s Jul 14 03:26:10 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1652s Jul 14 03:26:10 1652s Jul 14 03:26:10 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1652s Jul 14 03:26:10 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1653s Jul 14 03:26:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1653s Jul 14 03:26:11 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1655s Jul 14 03:26:13 And I shut down postgres0 # features/steps/basic_replication.py:29 1656s Jul 14 03:26:14 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1658s Jul 14 03:26:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1658s Jul 14 03:26:16 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1677s Jul 14 03:26:35 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1679s Jul 14 03:26:37 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1679s Jul 14 03:26: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 1679s Jul 14 03:26:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1679s Jul 14 03:26:37 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1679s Jul 14 03:26:37 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1682s Jul 14 03:26: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 1682s Jul 14 03:26:40 1682s Jul 14 03:26:40 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1682s Jul 14 03:26:40 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1682s Jul 14 03:26:40 And I start postgres0 # features/steps/basic_replication.py:8 1682s Jul 14 03:26:40 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1686s Jul 14 03:26:44 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1686s Jul 14 03:26:44 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1690s Jul 14 03:26:48 1690s Jul 14 03:26:48 @reject-duplicate-name 1690s Jul 14 03:26:48 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1690s Jul 14 03:26:48 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1692s Jul 14 03:26: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 1696s Jul 14 03:26:54 1696s Jul 14 03:26:54 Feature: cascading replication # features/cascading_replication.feature:1 1696s Jul 14 03:26:54 We should check that patroni can do base backup and streaming from the replica 1696s Jul 14 03:26:54 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1696s Jul 14 03:26:54 Given I start postgres0 # features/steps/basic_replication.py:8 1699s Jul 14 03:26:57 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1699s Jul 14 03:26:57 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1703s Jul 14 03:27:00 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1704s Jul 14 03:27:02 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1704s Jul 14 03:27:02 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1704s Jul 14 03:27:02 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1704s Jul 14 03:27:02 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1707s Jul 14 03:27:05 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1713s Jul 14 03:27:11 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1718s SKIP FEATURE citus: Citus extenstion isn't available 1718s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1718s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1718s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1718s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1718s 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 1718s Jul 14 03:27:16 1718s Jul 14 03:27:16 Feature: citus # features/citus.feature:1 1718s Jul 14 03:27:16 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1718s Jul 14 03:27:16 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1718s Jul 14 03:27:16 Given I start postgres0 in citus group 0 # None 1718s Jul 14 03:27:16 And I start postgres2 in citus group 1 # None 1718s Jul 14 03:27:16 Then postgres0 is a leader in a group 0 after 10 seconds # None 1718s Jul 14 03:27:16 And postgres2 is a leader in a group 1 after 10 seconds # None 1718s Jul 14 03:27:16 When I start postgres1 in citus group 0 # None 1718s Jul 14 03:27:16 And I start postgres3 in citus group 1 # None 1718s Jul 14 03:27:16 Then replication works from postgres0 to postgres1 after 15 seconds # None 1718s Jul 14 03:27:16 Then replication works from postgres2 to postgres3 after 15 seconds # None 1718s Jul 14 03:27:16 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1718s Jul 14 03:27:16 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1718s Jul 14 03:27:16 1718s Jul 14 03:27:16 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1718s Jul 14 03:27:16 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1718s Jul 14 03:27:16 Then postgres1 role is the primary after 10 seconds # None 1718s Jul 14 03:27:16 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1718s Jul 14 03:27:16 And replication works from postgres1 to postgres0 after 15 seconds # None 1718s Jul 14 03:27:16 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1718s Jul 14 03:27:16 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1718s Jul 14 03:27:16 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1718s Jul 14 03:27:16 Then postgres0 role is the primary after 10 seconds # None 1718s Jul 14 03:27:16 And replication works from postgres0 to postgres1 after 15 seconds # None 1718s Jul 14 03:27:16 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1718s Jul 14 03:27:16 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1718s Jul 14 03:27:16 1718s Jul 14 03:27:16 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1718s Jul 14 03:27:16 Given I create a distributed table on postgres0 # None 1718s Jul 14 03:27:16 And I start a thread inserting data on postgres0 # None 1718s Jul 14 03:27:16 When I run patronictl.py switchover batman --group 1 --force # None 1718s Jul 14 03:27:16 Then I receive a response returncode 0 # None 1718s Jul 14 03:27:16 And postgres3 role is the primary after 10 seconds # None 1718s Jul 14 03:27:16 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1718s Jul 14 03:27:16 And replication works from postgres3 to postgres2 after 15 seconds # None 1718s Jul 14 03:27:16 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1718s Jul 14 03:27:16 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1718s Jul 14 03:27:16 And a thread is still alive # None 1718s Jul 14 03:27:16 When I run patronictl.py switchover batman --group 1 --force # None 1718s Jul 14 03:27:16 Then I receive a response returncode 0 # None 1718s Jul 14 03:27:16 And postgres2 role is the primary after 10 seconds # None 1718s Jul 14 03:27:16 And replication works from postgres2 to postgres3 after 15 seconds # None 1718s Jul 14 03:27:16 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1718s Jul 14 03:27:16 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1718s Jul 14 03:27:16 And a thread is still alive # None 1718s Jul 14 03:27:16 When I stop a thread # None 1718s Jul 14 03:27:16 Then a distributed table on postgres0 has expected rows # None 1718s Jul 14 03:27:16 1718s Jul 14 03:27:16 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1718s Jul 14 03:27:16 Given I cleanup a distributed table on postgres0 # None 1718s Jul 14 03:27:16 And I start a thread inserting data on postgres0 # None 1718s Jul 14 03:27:16 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1718s Jul 14 03:27:16 Then I receive a response returncode 0 # None 1718s Jul 14 03:27:16 And postgres2 role is the primary after 10 seconds # None 1718s Jul 14 03:27:16 And replication works from postgres2 to postgres3 after 15 seconds # None 1718s Jul 14 03:27:16 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1718s Jul 14 03:27:16 And a thread is still alive # None 1718s Jul 14 03:27:16 When I stop a thread # None 1718s Jul 14 03:27:16 Then a distributed table on postgres0 has expected rows # None 1718s Jul 14 03:27:16 1718s Jul 14 03:27:16 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1718s Jul 14 03:27:16 Given I start postgres4 in citus group 2 # None 1718s Jul 14 03:27:16 Then postgres4 is a leader in a group 2 after 10 seconds # None 1718s Jul 14 03:27:16 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1718s Jul 14 03:27:16 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1718s Jul 14 03:27:16 Then I receive a response returncode 0 # None 1718s Jul 14 03:27:16 And I receive a response output "+ttl: 20" # None 1718s Jul 14 03:27:16 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1718s Jul 14 03:27:16 When I shut down postgres4 # None 1718s Jul 14 03:27:16 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1718s Jul 14 03:27:16 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1718s Jul 14 03:27:16 Then a transaction finishes in 20 seconds # None 1718s Jul 14 03:27:16 1718s Jul 14 03:27:16 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1718s Jul 14 03:27:16 We should check that patroni can bootstrap a new cluster from a backup 1718s Jul 14 03:27:16 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1718s Jul 14 03:27:16 Given I start postgres0 # features/steps/basic_replication.py:8 1721s Jul 14 03:27:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1721s Jul 14 03:27:19 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1721s Jul 14 03:27:19 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1725s Jul 14 03:27:23 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1726s Jul 14 03:27:24 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1726s Jul 14 03:27:24 1726s Jul 14 03:27:24 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1726s Jul 14 03:27:24 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1726s Jul 14 03:27:24 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1726s Jul 14 03:27:24 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1730s Jul 14 03:27:28 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1730s Jul 14 03:27:28 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1737s Jul 14 03:27:35 1737s Jul 14 03:27:35 Feature: ignored slots # features/ignored_slots.feature:1 1737s Jul 14 03:27:35 1737s Jul 14 03:27:35 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1737s Jul 14 03:27:35 Given I start postgres1 # features/steps/basic_replication.py:8 1740s Jul 14 03:27:38 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1741s Jul 14 03:27:39 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1741s Jul 14 03:27:39 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 1741s Jul 14 03:27:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 1741s Jul 14 03:27:39 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1741s Jul 14 03:27:39 When I shut down postgres1 # features/steps/basic_replication.py:29 1743s Jul 14 03:27:41 And I start postgres1 # features/steps/basic_replication.py:8 1746s Jul 14 03:27:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1746s Jul 14 03:27:44 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1747s Jul 14 03:27:45 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1747s Jul 14 03:27:45 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1747s Jul 14 03:27:45 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1747s Jul 14 03:27:45 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1747s Jul 14 03:27:45 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1747s Jul 14 03:27:45 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1747s Jul 14 03:27:45 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1747s Jul 14 03:27: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 1747s Jul 14 03:27: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 1747s Jul 14 03:27: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 1747s Jul 14 03:27:45 When I start postgres0 # features/steps/basic_replication.py:8 1750s Jul 14 03:27:48 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1751s Jul 14 03:27:49 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1751s Jul 14 03:27:49 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1752s Jul 14 03:27:50 When I shut down postgres1 # features/steps/basic_replication.py:29 1754s Jul 14 03:27:52 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1755s Jul 14 03:27:53 When I start postgres1 # features/steps/basic_replication.py:8 1758s Jul 14 03:27:56 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1758s Jul 14 03:27:56 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1758s Jul 14 03:27:56 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1760s Jul 14 03:27:58 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1760s Jul 14 03:27:58 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1760s Jul 14 03:27:58 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1760s Jul 14 03:27:58 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1760s Jul 14 03:27:58 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1760s Jul 14 03:27:58 When I shut down postgres0 # features/steps/basic_replication.py:29 1762s Jul 14 03:28:00 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1763s Jul 14 03:28:01 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1763s Jul 14 03:28:01 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1763s Jul 14 03:28:01 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1763s Jul 14 03:28:01 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1765s Jul 14 03:28:03 1765s Jul 14 03:28:03 Feature: nostream node # features/nostream_node.feature:1 1765s Jul 14 03:28:03 1765s Jul 14 03:28:03 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1765s Jul 14 03:28:03 When I start postgres0 # features/steps/basic_replication.py:8 1768s Jul 14 03:28:06 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1771s Jul 14 03:28:09 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1772s Jul 14 03:28:10 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1777s Jul 14 03:28:14 1777s Jul 14 03:28:14 @slot-advance 1777s Jul 14 03:28:14 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1777s Jul 14 03:28:14 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1777s Jul 14 03:28:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 1777s Jul 14 03:28:15 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1778s Jul 14 03:28:16 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1780s Jul 14 03:28:17 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1783s Jul 14 03:28:21 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1789s Jul 14 03:28:27 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1789s Jul 14 03:28:27 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1794s Jul 14 03:28:32 1794s Jul 14 03:28:32 Feature: patroni api # features/patroni_api.feature:1 1794s Jul 14 03:28:32 We should check that patroni correctly responds to valid and not-valid API requests. 1794s Jul 14 03:28:32 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1794s Jul 14 03:28:32 Given I start postgres0 # features/steps/basic_replication.py:8 1798s Jul 14 03:28:36 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1798s Jul 14 03:28:36 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1798s Jul 14 03:28:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1798s Jul 14 03:28:36 And I receive a response state running # features/steps/patroni_api.py:98 1798s Jul 14 03:28:36 And I receive a response role master # features/steps/patroni_api.py:98 1798s Jul 14 03:28:36 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1798s Jul 14 03:28:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 1798s Jul 14 03:28:36 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1798s Jul 14 03:28:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1798s Jul 14 03:28:36 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1798s Jul 14 03:28:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 1798s Jul 14 03:28:36 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1798s Jul 14 03:28:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 1798s Jul 14 03:28:36 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1798s Jul 14 03:28:36 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1800s Jul 14 03:28:38 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1800s Jul 14 03:28:38 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1800s Jul 14 03:28:38 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1800s Jul 14 03:28:38 Then I receive a response code 412 # features/steps/patroni_api.py:98 1800s Jul 14 03:28:38 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1800s Jul 14 03:28:38 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1800s Jul 14 03:28:38 Then I receive a response code 400 # features/steps/patroni_api.py:98 1800s Jul 14 03:28:38 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1800s Jul 14 03:28:38 Then I receive a response code 400 # features/steps/patroni_api.py:98 1800s Jul 14 03:28:38 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1800s Jul 14 03:28:38 1800s Jul 14 03:28:38 Scenario: check local configuration reload # features/patroni_api.feature:32 1800s Jul 14 03:28:38 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1800s Jul 14 03:28:38 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1800s Jul 14 03:28:38 Then I receive a response code 202 # features/steps/patroni_api.py:98 1800s Jul 14 03:28:38 1800s Jul 14 03:28:38 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1800s Jul 14 03:28:38 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 1800s Jul 14 03:28:38 Then I receive a response code 200 # features/steps/patroni_api.py:98 1800s Jul 14 03:28:38 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1802s Jul 14 03:28:40 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1802s Jul 14 03:28:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1802s Jul 14 03:28:40 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1802s Jul 14 03:28:40 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1802s Jul 14 03:28:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1802s Jul 14 03:28:40 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1802s Jul 14 03:28:40 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1806s Jul 14 03:28:44 1806s Jul 14 03:28:44 Scenario: check the scheduled restart # features/patroni_api.feature:49 1806s Jul 14 03:28:44 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1808s Jul 14 03:28:46 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1808s Jul 14 03:28:46 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1808s Jul 14 03:28:46 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1808s Jul 14 03:28:46 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 1808s Jul 14 03:28:46 Then I receive a response code 202 # features/steps/patroni_api.py:98 1808s Jul 14 03:28:46 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1816s Jul 14 03:28:54 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1816s Jul 14 03:28:54 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 1817s Jul 14 03:28:55 Then I receive a response code 202 # features/steps/patroni_api.py:98 1817s Jul 14 03:28:55 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 1822s Jul 14 03:29:00 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1823s Jul 14 03:29:01 1823s Jul 14 03:29:01 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1823s Jul 14 03:29:01 Given I start postgres1 # features/steps/basic_replication.py:8 1826s Jul 14 03:29:04 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1827s Jul 14 03:29:05 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1829s Jul 14 03:29:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1829s Jul 14 03:29:07 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1829s Jul 14 03:29:07 waiting for server to shut down.... done 1829s Jul 14 03:29:07 server stopped 1829s Jul 14 03:29:07 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1829s Jul 14 03:29:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 1829s Jul 14 03:29:07 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1830s Jul 14 03:29:08 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1833s Jul 14 03:29:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1833s Jul 14 03:29:11 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1834s Jul 14 03:29:12 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1836s Jul 14 03:29:14 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1837s Jul 14 03:29:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 1837s Jul 14 03:29:15 And I receive a response state running # features/steps/patroni_api.py:98 1837s Jul 14 03:29:15 And I receive a response role replica # features/steps/patroni_api.py:98 1837s Jul 14 03:29:15 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1840s Jul 14 03:29:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1840s Jul 14 03:29:18 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1840s Jul 14 03:29:18 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1841s Jul 14 03:29:19 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1841s Jul 14 03:29:19 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1844s Jul 14 03:29:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1844s Jul 14 03:29:22 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1844s Jul 14 03:29:22 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1845s Jul 14 03:29:23 1845s Jul 14 03:29:23 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1845s Jul 14 03:29:23 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 1848s Jul 14 03:29:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1848s Jul 14 03:29:25 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1848s Jul 14 03:29:25 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1849s Jul 14 03:29:26 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1854s Jul 14 03:29:32 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1854s Jul 14 03:29:32 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1855s Jul 14 03:29:33 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1855s Jul 14 03:29:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 1855s Jul 14 03:29:33 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1855s Jul 14 03:29:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1855s Jul 14 03:29:33 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1855s Jul 14 03:29:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1855s Jul 14 03:29:33 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1855s Jul 14 03:29:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 1855s Jul 14 03:29:33 1855s Jul 14 03:29:33 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1855s Jul 14 03:29:33 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1857s Jul 14 03:29:35 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1857s Jul 14 03:29:35 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1857s Jul 14 03:29:35 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1858s Jul 14 03:29:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1858s Jul 14 03:29:36 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1860s Jul 14 03:29:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1860s Jul 14 03:29:38 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1871s Jul 14 03:29:49 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1872s Jul 14 03:29:50 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1873s Jul 14 03:29:51 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1873s Jul 14 03:29:51 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1875s Jul 14 03:29:53 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1875s Jul 14 03:29:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1875s Jul 14 03:29:53 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1875s Jul 14 03:29:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 1875s Jul 14 03:29:53 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1875s Jul 14 03:29:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 1875s Jul 14 03:29:53 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1875s Jul 14 03:29:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 1879s Jul 14 03:29:57 1879s Jul 14 03:29:57 Feature: permanent slots # features/permanent_slots.feature:1 1879s Jul 14 03:29:57 1879s Jul 14 03:29:57 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1879s Jul 14 03:29:57 Given I start postgres0 # features/steps/basic_replication.py:8 1882s Jul 14 03:30:00 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1882s Jul 14 03:30:00 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1882s Jul 14 03:30:00 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 1882s Jul 14 03:30:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1882s Jul 14 03:30:00 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1882s Jul 14 03:30:00 When I start postgres1 # features/steps/basic_replication.py:8 1886s Jul 14 03:30:04 And I start postgres2 # features/steps/basic_replication.py:8 1889s Jul 14 03:30:07 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1892s Jul 14 03:30:10 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1892s Jul 14 03:30:10 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1892s Jul 14 03:30:10 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1892s Jul 14 03:30:10 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1892s Jul 14 03:30:10 1892s Jul 14 03:30:10 @slot-advance 1892s Jul 14 03:30:10 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1892s Jul 14 03:30:10 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1895s Jul 14 03:30:13 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 1895s Jul 14 03:30:13 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1896s Jul 14 03:30:14 1896s Jul 14 03:30:14 @slot-advance 1896s Jul 14 03:30:14 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1896s Jul 14 03:30:14 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1903s Jul 14 03:30:21 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1903s Jul 14 03:30:21 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1904s Jul 14 03:30:22 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1905s Jul 14 03:30:23 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1905s Jul 14 03:30:23 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1905s Jul 14 03:30:23 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1905s Jul 14 03:30:23 1905s Jul 14 03:30:23 @slot-advance 1905s Jul 14 03:30:23 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1905s Jul 14 03:30:23 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1905s Jul 14 03:30:23 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1905s Jul 14 03:30:23 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1905s Jul 14 03:30:23 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1905s Jul 14 03:30:23 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1905s Jul 14 03:30:23 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1905s Jul 14 03:30:23 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1905s Jul 14 03:30:23 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1905s Jul 14 03:30:23 1905s Jul 14 03:30:23 @slot-advance 1905s Jul 14 03:30:23 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1905s Jul 14 03:30:23 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1905s Jul 14 03:30:23 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1905s Jul 14 03:30:23 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1905s Jul 14 03:30:23 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1909s Jul 14 03:30:27 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1909s Jul 14 03:30:27 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1909s Jul 14 03:30:27 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1909s Jul 14 03:30:27 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1909s Jul 14 03:30:27 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1909s Jul 14 03:30:27 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1909s Jul 14 03:30:27 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1909s Jul 14 03:30:27 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1909s Jul 14 03:30:27 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1909s Jul 14 03:30:27 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1909s Jul 14 03:30:27 1909s Jul 14 03:30:27 @slot-advance 1909s Jul 14 03:30:27 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1909s Jul 14 03:30:27 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1909s Jul 14 03:30:27 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1909s Jul 14 03:30:27 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1909s Jul 14 03:30:27 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1909s Jul 14 03:30:27 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1909s Jul 14 03:30:27 1909s Jul 14 03:30:27 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1909s Jul 14 03:30:27 Given I shut down postgres3 # features/steps/basic_replication.py:29 1910s Jul 14 03:30:28 And I shut down postgres2 # features/steps/basic_replication.py:29 1911s Jul 14 03:30:29 And I shut down postgres0 # features/steps/basic_replication.py:29 1913s Jul 14 03:30:31 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1913s Jul 14 03:30:31 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1913s Jul 14 03:30:31 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1915s Jul 14 03:30:33 1915s Jul 14 03:30:33 Feature: priority replication # features/priority_failover.feature:1 1915s Jul 14 03:30:33 We should check that we can give nodes priority during failover 1915s Jul 14 03:30:33 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1915s Jul 14 03:30:33 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1919s Jul 14 03:30:37 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1922s Jul 14 03:30:40 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1923s Jul 14 03:30:41 When I shut down postgres0 # features/steps/basic_replication.py:29 1925s Jul 14 03:30:43 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 1927s Jul 14 03:30:45 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1927s Jul 14 03:30:45 When I start postgres0 # features/steps/basic_replication.py:8 1929s Jul 14 03:30:47 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1931s Jul 14 03:30:49 1931s Jul 14 03:30:49 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1931s Jul 14 03:30:49 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1934s Jul 14 03:30:52 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1937s Jul 14 03:30:55 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1938s Jul 14 03:30:56 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1939s Jul 14 03:30:57 When I shut down postgres0 # features/steps/basic_replication.py:29 1942s Jul 14 03:30:59 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1943s Jul 14 03:31:00 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 1943s Jul 14 03:31:00 1943s Jul 14 03:31:00 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1943s Jul 14 03:31:00 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1943s Jul 14 03:31:00 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1943s Jul 14 03:31:01 Then I receive a response code 202 # features/steps/patroni_api.py:98 1943s Jul 14 03:31: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 1944s Jul 14 03:31:02 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1945s Jul 14 03:31:03 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1945s Jul 14 03:31:03 Then I receive a response code 412 # features/steps/patroni_api.py:98 1945s Jul 14 03:31:03 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1945s Jul 14 03:31:03 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1945s Jul 14 03:31:03 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1945s Jul 14 03:31:03 Then I receive a response code 202 # features/steps/patroni_api.py:98 1945s Jul 14 03:31:03 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 1946s Jul 14 03:31:04 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1947s Jul 14 03:31:05 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1951s Jul 14 03:31:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1951s Jul 14 03:31:09 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1958s Jul 14 03:31:16 1958s Jul 14 03:31:16 Feature: recovery # features/recovery.feature:1 1958s Jul 14 03:31:16 We want to check that crashed postgres is started back 1958s Jul 14 03:31:16 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1958s Jul 14 03:31:16 Given I start postgres0 # features/steps/basic_replication.py:8 1961s Jul 14 03:31:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1962s Jul 14 03:31:20 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1962s Jul 14 03:31:20 When I start postgres1 # features/steps/basic_replication.py:8 1966s Jul 14 03:31:24 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1966s Jul 14 03:31:24 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1967s Jul 14 03:31:25 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1967s Jul 14 03:31:25 waiting for server to shut down.... done 1967s Jul 14 03:31:25 server stopped 1967s Jul 14 03:31:25 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1970s Jul 14 03:31:28 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1970s Jul 14 03:31:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1970s Jul 14 03:31:28 And I receive a response role master # features/steps/patroni_api.py:98 1970s Jul 14 03:31:28 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1970s Jul 14 03:31:28 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1971s Jul 14 03:31:29 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1973s Jul 14 03:31:31 1973s Jul 14 03:31:31 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1973s Jul 14 03:31:31 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 1973s Jul 14 03:31:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 1973s Jul 14 03:31:31 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1973s Jul 14 03:31:31 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1973s Jul 14 03:31:31 waiting for server to shut down.... done 1973s Jul 14 03:31:31 server stopped 1973s Jul 14 03:31:31 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1975s Jul 14 03:31:33 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1980s Jul 14 03:31:37 1980s Jul 14 03:31:37 Feature: standby cluster # features/standby_cluster.feature:1 1980s Jul 14 03:31:37 1980s Jul 14 03:31:37 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1980s Jul 14 03:31:37 Given I start postgres1 # features/steps/basic_replication.py:8 1984s Jul 14 03:31:42 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1984s Jul 14 03:31:42 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1984s Jul 14 03:31:42 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 1984s Jul 14 03:31:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 1984s Jul 14 03:31:42 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1984s Jul 14 03:31:42 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1987s Jul 14 03:31:45 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 1987s Jul 14 03:31:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1987s Jul 14 03:31:45 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1987s Jul 14 03:31:45 When I start postgres0 # features/steps/basic_replication.py:8 1990s Jul 14 03:31:48 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1991s Jul 14 03:31:49 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1992s Jul 14 03:31:50 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1992s Jul 14 03:31:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 1992s Jul 14 03:31:50 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1992s Jul 14 03:31:50 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1993s Jul 14 03:31:51 1993s Jul 14 03:31:51 @slot-advance 1993s Jul 14 03:31:51 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1993s Jul 14 03:31:51 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1995s Jul 14 03:31:53 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2002s Jul 14 03:32:00 2002s Jul 14 03:32:00 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2002s Jul 14 03:32:00 When I shut down postgres1 # features/steps/basic_replication.py:29 2004s Jul 14 03:32:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2004s Jul 14 03:32:02 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2005s Jul 14 03:32:03 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2006s Jul 14 03:32:04 Then I receive a response code 200 # features/steps/patroni_api.py:98 2006s Jul 14 03:32:04 2006s Jul 14 03:32:04 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2006s Jul 14 03:32:04 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2009s Jul 14 03:32:07 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2010s Jul 14 03:32:08 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2010s Jul 14 03:32:08 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2010s Jul 14 03:32:08 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2010s Jul 14 03:32:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 2010s Jul 14 03:32:08 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2010s Jul 14 03:32:08 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2013s Jul 14 03:32:11 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2013s Jul 14 03:32:11 Then I receive a response code 503 # features/steps/patroni_api.py:98 2013s Jul 14 03:32:11 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2013s Jul 14 03:32:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 2013s Jul 14 03:32:11 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2013s Jul 14 03:32:11 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2013s Jul 14 03:32:11 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2016s Jul 14 03:32:14 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2016s Jul 14 03:32:14 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2017s Jul 14 03:32:15 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2017s Jul 14 03:32:15 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2017s Jul 14 03:32:15 Then I receive a response code 200 # features/steps/patroni_api.py:98 2017s Jul 14 03:32:15 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2017s Jul 14 03:32:15 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2017s Jul 14 03:32:15 2017s Jul 14 03:32:15 Scenario: check switchover # features/standby_cluster.feature:57 2017s Jul 14 03:32:15 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2021s Jul 14 03:32:19 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2021s Jul 14 03:32:19 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2023s Jul 14 03:32:21 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 2023s Jul 14 03:32:21 2023s Jul 14 03:32:21 Scenario: check failover # features/standby_cluster.feature:63 2023s Jul 14 03:32:21 When I kill postgres2 # features/steps/basic_replication.py:34 2024s Jul 14 03:32:22 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2024s Jul 14 03:32:22 waiting for server to shut down.... done 2024s Jul 14 03:32:22 server stopped 2024s Jul 14 03:32:22 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2044s Jul 14 03:32:42 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2044s Jul 14 03:32:42 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2044s Jul 14 03:32:42 Then I receive a response code 503 # features/steps/patroni_api.py:98 2044s Jul 14 03:32:42 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2044s Jul 14 03:32:42 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2045s Jul 14 03:32:43 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 2050s Jul 14 03:32:47 2050s Jul 14 03:32:47 Feature: watchdog # features/watchdog.feature:1 2050s Jul 14 03:32:47 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2050s Jul 14 03:32:47 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2050s Jul 14 03:32:47 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2054s Jul 14 03:32:51 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2055s Jul 14 03:32:53 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2055s Jul 14 03:32:53 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2056s Jul 14 03:32:54 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2056s Jul 14 03:32:54 2056s Jul 14 03:32:54 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2056s Jul 14 03:32:54 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2057s Jul 14 03:32:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2057s Jul 14 03:32:55 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2057s Jul 14 03:32:55 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2061s Jul 14 03:32:59 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2061s Jul 14 03:32:59 2061s Jul 14 03:32:59 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2061s Jul 14 03:32:59 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2063s Jul 14 03:33:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2063s Jul 14 03:33:01 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2065s Jul 14 03:33:03 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2065s Jul 14 03:33:03 2065s Jul 14 03:33:03 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2065s Jul 14 03:33:03 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2065s Jul 14 03:33:03 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2066s Jul 14 03:33:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2066s Jul 14 03:33:04 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2066s Jul 14 03:33:04 2066s Jul 14 03:33:04 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2066s Jul 14 03:33:04 Given I shut down postgres0 # features/steps/basic_replication.py:29 2068s Jul 14 03:33:06 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2068s Jul 14 03:33:06 2068s Jul 14 03:33:06 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2068s Jul 14 03:33:06 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2068s Jul 14 03:33:06 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2071s Jul 14 03:33:09 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2072s Jul 14 03:33:10 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2072s Jul 14 03:33:10 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2095s Jul 14 03:33:33 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.5732.XxCacgzx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.5777.XjHViIGx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.5830.XPnvUCbx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.5882.XfrTHeux 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.5930.XOHgMcmx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6005.XBJDWRKx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6056.XIJBJsqx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6061.XOfDrFmx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6158.XYfzeuGx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6257.XbSrtSWx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6275.XXWAPrPx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6319.XxsHgDix 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6367.XzMdQCXx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6502.XSCgzPYx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6548.XLFSPljx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6604.XXpnawmx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6699.XxZxGEux 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6755.XJboMcvx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6819.XbDhtWgx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.6912.XRHZRnIx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7016.XxZXqegx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7060.XpRRAoLx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7126.XcrwrGUx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7159.XhyEyqPx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7289.XddhzUUx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7339.XmNmmuEx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7359.XwzuqKOx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7398.XmaTusZx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7451.XlefhMmx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7458.XQcgrjQx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7496.XGisYUvx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7540.XqUYUwbx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7708.XAkBcJJx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7712.XFKUXyyx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7720.XAPYGWIx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7860.XXEwCVcx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7907.XqZMXxmx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7951.XzJjxAWx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.7996.XzrSAQix 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.8042.XRivrkFx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.8224.XtHFxqXx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.8268.XCsvmrwx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.8342.XoVDwlxx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.8429.XEHXgDxx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.8475.XPpWexyx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.8838.XEkNTSJx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.8882.XxRabFex 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.9026.XJQROKTx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.9089.XsUezJzx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.9155.XkXmdUcx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.9259.XwoVtPqx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.9381.XvkIuYMx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.9519.XWerUVPx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.9567.XIdMrXGx 2095s Jul 14 03:33:33 Skipping duplicate data .coverage.autopkgtest.9574.XHBwPthx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.9579.XLCgygdx 2095s Jul 14 03:33:33 Combined data file .coverage.autopkgtest.9595.XHZhxMex 2097s Jul 14 03:33:35 Name Stmts Miss Cover 2097s Jul 14 03:33:35 -------------------------------------------------------------------------------------------------------- 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/api.py 770 291 62% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 92 86% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 288 68 76% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/ha.py 1244 373 70% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 173 79% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 214 74% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 31 91% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/utils.py 350 136 61% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/six.py 504 249 51% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2097s Jul 14 03:33:35 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2097s Jul 14 03:33:35 patroni/__init__.py 13 2 85% 2097s Jul 14 03:33:35 patroni/__main__.py 199 199 0% 2097s Jul 14 03:33:35 patroni/api.py 770 770 0% 2097s Jul 14 03:33:35 patroni/async_executor.py 96 69 28% 2097s Jul 14 03:33:35 patroni/collections.py 56 15 73% 2097s Jul 14 03:33:35 patroni/config.py 371 194 48% 2097s Jul 14 03:33:35 patroni/config_generator.py 212 212 0% 2097s Jul 14 03:33:35 patroni/ctl.py 936 411 56% 2097s Jul 14 03:33:35 patroni/daemon.py 76 76 0% 2097s Jul 14 03:33:35 patroni/dcs/__init__.py 646 271 58% 2097s Jul 14 03:33:35 patroni/dcs/consul.py 485 485 0% 2097s Jul 14 03:33:35 patroni/dcs/etcd3.py 679 679 0% 2097s Jul 14 03:33:35 patroni/dcs/etcd.py 603 603 0% 2097s Jul 14 03:33:35 patroni/dcs/exhibitor.py 61 61 0% 2097s Jul 14 03:33:35 patroni/dcs/kubernetes.py 938 938 0% 2097s Jul 14 03:33:35 patroni/dcs/raft.py 319 319 0% 2097s Jul 14 03:33:35 patroni/dcs/zookeeper.py 288 152 47% 2097s Jul 14 03:33:35 patroni/dynamic_loader.py 35 7 80% 2097s Jul 14 03:33:35 patroni/exceptions.py 16 1 94% 2097s Jul 14 03:33:35 patroni/file_perm.py 43 15 65% 2097s Jul 14 03:33:35 patroni/global_config.py 81 18 78% 2097s Jul 14 03:33:35 patroni/ha.py 1244 1244 0% 2097s Jul 14 03:33:35 patroni/log.py 219 173 21% 2097s Jul 14 03:33:35 patroni/postgresql/__init__.py 821 651 21% 2097s Jul 14 03:33:35 patroni/postgresql/available_parameters/__init__.py 21 3 86% 2097s Jul 14 03:33:35 patroni/postgresql/bootstrap.py 252 222 12% 2097s Jul 14 03:33:35 patroni/postgresql/callback_executor.py 55 34 38% 2097s Jul 14 03:33:35 patroni/postgresql/cancellable.py 104 84 19% 2097s Jul 14 03:33:35 patroni/postgresql/config.py 813 698 14% 2097s Jul 14 03:33:35 patroni/postgresql/connection.py 75 50 33% 2097s Jul 14 03:33:35 patroni/postgresql/misc.py 41 29 29% 2097s Jul 14 03:33:35 patroni/postgresql/mpp/__init__.py 89 21 76% 2097s Jul 14 03:33:35 patroni/postgresql/mpp/citus.py 259 259 0% 2097s Jul 14 03:33:35 patroni/postgresql/postmaster.py 170 139 18% 2097s Jul 14 03:33:35 patroni/postgresql/rewind.py 416 416 0% 2097s Jul 14 03:33:35 patroni/postgresql/slots.py 334 285 15% 2097s Jul 14 03:33:35 patroni/postgresql/sync.py 130 96 26% 2097s Jul 14 03:33:35 patroni/postgresql/validator.py 157 52 67% 2097s Jul 14 03:33:35 patroni/psycopg.py 42 28 33% 2097s Jul 14 03:33:35 patroni/raft_controller.py 22 22 0% 2097s Jul 14 03:33:35 patroni/request.py 62 6 90% 2097s Jul 14 03:33:35 patroni/scripts/__init__.py 0 0 100% 2097s Jul 14 03:33:35 patroni/scripts/aws.py 59 59 0% 2097s Jul 14 03:33:35 patroni/scripts/barman/__init__.py 0 0 100% 2097s Jul 14 03:33:35 patroni/scripts/barman/cli.py 51 51 0% 2097s Jul 14 03:33:35 patroni/scripts/barman/config_switch.py 51 51 0% 2097s Jul 14 03:33:35 patroni/scripts/barman/recover.py 37 37 0% 2097s Jul 14 03:33:35 patroni/scripts/barman/utils.py 94 94 0% 2097s Jul 14 03:33:35 patroni/scripts/wale_restore.py 207 207 0% 2097s Jul 14 03:33:35 patroni/tags.py 38 11 71% 2097s Jul 14 03:33:35 patroni/utils.py 350 228 35% 2097s Jul 14 03:33:35 patroni/validator.py 301 215 29% 2097s Jul 14 03:33:35 patroni/version.py 1 0 100% 2097s Jul 14 03:33:35 patroni/watchdog/__init__.py 2 2 0% 2097s Jul 14 03:33:35 patroni/watchdog/base.py 203 203 0% 2097s Jul 14 03:33:35 patroni/watchdog/linux.py 135 135 0% 2097s Jul 14 03:33:35 -------------------------------------------------------------------------------------------------------- 2097s Jul 14 03:33:35 TOTAL 39723 23789 40% 2097s Jul 14 03:33:35 11 features passed, 0 failed, 1 skipped 2097s Jul 14 03:33:35 44 scenarios passed, 0 failed, 5 skipped 2097s Jul 14 03:33:35 444 steps passed, 0 failed, 61 skipped, 0 undefined 2097s Jul 14 03:33:35 Took 7m18.073s 2097s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2097s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2097s + rm -f '/tmp/pgpass?' 2097s ++ id -u 2097s + '[' 0 -eq 0 ']' 2097s + '[' -x /etc/init.d/zookeeper ']' 2097s + /etc/init.d/zookeeper stop 2098s Stopping zookeeper (via systemctl): zookeeper.service. 2098s autopkgtest [03:33:36]: test acceptance-zookeeper: -----------------------] 2099s acceptance-zookeeper PASS 2099s autopkgtest [03:33:37]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 2099s autopkgtest [03:33:37]: test acceptance-raft: preparing testbed 2157s autopkgtest [03:34:35]: testbed dpkg architecture: arm64 2157s autopkgtest [03:34:35]: testbed apt version: 2.9.6 2157s autopkgtest [03:34:35]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2158s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 2158s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [367 kB] 2158s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 2158s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [46.6 kB] 2158s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3284 B] 2158s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [103 kB] 2158s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 2158s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 2158s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 2158s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [417 kB] 2158s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 2158s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [7596 B] 2158s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 2160s Fetched 1134 kB in 1s (1510 kB/s) 2160s Reading package lists... 2163s Reading package lists... 2163s Building dependency tree... 2163s Reading state information... 2163s Calculating upgrade... 2164s The following packages will be upgraded: 2164s libdw1t64 libelf1t64 python3-pkg-resources ubuntu-pro-client 2164s ubuntu-pro-client-l10n 2164s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2164s Need to get 756 kB of archives. 2164s After this operation, 180 kB of additional disk space will be used. 2164s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 libdw1t64 arm64 0.191-2 [262 kB] 2164s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libelf1t64 arm64 0.191-2 [58.0 kB] 2164s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-pkg-resources all 70.3.0-2 [187 kB] 2164s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client-l10n arm64 33.1 [19.2 kB] 2164s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client arm64 33.1 [230 kB] 2165s Fetched 756 kB in 1s (1370 kB/s) 2165s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78392 files and directories currently installed.) 2165s Preparing to unpack .../libdw1t64_0.191-2_arm64.deb ... 2165s Unpacking libdw1t64:arm64 (0.191-2) over (0.191-1) ... 2165s Preparing to unpack .../libelf1t64_0.191-2_arm64.deb ... 2165s Unpacking libelf1t64:arm64 (0.191-2) over (0.191-1) ... 2165s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 2165s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 2165s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_arm64.deb ... 2165s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 2165s Preparing to unpack .../ubuntu-pro-client_33.1_arm64.deb ... 2165s Unpacking ubuntu-pro-client (33.1) over (33) ... 2165s Setting up python3-pkg-resources (70.3.0-2) ... 2166s Setting up libelf1t64:arm64 (0.191-2) ... 2166s Setting up libdw1t64:arm64 (0.191-2) ... 2166s Setting up ubuntu-pro-client (33.1) ... 2167s Setting up ubuntu-pro-client-l10n (33.1) ... 2167s Processing triggers for man-db (2.12.1-2) ... 2168s Processing triggers for libc-bin (2.39-0ubuntu9) ... 2168s Reading package lists... 2168s Building dependency tree... 2168s Reading state information... 2169s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2169s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 2169s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 2169s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 2170s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 2170s Reading package lists... 2171s Reading package lists... 2171s Building dependency tree... 2171s Reading state information... 2171s Calculating upgrade... 2171s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2172s Reading package lists... 2172s Building dependency tree... 2172s Reading state information... 2172s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2172s autopkgtest [03:34:50]: rebooting testbed after setup commands that affected boot 2176s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 2202s Reading package lists... 2202s Building dependency tree... 2202s Reading state information... 2203s Starting pkgProblemResolver with broken count: 0 2203s Starting 2 pkgProblemResolver with broken count: 0 2203s Done 2203s The following additional packages will be installed: 2203s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2203s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libtime-duration-perl 2203s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 2203s postgresql-16 postgresql-client-16 postgresql-client-common 2203s postgresql-common python3-behave python3-cdiff python3-click 2203s python3-colorama python3-coverage python3-dateutil python3-parse 2203s python3-parse-type python3-prettytable python3-psutil python3-psycopg2 2203s python3-pysyncobj python3-wcwidth sphinx-rtd-theme-common ssl-cert 2203s Suggested packages: 2203s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 2203s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 2203s Recommended packages: 2203s javascript-common libjson-xs-perl 2203s The following NEW packages will be installed: 2203s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 2203s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 2203s libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 2203s patroni-doc postgresql postgresql-16 postgresql-client-16 2203s postgresql-client-common postgresql-common python3-behave python3-cdiff 2203s python3-click python3-colorama python3-coverage python3-dateutil 2203s python3-parse python3-parse-type python3-prettytable python3-psutil 2203s python3-psycopg2 python3-pysyncobj python3-wcwidth sphinx-rtd-theme-common 2203s ssl-cert 2204s 0 upgraded, 36 newly installed, 0 to remove and 0 not upgraded. 2204s Need to get 24.0 MB/24.0 MB of archives. 2204s After this operation, 85.8 MB of additional disk space will be used. 2204s Get:1 /tmp/autopkgtest.GqLGLU/5-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [752 B] 2204s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-lato all 2.015-1 [2781 kB] 2204s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 2204s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-client-common all 261 [36.6 kB] 2204s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ssl-cert all 1.1.2ubuntu2 [18.0 kB] 2204s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-common all 261 [162 kB] 2204s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2204s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libio-pty-perl arm64 1:1.20-1build2 [31.1 kB] 2204s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libipc-run-perl all 20231003.0-2 [91.5 kB] 2204s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2204s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2204s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-sphinxdoc all 7.3.7-3 [154 kB] 2204s Get:13 http://ftpmaster.internal/ubuntu oracular/main arm64 libpq5 arm64 16.3-1 [138 kB] 2204s Get:14 http://ftpmaster.internal/ubuntu oracular/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 2204s Get:15 http://ftpmaster.internal/ubuntu oracular/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 2204s Get:16 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 2204s Get:17 http://ftpmaster.internal/ubuntu oracular/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 2204s Get:18 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 2204s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 2204s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-click all 8.1.7-1 [79.1 kB] 2204s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 2204s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 2204s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 2204s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 2204s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psycopg2 arm64 2.9.9-1build1 [130 kB] 2204s Get:26 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 2204s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni all 3.3.1-1 [264 kB] 2204s Get:28 http://ftpmaster.internal/ubuntu oracular/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 2204s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 2204s Get:30 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-client-16 arm64 16.3-1 [1261 kB] 2204s Get:31 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql-16 arm64 16.3-1 [15.3 MB] 2205s Get:32 http://ftpmaster.internal/ubuntu oracular/main arm64 postgresql all 16+261 [11.7 kB] 2205s Get:33 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-parse all 1.19.0-0.2 [18.1 kB] 2205s Get:34 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 2205s Get:35 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 2205s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 2205s Preconfiguring packages ... 2205s Fetched 24.0 MB in 1s (18.1 MB/s) 2205s Selecting previously unselected package fonts-lato. 2206s (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 ... 78404 files and directories currently installed.) 2206s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2206s Unpacking fonts-lato (2.015-1) ... 2206s Selecting previously unselected package libjson-perl. 2206s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2206s Unpacking libjson-perl (4.10000-1) ... 2206s Selecting previously unselected package postgresql-client-common. 2206s Preparing to unpack .../02-postgresql-client-common_261_all.deb ... 2206s Unpacking postgresql-client-common (261) ... 2206s Selecting previously unselected package ssl-cert. 2206s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu2_all.deb ... 2206s Unpacking ssl-cert (1.1.2ubuntu2) ... 2206s Selecting previously unselected package postgresql-common. 2206s Preparing to unpack .../04-postgresql-common_261_all.deb ... 2206s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2206s Unpacking postgresql-common (261) ... 2206s Selecting previously unselected package fonts-font-awesome. 2206s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2206s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2206s Selecting previously unselected package libio-pty-perl. 2206s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1build2_arm64.deb ... 2206s Unpacking libio-pty-perl (1:1.20-1build2) ... 2206s Selecting previously unselected package libipc-run-perl. 2206s Preparing to unpack .../07-libipc-run-perl_20231003.0-2_all.deb ... 2206s Unpacking libipc-run-perl (20231003.0-2) ... 2206s Selecting previously unselected package libjs-jquery. 2206s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2206s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2206s Selecting previously unselected package libjs-underscore. 2206s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2206s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2206s Selecting previously unselected package libjs-sphinxdoc. 2206s Preparing to unpack .../10-libjs-sphinxdoc_7.3.7-3_all.deb ... 2206s Unpacking libjs-sphinxdoc (7.3.7-3) ... 2206s Selecting previously unselected package libpq5:arm64. 2206s Preparing to unpack .../11-libpq5_16.3-1_arm64.deb ... 2206s Unpacking libpq5:arm64 (16.3-1) ... 2206s Selecting previously unselected package libtime-duration-perl. 2206s Preparing to unpack .../12-libtime-duration-perl_1.21-2_all.deb ... 2206s Unpacking libtime-duration-perl (1.21-2) ... 2206s Selecting previously unselected package libtimedate-perl. 2206s Preparing to unpack .../13-libtimedate-perl_2.3300-2_all.deb ... 2206s Unpacking libtimedate-perl (2.3300-2) ... 2206s Selecting previously unselected package libxslt1.1:arm64. 2206s Preparing to unpack .../14-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 2206s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 2206s Selecting previously unselected package moreutils. 2206s Preparing to unpack .../15-moreutils_0.69-1_arm64.deb ... 2206s Unpacking moreutils (0.69-1) ... 2206s Selecting previously unselected package python3-cdiff. 2206s Preparing to unpack .../16-python3-cdiff_1.0-1.1_all.deb ... 2206s Unpacking python3-cdiff (1.0-1.1) ... 2207s Selecting previously unselected package python3-colorama. 2207s Preparing to unpack .../17-python3-colorama_0.4.6-4_all.deb ... 2207s Unpacking python3-colorama (0.4.6-4) ... 2207s Selecting previously unselected package python3-click. 2207s Preparing to unpack .../18-python3-click_8.1.7-1_all.deb ... 2207s Unpacking python3-click (8.1.7-1) ... 2207s Selecting previously unselected package python3-dateutil. 2207s Preparing to unpack .../19-python3-dateutil_2.9.0-2_all.deb ... 2207s Unpacking python3-dateutil (2.9.0-2) ... 2207s Selecting previously unselected package python3-wcwidth. 2207s Preparing to unpack .../20-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 2207s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 2207s Selecting previously unselected package python3-prettytable. 2207s Preparing to unpack .../21-python3-prettytable_3.10.1-1_all.deb ... 2207s Unpacking python3-prettytable (3.10.1-1) ... 2207s Selecting previously unselected package python3-psutil. 2207s Preparing to unpack .../22-python3-psutil_5.9.8-2build2_arm64.deb ... 2207s Unpacking python3-psutil (5.9.8-2build2) ... 2207s Selecting previously unselected package python3-psycopg2. 2207s Preparing to unpack .../23-python3-psycopg2_2.9.9-1build1_arm64.deb ... 2207s Unpacking python3-psycopg2 (2.9.9-1build1) ... 2207s Selecting previously unselected package python3-pysyncobj. 2207s Preparing to unpack .../24-python3-pysyncobj_0.3.12-1_all.deb ... 2207s Unpacking python3-pysyncobj (0.3.12-1) ... 2207s Selecting previously unselected package patroni. 2207s Preparing to unpack .../25-patroni_3.3.1-1_all.deb ... 2207s Unpacking patroni (3.3.1-1) ... 2207s Selecting previously unselected package sphinx-rtd-theme-common. 2207s Preparing to unpack .../26-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 2207s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 2207s Selecting previously unselected package patroni-doc. 2207s Preparing to unpack .../27-patroni-doc_3.3.1-1_all.deb ... 2207s Unpacking patroni-doc (3.3.1-1) ... 2207s Selecting previously unselected package postgresql-client-16. 2207s Preparing to unpack .../28-postgresql-client-16_16.3-1_arm64.deb ... 2207s Unpacking postgresql-client-16 (16.3-1) ... 2207s Selecting previously unselected package postgresql-16. 2207s Preparing to unpack .../29-postgresql-16_16.3-1_arm64.deb ... 2207s Unpacking postgresql-16 (16.3-1) ... 2207s Selecting previously unselected package postgresql. 2207s Preparing to unpack .../30-postgresql_16+261_all.deb ... 2207s Unpacking postgresql (16+261) ... 2207s Selecting previously unselected package python3-parse. 2207s Preparing to unpack .../31-python3-parse_1.19.0-0.2_all.deb ... 2207s Unpacking python3-parse (1.19.0-0.2) ... 2207s Selecting previously unselected package python3-parse-type. 2207s Preparing to unpack .../32-python3-parse-type_0.6.2-1_all.deb ... 2207s Unpacking python3-parse-type (0.6.2-1) ... 2207s Selecting previously unselected package python3-behave. 2207s Preparing to unpack .../33-python3-behave_1.2.6-5_all.deb ... 2207s Unpacking python3-behave (1.2.6-5) ... 2207s Selecting previously unselected package python3-coverage. 2207s Preparing to unpack .../34-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 2207s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2207s Selecting previously unselected package autopkgtest-satdep. 2207s Preparing to unpack .../35-5-autopkgtest-satdep.deb ... 2207s Unpacking autopkgtest-satdep (0) ... 2208s Setting up postgresql-client-common (261) ... 2208s Setting up fonts-lato (2.015-1) ... 2208s Setting up libio-pty-perl (1:1.20-1build2) ... 2208s Setting up python3-pysyncobj (0.3.12-1) ... 2208s Setting up python3-colorama (0.4.6-4) ... 2208s Setting up python3-cdiff (1.0-1.1) ... 2208s Setting up libpq5:arm64 (16.3-1) ... 2208s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 2208s Setting up python3-click (8.1.7-1) ... 2208s Setting up python3-psutil (5.9.8-2build2) ... 2209s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 2209s Setting up ssl-cert (1.1.2ubuntu2) ... 2209s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2210s Setting up python3-psycopg2 (2.9.9-1build1) ... 2210s Setting up libipc-run-perl (20231003.0-2) ... 2210s Setting up libtime-duration-perl (1.21-2) ... 2210s Setting up libtimedate-perl (2.3300-2) ... 2210s Setting up python3-parse (1.19.0-0.2) ... 2210s Setting up libjson-perl (4.10000-1) ... 2210s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 2210s Setting up python3-dateutil (2.9.0-2) ... 2210s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2210s Setting up python3-prettytable (3.10.1-1) ... 2210s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2210s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 2210s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2210s Setting up moreutils (0.69-1) ... 2210s Setting up postgresql-client-16 (16.3-1) ... 2211s 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 2211s Setting up python3-parse-type (0.6.2-1) ... 2211s Setting up postgresql-common (261) ... 2211s 2211s Creating config file /etc/postgresql-common/createcluster.conf with new version 2212s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2212s Removing obsolete dictionary files: 2212s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2213s Setting up libjs-sphinxdoc (7.3.7-3) ... 2213s Setting up python3-behave (1.2.6-5) ... 2213s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2213s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2213s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2213s """Registers a custom type that will be available to "parse" 2213s Setting up patroni (3.3.1-1) ... 2213s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2213s Setting up postgresql-16 (16.3-1) ... 2214s Creating new PostgreSQL cluster 16/main ... 2214s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2214s The files belonging to this database system will be owned by user "postgres". 2214s This user must also own the server process. 2214s 2214s The database cluster will be initialized with locale "C.UTF-8". 2214s The default database encoding has accordingly been set to "UTF8". 2214s The default text search configuration will be set to "english". 2214s 2214s Data page checksums are disabled. 2214s 2214s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2214s creating subdirectories ... ok 2214s selecting dynamic shared memory implementation ... posix 2214s selecting default max_connections ... 100 2214s selecting default shared_buffers ... 128MB 2214s selecting default time zone ... Etc/UTC 2214s creating configuration files ... ok 2214s running bootstrap script ... ok 2214s performing post-bootstrap initialization ... ok 2214s syncing data to disk ... ok 2218s Setting up patroni-doc (3.3.1-1) ... 2218s Setting up postgresql (16+261) ... 2218s Setting up autopkgtest-satdep (0) ... 2218s Processing triggers for man-db (2.12.1-2) ... 2219s Processing triggers for libc-bin (2.39-0ubuntu9) ... 2223s (Reading database ... 81383 files and directories currently installed.) 2223s Removing autopkgtest-satdep (0) ... 2225s autopkgtest [03:35:43]: test acceptance-raft: debian/tests/acceptance raft 2225s autopkgtest [03:35:43]: test acceptance-raft: [----------------------- 2225s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2225s ++ ls -1r /usr/lib/postgresql/ 2225s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2225s + '[' 16 == 10 -o 16 == 11 ']' 2225s + echo '### PostgreSQL 16 acceptance-raft ###' 2225s + 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' 2225s ### PostgreSQL 16 acceptance-raft ### 2231s Jul 14 03:35:49 Feature: basic replication # features/basic_replication.feature:1 2231s Jul 14 03:35:49 We should check that the basic bootstrapping, replication and failover works. 2231s Jul 14 03:35:49 Scenario: check replication of a single table # features/basic_replication.feature:4 2231s Jul 14 03:35:49 Given I start postgres0 # features/steps/basic_replication.py:8 2234s Jul 14 03:35:52 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2235s Jul 14 03:35:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2235s Jul 14 03:35:53 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 2235s Jul 14 03:35:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 2235s Jul 14 03:35:53 When I start postgres1 # features/steps/basic_replication.py:8 2238s Jul 14 03:35:56 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2241s Jul 14 03:35:59 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2241s Jul 14 03:35:59 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2241s Jul 14 03:35:59 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2243s Jul 14 03:36:00 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2243s Jul 14 03:36:00 2243s Jul 14 03:36:00 Scenario: check restart of sync replica # features/basic_replication.feature:17 2243s Jul 14 03:36:00 Given I shut down postgres2 # features/steps/basic_replication.py:29 2244s Jul 14 03:36:01 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2244s Jul 14 03:36:01 When I start postgres2 # features/steps/basic_replication.py:8 2247s Jul 14 03:36:05 And I shut down postgres1 # features/steps/basic_replication.py:29 2250s Jul 14 03:36:08 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2251s Jul 14 03:36:09 When I start postgres1 # features/steps/basic_replication.py:8 2254s Jul 14 03:36:12 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2254s Jul 14 03:36:12 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2254s Jul 14 03:36:12 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2254s Jul 14 03:36:12 2254s Jul 14 03:36:12 Scenario: check stuck sync replica # features/basic_replication.feature:28 2254s Jul 14 03:36:12 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 2254s Jul 14 03:36:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 2254s Jul 14 03:36:12 And I create table on postgres0 # features/steps/basic_replication.py:73 2254s Jul 14 03:36:12 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2255s Jul 14 03:36:13 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2255s Jul 14 03:36:13 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2255s Jul 14 03:36:13 And I load data on postgres0 # features/steps/basic_replication.py:84 2255s Jul 14 03:36:13 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2258s Jul 14 03:36:16 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2258s Jul 14 03:36:16 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2258s Jul 14 03:36:16 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2258s Jul 14 03:36:16 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 2258s Jul 14 03:36:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2258s Jul 14 03:36:16 And I drop table on postgres0 # features/steps/basic_replication.py:73 2258s Jul 14 03:36:16 2258s Jul 14 03:36:16 Scenario: check multi sync replication # features/basic_replication.feature:44 2258s Jul 14 03:36:16 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 2259s Jul 14 03:36:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2259s Jul 14 03:36:16 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2263s Jul 14 03:36:20 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2263s Jul 14 03:36:21 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2263s Jul 14 03:36:21 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 2263s Jul 14 03:36:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 2263s Jul 14 03:36:21 And I shut down postgres1 # features/steps/basic_replication.py:29 2266s Jul 14 03:36:24 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2267s Jul 14 03:36:25 When I start postgres1 # features/steps/basic_replication.py:8 2270s Jul 14 03:36:28 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2271s Jul 14 03:36:29 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2271s Jul 14 03:36:29 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2271s Jul 14 03:36:29 2271s Jul 14 03:36:29 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2271s Jul 14 03:36:29 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2272s Jul 14 03:36:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2272s Jul 14 03:36:30 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2274s Jul 14 03:36:32 And I shut down postgres0 # features/steps/basic_replication.py:29 2275s Jul 14 03:36:33 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2277s Jul 14 03:36:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2277s Jul 14 03:36:35 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2296s Jul 14 03:36:54 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2298s Jul 14 03:36:56 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2298s Jul 14 03:36:56 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 2298s Jul 14 03:36:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2298s Jul 14 03:36:56 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2298s Jul 14 03:36:56 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2301s Jul 14 03:36:59 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2301s Jul 14 03:36:59 2301s Jul 14 03:36:59 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2301s Jul 14 03:36:59 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2302s Jul 14 03:36:59 And I start postgres0 # features/steps/basic_replication.py:8 2302s Jul 14 03:36:59 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2306s Jul 14 03:37:04 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2306s Jul 14 03:37:04 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2310s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2325s Jul 14 03:37:23 2325s Jul 14 03:37:23 @reject-duplicate-name 2325s Jul 14 03:37:23 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2325s Jul 14 03:37:23 Given I start duplicate postgres0 on port 8011 # None 2325s Jul 14 03:37:23 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 2325s Jul 14 03:37:23 2325s Jul 14 03:37:23 Feature: cascading replication # features/cascading_replication.feature:1 2325s Jul 14 03:37:23 We should check that patroni can do base backup and streaming from the replica 2325s Jul 14 03:37:23 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2325s Jul 14 03:37:23 Given I start postgres0 # features/steps/basic_replication.py:8 2328s Jul 14 03:37:26 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2328s Jul 14 03:37:26 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2331s Jul 14 03:37:29 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2332s Jul 14 03:37:30 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2332s Jul 14 03:37:30 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2332s Jul 14 03:37:30 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2332s Jul 14 03:37:30 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2336s Jul 14 03:37:34 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2338s Jul 14 03:37:36 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2353s Jul 14 03:37:51 2353s SKIP FEATURE citus: Citus extenstion isn't available 2353s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2353s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2353s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2353s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2353s 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 2353s Jul 14 03:37:51 Feature: citus # features/citus.feature:1 2353s Jul 14 03:37:51 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2353s Jul 14 03:37:51 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2353s Jul 14 03:37:51 Given I start postgres0 in citus group 0 # None 2353s Jul 14 03:37:51 And I start postgres2 in citus group 1 # None 2353s Jul 14 03:37:51 Then postgres0 is a leader in a group 0 after 10 seconds # None 2353s Jul 14 03:37:51 And postgres2 is a leader in a group 1 after 10 seconds # None 2353s Jul 14 03:37:51 When I start postgres1 in citus group 0 # None 2353s Jul 14 03:37:51 And I start postgres3 in citus group 1 # None 2353s Jul 14 03:37:51 Then replication works from postgres0 to postgres1 after 15 seconds # None 2353s Jul 14 03:37:51 Then replication works from postgres2 to postgres3 after 15 seconds # None 2353s Jul 14 03:37:51 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2353s Jul 14 03:37:51 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2353s Jul 14 03:37:51 2353s Jul 14 03:37:51 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2353s Jul 14 03:37:51 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2353s Jul 14 03:37:51 Then postgres1 role is the primary after 10 seconds # None 2353s Jul 14 03:37:51 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2353s Jul 14 03:37:51 And replication works from postgres1 to postgres0 after 15 seconds # None 2353s Jul 14 03:37:51 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2353s Jul 14 03:37:51 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2353s Jul 14 03:37:51 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2353s Jul 14 03:37:51 Then postgres0 role is the primary after 10 seconds # None 2353s Jul 14 03:37:51 And replication works from postgres0 to postgres1 after 15 seconds # None 2353s Jul 14 03:37:51 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2353s Jul 14 03:37:51 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2353s Jul 14 03:37:51 2353s Jul 14 03:37:51 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2353s Jul 14 03:37:51 Given I create a distributed table on postgres0 # None 2353s Jul 14 03:37:51 And I start a thread inserting data on postgres0 # None 2353s Jul 14 03:37:51 When I run patronictl.py switchover batman --group 1 --force # None 2353s Jul 14 03:37:51 Then I receive a response returncode 0 # None 2353s Jul 14 03:37:51 And postgres3 role is the primary after 10 seconds # None 2353s Jul 14 03:37:51 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2353s Jul 14 03:37:51 And replication works from postgres3 to postgres2 after 15 seconds # None 2353s Jul 14 03:37:51 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2353s Jul 14 03:37:51 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2353s Jul 14 03:37:51 And a thread is still alive # None 2353s Jul 14 03:37:51 When I run patronictl.py switchover batman --group 1 --force # None 2353s Jul 14 03:37:51 Then I receive a response returncode 0 # None 2353s Jul 14 03:37:51 And postgres2 role is the primary after 10 seconds # None 2353s Jul 14 03:37:51 And replication works from postgres2 to postgres3 after 15 seconds # None 2353s Jul 14 03:37:51 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2353s Jul 14 03:37:51 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2353s Jul 14 03:37:51 And a thread is still alive # None 2353s Jul 14 03:37:51 When I stop a thread # None 2353s Jul 14 03:37:51 Then a distributed table on postgres0 has expected rows # None 2353s Jul 14 03:37:51 2353s Jul 14 03:37:51 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2353s Jul 14 03:37:51 Given I cleanup a distributed table on postgres0 # None 2353s Jul 14 03:37:51 And I start a thread inserting data on postgres0 # None 2353s Jul 14 03:37:51 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2353s Jul 14 03:37:51 Then I receive a response returncode 0 # None 2353s Jul 14 03:37:51 And postgres2 role is the primary after 10 seconds # None 2353s Jul 14 03:37:51 And replication works from postgres2 to postgres3 after 15 seconds # None 2353s Jul 14 03:37:51 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2353s Jul 14 03:37:51 And a thread is still alive # None 2353s Jul 14 03:37:51 When I stop a thread # None 2353s Jul 14 03:37:51 Then a distributed table on postgres0 has expected rows # None 2359s Jul 14 03:37:57 2359s Jul 14 03:37:57 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2359s Jul 14 03:37:57 Given I start postgres4 in citus group 2 # None 2359s Jul 14 03:37:57 Then postgres4 is a leader in a group 2 after 10 seconds # None 2359s Jul 14 03:37:57 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2359s Jul 14 03:37:57 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2359s Jul 14 03:37:57 Then I receive a response returncode 0 # None 2359s Jul 14 03:37:57 And I receive a response output "+ttl: 20" # None 2359s Jul 14 03:37:57 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2359s Jul 14 03:37:57 When I shut down postgres4 # None 2359s Jul 14 03:37:57 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2359s Jul 14 03:37:57 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2359s Jul 14 03:37:57 Then a transaction finishes in 20 seconds # None 2359s Jul 14 03:37:57 2359s Jul 14 03:37:57 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2359s Jul 14 03:37:57 We should check that patroni can bootstrap a new cluster from a backup 2359s Jul 14 03:37:57 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2359s Jul 14 03:37:57 Given I start postgres0 # features/steps/basic_replication.py:8 2362s Jul 14 03:38:00 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2362s Jul 14 03:38:00 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2363s Jul 14 03:38:00 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2367s Jul 14 03:38:05 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2368s Jul 14 03:38:06 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2368s Jul 14 03:38:06 2368s Jul 14 03:38:06 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2368s Jul 14 03:38:06 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2368s Jul 14 03:38:06 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2368s Jul 14 03:38:06 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2374s Jul 14 03:38:12 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2375s Jul 14 03:38:13 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2391s Jul 14 03:38:29 2391s Jul 14 03:38:29 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2391s Jul 14 03:38:29 We should check the basic dcs failsafe mode functioning 2391s Jul 14 03:38:29 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2391s Jul 14 03:38:29 Given I start postgres0 # features/steps/basic_replication.py:8 2394s Jul 14 03:38:32 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2396s Jul 14 03:38:34 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2396s Jul 14 03:38:34 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 2396s Jul 14 03:38:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 2396s Jul 14 03:38:34 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2396s Jul 14 03:38:34 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2396s Jul 14 03:38:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 2396s Jul 14 03:38:34 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2396s Jul 14 03:38:34 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 2396s Jul 14 03:38:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 2396s Jul 14 03:38:34 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 2396s Jul 14 03:38:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 2396s Jul 14 03:38:34 2396s Jul 14 03:38:34 @dcs-failsafe 2396s Jul 14 03:38:34 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2396s Jul 14 03:38:34 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2396s Jul 14 03:38:34 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 2400s Jul 14 03:38:38 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2400s Jul 14 03:38:38 2400s Jul 14 03:38:38 @dcs-failsafe 2400s Jul 14 03:38:38 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2400s Jul 14 03:38:38 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2400s Jul 14 03:38:38 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2401s Jul 14 03:38:39 And I shut down postgres0 # features/steps/basic_replication.py:29 2403s Jul 14 03:38:41 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2406s Jul 14 03:38:44 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2406s Jul 14 03:38:44 2406s Jul 14 03:38:44 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2406s Jul 14 03:38:44 Given I start postgres0 # features/steps/basic_replication.py:8 2409s Jul 14 03:38:47 And I start postgres1 # features/steps/basic_replication.py:8 2409s Jul 14 03:38:47 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2410s Jul 14 03:38:48 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2410s Jul 14 03:38:48 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2413s Jul 14 03:38:51 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2413s Jul 14 03:38:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 2413s Jul 14 03:38:51 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2413s Jul 14 03:38:51 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2413s Jul 14 03:38:51 2413s Jul 14 03:38:51 @dcs-failsafe @slot-advance 2413s Jul 14 03:38:51 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2413s Jul 14 03:38:51 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2413s Jul 14 03:38:51 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2414s Jul 14 03:38:52 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2417s Jul 14 03:38:55 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2417s Jul 14 03:38:55 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 2422s Jul 14 03:39:00 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2422s Jul 14 03:39:00 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2422s Jul 14 03:39:00 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2422s Jul 14 03:39:00 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2422s Jul 14 03:39:00 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2422s Jul 14 03:39:00 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2429s Jul 14 03:39:07 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2429s Jul 14 03:39:07 2429s Jul 14 03:39:07 @dcs-failsafe 2429s Jul 14 03:39:07 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2429s Jul 14 03:39:07 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2429s Jul 14 03:39:07 And I kill postgres1 # features/steps/basic_replication.py:34 2430s Jul 14 03:39:08 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2430s Jul 14 03:39:08 waiting for server to shut down.... done 2430s Jul 14 03:39:08 server stopped 2430s Jul 14 03:39:08 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2432s Jul 14 03:39:10 2432s Jul 14 03:39:10 @dcs-failsafe 2432s Jul 14 03:39:10 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2432s Jul 14 03:39:10 Given I kill postgres0 # features/steps/basic_replication.py:34 2433s Jul 14 03:39:11 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2433s Jul 14 03:39:11 waiting for server to shut down.... done 2433s Jul 14 03:39:11 server stopped 2433s Jul 14 03:39:11 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2433s Jul 14 03:39:11 When I start postgres1 # features/steps/basic_replication.py:8 2436s Jul 14 03:39:14 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2437s Jul 14 03:39:15 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2439s Jul 14 03:39:17 2439s Jul 14 03:39:17 @dcs-failsafe 2439s Jul 14 03:39:17 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2439s Jul 14 03:39:17 Given I start postgres0 # features/steps/basic_replication.py:8 2443s Jul 14 03:39:21 And I start postgres2 # features/steps/basic_replication.py:8 2448s Jul 14 03:39:26 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2450s Jul 14 03:39:28 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2450s Jul 14 03:39:28 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2450s Jul 14 03:39:28 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2451s Jul 14 03:39:29 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2451s Jul 14 03:39:29 2451s Jul 14 03:39:29 @dcs-failsafe @slot-advance 2451s Jul 14 03:39:29 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2451s Jul 14 03:39: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 2451s Jul 14 03:39:29 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2458s Jul 14 03:39:36 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2459s Jul 14 03:39:37 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2459s Jul 14 03:39:37 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2460s Jul 14 03:39:38 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2460s Jul 14 03:39:38 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2460s Jul 14 03:39:38 2460s Jul 14 03:39:38 @dcs-failsafe 2460s Jul 14 03:39:38 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 2460s Jul 14 03:39:38 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2460s Jul 14 03:39:38 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 2465s Jul 14 03:39:43 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2465s Jul 14 03:39:43 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2465s Jul 14 03:39:43 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2465s Jul 14 03:39:43 2465s Jul 14 03:39:43 @dcs-failsafe @slot-advance 2465s Jul 14 03:39:43 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 2465s Jul 14 03:39:43 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2465s Jul 14 03:39:43 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2466s Jul 14 03:39:44 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2466s Jul 14 03:39:44 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2466s Jul 14 03:39:44 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2472s Jul 14 03:39:50 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2472s Jul 14 03:39:50 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2472s Jul 14 03:39:50 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2472s Jul 14 03:39:50 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2484s Jul 14 03:40:02 2484s Jul 14 03:40:02 Feature: ignored slots # features/ignored_slots.feature:1 2484s Jul 14 03:40:02 2484s Jul 14 03:40:02 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2484s Jul 14 03:40:02 Given I start postgres1 # features/steps/basic_replication.py:8 2488s Jul 14 03:40:06 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2488s Jul 14 03:40:06 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2488s Jul 14 03:40:06 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 2488s Jul 14 03:40:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2488s Jul 14 03:40:06 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2488s Jul 14 03:40:06 When I shut down postgres1 # features/steps/basic_replication.py:29 2490s Jul 14 03:40:08 And I start postgres1 # features/steps/basic_replication.py:8 2493s Jul 14 03:40:11 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2496s Jul 14 03:40:14 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2500s Jul 14 03:40:18 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2500s Jul 14 03:40:18 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2500s Jul 14 03:40:18 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2500s Jul 14 03:40:18 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2500s Jul 14 03:40:18 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2500s Jul 14 03:40:18 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2500s Jul 14 03:40:18 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2500s Jul 14 03:40:18 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2500s Jul 14 03:40:18 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2500s Jul 14 03:40:18 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2500s Jul 14 03:40:18 When I start postgres0 # features/steps/basic_replication.py:8 2505s Jul 14 03:40:23 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2505s Jul 14 03:40:23 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2505s Jul 14 03:40:23 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2506s Jul 14 03:40:24 When I shut down postgres1 # features/steps/basic_replication.py:29 2508s Jul 14 03:40:26 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2509s Jul 14 03:40:27 When I start postgres1 # features/steps/basic_replication.py:8 2513s Jul 14 03:40:31 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2513s Jul 14 03:40:31 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2513s Jul 14 03:40:31 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2515s Jul 14 03:40:33 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2515s Jul 14 03:40:33 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2515s Jul 14 03:40:33 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2515s Jul 14 03:40:33 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2515s Jul 14 03:40:33 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2515s Jul 14 03:40:33 When I shut down postgres0 # features/steps/basic_replication.py:29 2517s Jul 14 03:40:35 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2518s Jul 14 03:40:36 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2518s Jul 14 03:40:36 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2518s Jul 14 03:40:36 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2518s Jul 14 03:40:36 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2527s Jul 14 03:40:45 2527s Jul 14 03:40:45 Feature: nostream node # features/nostream_node.feature:1 2527s Jul 14 03:40:45 2527s Jul 14 03:40:45 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2527s Jul 14 03:40:45 When I start postgres0 # features/steps/basic_replication.py:8 2531s Jul 14 03:40:49 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2535s Jul 14 03:40:53 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2536s Jul 14 03:40:54 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2540s Jul 14 03:40:58 2540s Jul 14 03:40:58 @slot-advance 2540s Jul 14 03:40:58 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2540s Jul 14 03:40:58 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 2540s Jul 14 03:40:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 2540s Jul 14 03:40:58 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2543s Jul 14 03:41:01 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2544s Jul 14 03:41:02 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2548s Jul 14 03:41:06 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2548s Jul 14 03:41:06 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2548s Jul 14 03:41:06 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2563s Jul 14 03:41:21 2563s Jul 14 03:41:21 Feature: patroni api # features/patroni_api.feature:1 2563s Jul 14 03:41:21 We should check that patroni correctly responds to valid and not-valid API requests. 2563s Jul 14 03:41:21 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2563s Jul 14 03:41:21 Given I start postgres0 # features/steps/basic_replication.py:8 2572s Jul 14 03:41:30 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2573s Jul 14 03:41:31 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2573s Jul 14 03:41:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 2573s Jul 14 03:41:31 And I receive a response state running # features/steps/patroni_api.py:98 2573s Jul 14 03:41:31 And I receive a response role master # features/steps/patroni_api.py:98 2573s Jul 14 03:41:31 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2573s Jul 14 03:41:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 2573s Jul 14 03:41:31 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2573s Jul 14 03:41:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 2573s Jul 14 03:41:31 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2573s Jul 14 03:41:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 2573s Jul 14 03:41:31 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2573s Jul 14 03:41:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 2573s Jul 14 03:41:31 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2573s Jul 14 03:41:31 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2575s Jul 14 03:41:33 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2575s Jul 14 03:41:33 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2575s Jul 14 03:41:33 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2575s Jul 14 03:41:33 Then I receive a response code 412 # features/steps/patroni_api.py:98 2575s Jul 14 03:41:33 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2575s Jul 14 03:41:33 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2575s Jul 14 03:41:33 Then I receive a response code 400 # features/steps/patroni_api.py:98 2575s Jul 14 03:41:33 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2575s Jul 14 03:41:33 Then I receive a response code 400 # features/steps/patroni_api.py:98 2575s Jul 14 03:41:33 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2575s Jul 14 03:41:33 2575s Jul 14 03:41:33 Scenario: check local configuration reload # features/patroni_api.feature:32 2575s Jul 14 03:41:33 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2575s Jul 14 03:41:33 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2575s Jul 14 03:41:33 Then I receive a response code 202 # features/steps/patroni_api.py:98 2575s Jul 14 03:41:33 2575s Jul 14 03:41:33 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2575s Jul 14 03:41:33 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 2575s Jul 14 03:41:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 2575s Jul 14 03:41:33 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2578s Jul 14 03:41:36 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2578s Jul 14 03:41:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 2578s Jul 14 03:41:36 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2578s Jul 14 03:41:36 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2578s Jul 14 03:41:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 2578s Jul 14 03:41:36 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2578s Jul 14 03:41:36 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2582s Jul 14 03:41:40 2582s Jul 14 03:41:40 Scenario: check the scheduled restart # features/patroni_api.feature:49 2582s Jul 14 03:41:40 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2583s Jul 14 03:41:41 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2583s Jul 14 03:41:41 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2583s Jul 14 03:41:41 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2584s Jul 14 03:41:41 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 2584s Jul 14 03:41:42 Then I receive a response code 202 # features/steps/patroni_api.py:98 2584s Jul 14 03:41:42 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2592s Jul 14 03:41:50 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2592s Jul 14 03:41:50 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 2592s Jul 14 03:41:50 Then I receive a response code 202 # features/steps/patroni_api.py:98 2592s Jul 14 03:41:50 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 2598s Jul 14 03:41:56 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2599s Jul 14 03:41:57 2599s Jul 14 03:41:57 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2599s Jul 14 03:41:57 Given I start postgres1 # features/steps/basic_replication.py:8 2602s Jul 14 03:42:00 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2603s Jul 14 03:42:01 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2605s Jul 14 03:42:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2605s Jul 14 03:42:03 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2605s Jul 14 03:42:03 waiting for server to shut down.... done 2605s Jul 14 03:42:03 server stopped 2605s Jul 14 03:42:03 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2605s Jul 14 03:42:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 2605s Jul 14 03:42:03 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2606s Jul 14 03:42:04 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2609s Jul 14 03:42:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2609s Jul 14 03:42:07 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2610s Jul 14 03:42:08 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2612s Jul 14 03:42:10 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2612s Jul 14 03:42:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 2612s Jul 14 03:42:10 And I receive a response state running # features/steps/patroni_api.py:98 2612s Jul 14 03:42:10 And I receive a response role replica # features/steps/patroni_api.py:98 2612s Jul 14 03:42:10 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2616s Jul 14 03:42:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2616s Jul 14 03:42:14 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2616s Jul 14 03:42:14 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2617s Jul 14 03:42:15 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2617s Jul 14 03:42:15 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2620s Jul 14 03:42:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2620s Jul 14 03:42:17 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2620s Jul 14 03:42:17 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2621s Jul 14 03:42:18 2621s Jul 14 03:42:18 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2621s Jul 14 03:42:18 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 2623s Jul 14 03:42:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 2623s Jul 14 03:42:21 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2623s Jul 14 03:42:21 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2624s Jul 14 03:42:22 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2629s Jul 14 03:42:27 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2629s Jul 14 03:42:27 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2629s Jul 14 03:42:27 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2629s Jul 14 03:42:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 2629s Jul 14 03:42:27 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2629s Jul 14 03:42:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2629s Jul 14 03:42:27 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2629s Jul 14 03:42:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2629s Jul 14 03:42:27 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2629s Jul 14 03:42:27 Then I receive a response code 503 # features/steps/patroni_api.py:98 2629s Jul 14 03:42:27 2629s Jul 14 03:42:27 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2629s Jul 14 03:42:27 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2631s Jul 14 03:42:29 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2631s Jul 14 03:42:29 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2631s Jul 14 03:42:29 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2632s Jul 14 03:42:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2632s Jul 14 03:42:30 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2634s Jul 14 03:42:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2634s Jul 14 03:42:32 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2644s Jul 14 03:42:42 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2644s Jul 14 03:42:42 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2647s Jul 14 03:42:45 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2647s Jul 14 03:42:45 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2648s Jul 14 03:42:46 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2648s Jul 14 03:42:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 2648s Jul 14 03:42:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2648s Jul 14 03:42:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 2648s Jul 14 03:42:46 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2648s Jul 14 03:42:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 2648s Jul 14 03:42:46 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2648s Jul 14 03:42:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 2659s Jul 14 03:42:57 2659s Jul 14 03:42:57 Feature: permanent slots # features/permanent_slots.feature:1 2659s Jul 14 03:42:57 2659s Jul 14 03:42:57 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2659s Jul 14 03:42:57 Given I start postgres0 # features/steps/basic_replication.py:8 2668s Jul 14 03:43:06 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2668s Jul 14 03:43:06 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2668s Jul 14 03:43:06 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 2668s Jul 14 03:43:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 2668s Jul 14 03:43:06 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2668s Jul 14 03:43:06 When I start postgres1 # features/steps/basic_replication.py:8 2677s Jul 14 03:43:15 And I start postgres2 # features/steps/basic_replication.py:8 2680s Jul 14 03:43:18 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2683s Jul 14 03:43:21 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2683s Jul 14 03:43:21 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2683s Jul 14 03:43:21 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2683s Jul 14 03:43:21 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2683s Jul 14 03:43:21 2683s Jul 14 03:43:21 @slot-advance 2683s Jul 14 03:43:21 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 2683s Jul 14 03:43:21 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2686s Jul 14 03:43:24 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 2686s Jul 14 03:43:24 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2687s Jul 14 03:43:25 2687s Jul 14 03:43:25 @slot-advance 2687s Jul 14 03:43:25 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 2687s Jul 14 03:43:25 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2690s Jul 14 03:43:28 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2690s Jul 14 03:43:28 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2691s Jul 14 03:43:29 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2692s Jul 14 03:43:30 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2692s Jul 14 03:43:30 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2692s Jul 14 03:43:30 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2692s Jul 14 03:43:30 2692s Jul 14 03:43:30 @slot-advance 2692s Jul 14 03:43:30 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2692s Jul 14 03:43:30 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2692s Jul 14 03:43:30 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2692s Jul 14 03:43:30 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2692s Jul 14 03:43:30 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2692s Jul 14 03:43:30 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2692s Jul 14 03:43:30 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 2692s Jul 14 03:43:30 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2692s Jul 14 03:43:30 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2692s Jul 14 03:43:30 2692s Jul 14 03:43:30 @slot-advance 2692s Jul 14 03:43:30 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2692s Jul 14 03:43:30 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2692s Jul 14 03:43:30 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2692s Jul 14 03:43:30 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2692s Jul 14 03:43:30 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2695s Jul 14 03:43:33 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2695s Jul 14 03:43:33 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2695s Jul 14 03:43:33 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2695s Jul 14 03:43:33 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2695s Jul 14 03:43:33 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2695s Jul 14 03:43:33 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 2695s Jul 14 03:43:33 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2695s Jul 14 03:43:33 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2695s Jul 14 03:43:33 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2695s Jul 14 03:43:33 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2695s Jul 14 03:43:33 2695s Jul 14 03:43:33 @slot-advance 2695s Jul 14 03:43:33 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 2695s Jul 14 03:43:33 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 2695s Jul 14 03:43:33 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 2695s Jul 14 03:43:33 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 2695s Jul 14 03:43:33 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 2695s Jul 14 03:43:33 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 2695s Jul 14 03:43:33 2695s Jul 14 03:43:33 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 2695s Jul 14 03:43:33 Given I shut down postgres3 # features/steps/basic_replication.py:29 2696s Jul 14 03:43:34 And I shut down postgres2 # features/steps/basic_replication.py:29 2697s Jul 14 03:43:35 And I shut down postgres0 # features/steps/basic_replication.py:29 2699s Jul 14 03:43:37 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2699s Jul 14 03:43:37 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2699s Jul 14 03:43:37 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2711s Jul 14 03:43:49 2711s Jul 14 03:43:49 Feature: priority replication # features/priority_failover.feature:1 2711s Jul 14 03:43:49 We should check that we can give nodes priority during failover 2711s Jul 14 03:43:49 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2711s Jul 14 03:43:49 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2721s Jul 14 03:43:59 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2725s Jul 14 03:44:03 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2726s Jul 14 03:44:04 When I shut down postgres0 # features/steps/basic_replication.py:29 2728s Jul 14 03:44:06 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 2730s Jul 14 03:44:08 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2730s Jul 14 03:44:08 When I start postgres0 # features/steps/basic_replication.py:8 2733s Jul 14 03:44:11 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2736s Jul 14 03:44:14 2736s Jul 14 03:44:14 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2736s Jul 14 03:44:14 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2740s Jul 14 03:44:18 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2749s Jul 14 03:44:27 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2750s Jul 14 03:44:28 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2751s Jul 14 03:44:29 When I shut down postgres0 # features/steps/basic_replication.py:29 2753s Jul 14 03:44:31 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2754s Jul 14 03:44:32 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 2754s Jul 14 03:44:32 2754s Jul 14 03:44:32 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2754s Jul 14 03:44:32 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2754s Jul 14 03:44:32 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2754s Jul 14 03:44:32 Then I receive a response code 202 # features/steps/patroni_api.py:98 2754s Jul 14 03:44:32 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 2756s Jul 14 03:44:34 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2757s Jul 14 03:44:35 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2757s Jul 14 03:44:35 Then I receive a response code 412 # features/steps/patroni_api.py:98 2757s Jul 14 03:44:35 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2757s Jul 14 03:44:35 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2757s Jul 14 03:44:35 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2757s Jul 14 03:44:35 Then I receive a response code 202 # features/steps/patroni_api.py:98 2757s Jul 14 03:44:35 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 2759s Jul 14 03:44:37 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2760s Jul 14 03:44:38 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2763s Jul 14 03:44:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2763s Jul 14 03:44:41 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2777s Jul 14 03:44:55 2777s Jul 14 03:44:55 Feature: recovery # features/recovery.feature:1 2777s Jul 14 03:44:55 We want to check that crashed postgres is started back 2777s Jul 14 03:44:55 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2777s Jul 14 03:44:55 Given I start postgres0 # features/steps/basic_replication.py:8 2780s Jul 14 03:44:58 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2781s Jul 14 03:44:59 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2781s Jul 14 03:44:59 When I start postgres1 # features/steps/basic_replication.py:8 2785s Jul 14 03:45:03 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2785s Jul 14 03:45:03 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2786s Jul 14 03:45:04 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2786s Jul 14 03:45:04 waiting for server to shut down.... done 2786s Jul 14 03:45:04 server stopped 2786s Jul 14 03:45:04 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2789s Jul 14 03:45:07 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2789s Jul 14 03:45:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 2789s Jul 14 03:45:07 And I receive a response role master # features/steps/patroni_api.py:98 2789s Jul 14 03:45:07 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2789s Jul 14 03:45:07 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2790s Jul 14 03:45:08 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2792s Jul 14 03:45:10 2792s Jul 14 03:45:10 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2792s Jul 14 03:45:10 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 2792s Jul 14 03:45:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 2792s Jul 14 03:45:10 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2793s Jul 14 03:45:11 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2793s Jul 14 03:45:11 waiting for server to shut down.... done 2793s Jul 14 03:45:11 server stopped 2793s Jul 14 03:45:11 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2796s Jul 14 03:45:14 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2805s Jul 14 03:45:23 2805s Jul 14 03:45:23 Feature: standby cluster # features/standby_cluster.feature:1 2805s Jul 14 03:45:23 2805s Jul 14 03:45:23 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2805s Jul 14 03:45:23 Given I start postgres1 # features/steps/basic_replication.py:8 2814s Jul 14 03:45:32 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2814s Jul 14 03:45:32 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2814s Jul 14 03:45:32 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 2814s Jul 14 03:45:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 2814s Jul 14 03:45:32 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2814s Jul 14 03:45:32 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2817s Jul 14 03:45:35 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 2817s Jul 14 03:45:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 2817s Jul 14 03:45:35 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2818s Jul 14 03:45:36 When I start postgres0 # features/steps/basic_replication.py:8 2822s Jul 14 03:45:40 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2822s Jul 14 03:45:40 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2823s Jul 14 03:45:41 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2823s Jul 14 03:45:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2823s Jul 14 03:45:41 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2823s Jul 14 03:45:41 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2823s Jul 14 03:45:41 2823s Jul 14 03:45:41 @slot-advance 2823s Jul 14 03:45:41 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2823s Jul 14 03:45:41 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2826s Jul 14 03:45:44 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2831s Jul 14 03:45:49 2831s Jul 14 03:45:49 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2831s Jul 14 03:45:49 When I shut down postgres1 # features/steps/basic_replication.py:29 2833s Jul 14 03:45:51 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2833s Jul 14 03:45:51 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2834s Jul 14 03:45:52 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2834s Jul 14 03:45:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 2834s Jul 14 03:45:52 2834s Jul 14 03:45:52 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2834s Jul 14 03:45:52 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2837s Jul 14 03:45:55 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2840s Jul 14 03:45:58 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2840s Jul 14 03:45:58 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2840s Jul 14 03:45:58 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2840s Jul 14 03:45:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 2840s Jul 14 03:45:58 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2840s Jul 14 03:45:58 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2843s Jul 14 03:46:01 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2843s Jul 14 03:46:01 Then I receive a response code 503 # features/steps/patroni_api.py:98 2843s Jul 14 03:46:01 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2843s Jul 14 03:46:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2843s Jul 14 03:46:01 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2843s Jul 14 03:46:01 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2843s Jul 14 03:46:01 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2847s Jul 14 03:46:05 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2847s Jul 14 03:46:05 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2847s Jul 14 03:46:05 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2847s Jul 14 03:46:05 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2847s Jul 14 03:46:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 2847s Jul 14 03:46:05 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2847s Jul 14 03:46:05 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2847s Jul 14 03:46:05 2847s Jul 14 03:46:05 Scenario: check switchover # features/standby_cluster.feature:57 2847s Jul 14 03:46:05 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2851s Jul 14 03:46:09 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2851s Jul 14 03:46:09 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2853s Jul 14 03:46:11 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 2853s Jul 14 03:46:11 2853s Jul 14 03:46:11 Scenario: check failover # features/standby_cluster.feature:63 2853s Jul 14 03:46:11 When I kill postgres2 # features/steps/basic_replication.py:34 2854s Jul 14 03:46:12 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2854s Jul 14 03:46:12 waiting for server to shut down.... done 2854s Jul 14 03:46:12 server stopped 2854s Jul 14 03:46:12 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2873s Jul 14 03:46:31 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2873s Jul 14 03:46:31 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2873s Jul 14 03:46:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 2873s Jul 14 03:46:31 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2873s Jul 14 03:46:31 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2874s Jul 14 03:46:32 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 2889s Jul 14 03:46:47 2889s Jul 14 03:46:47 Feature: watchdog # features/watchdog.feature:1 2889s Jul 14 03:46:47 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2889s Jul 14 03:46:47 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2889s Jul 14 03:46:47 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2892s Jul 14 03:46:50 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2893s Jul 14 03:46:51 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2893s Jul 14 03:46:51 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2893s Jul 14 03:46:51 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2893s Jul 14 03:46:51 2893s Jul 14 03:46:51 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2893s Jul 14 03:46:51 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2894s Jul 14 03:46:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2894s Jul 14 03:46:52 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2894s Jul 14 03:46:52 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2898s Jul 14 03:46:56 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2898s Jul 14 03:46:56 2898s Jul 14 03:46:56 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2898s Jul 14 03:46:56 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2900s Jul 14 03:46:58 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2900s Jul 14 03:46:58 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2902s Jul 14 03:47:00 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2902s Jul 14 03:47:00 2902s Jul 14 03:47:00 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2902s Jul 14 03:47:00 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2902s Jul 14 03:47:00 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2904s Jul 14 03:47:02 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2904s Jul 14 03:47:02 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2905s Jul 14 03:47:03 2905s Jul 14 03:47:03 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2905s Jul 14 03:47:03 Given I shut down postgres0 # features/steps/basic_replication.py:29 2907s Jul 14 03:47:05 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2907s Jul 14 03:47:05 2907s Jul 14 03:47:05 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2907s Jul 14 03:47:05 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2907s Jul 14 03:47:05 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2910s Jul 14 03:47:08 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2912s Jul 14 03:47:10 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2912s Jul 14 03:47:10 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2945s Jul 14 03:47:43 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.3797.XlMbcFwx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.3800.XBVjsxtx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.3845.XVyXmAmx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.3885.XwpJKbWx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.3945.XhvwbrNx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.3991.XSfBEVDx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4061.XiznyaNx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4109.Xialglux 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4113.XfrRFazx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4203.XngCxoDx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4306.XCskhhkx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4309.XsAQBGix 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4352.XEitjFBx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4399.XzvXbClx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4526.XHjPKIpx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4530.XelTgVix 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4533.XJHUkRyx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4578.XUNezEvx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4633.XINUufMx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4721.XxqbQUqx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.4724.XvrmJsQx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5036.XzGeBmWx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5108.XcISCcMx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5165.XeJaODSx 2947s Jul 14 03:47:45 Skipping duplicate data .coverage.autopkgtest.5427.XZQsUUWx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5430.XHSPENQx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5484.XlMxiBnx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5545.XAwyuJyx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5635.XUUqTPzx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5732.XbHAFtNx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5735.XRJmYCox 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5778.XyqRWdnx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5843.XVrVGHZx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.5876.XEMzcTox 2947s Jul 14 03:47:45 Skipping duplicate data .coverage.autopkgtest.6008.XSaDWZJx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6011.XFtYMGHx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6060.XiqRZwTx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6077.Xcpfjmlx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6115.XgSPTndx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6162.XkbhiObx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6168.XMsmzyRx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6205.XVKlGQIx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6248.XqvUGENx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6412.XmroqDax 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6415.XUqhuaxx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6422.XsPMTIJx 2947s Jul 14 03:47:45 Skipping duplicate data .coverage.autopkgtest.6556.XsHCEfwx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6559.XYUZtXQx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6605.XKgHMWex 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6646.XSfqZVYx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6688.XaMAkMCx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6732.XuxfROux 2947s Jul 14 03:47:45 Skipping duplicate data .coverage.autopkgtest.6893.XHJsDtvx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6896.XeAkYhbx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.6939.XyfiJAJx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7011.XyLQlCCx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7089.XyoeSXZx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7147.XmTGGTqx 2947s Jul 14 03:47:45 Skipping duplicate data .coverage.autopkgtest.7494.XtIXIzDx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7497.XfOmDkCx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7540.XLTjdSTx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7682.XqhOCwCx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7685.XcBRtijx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7748.XyHMWerx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7807.XHcFPSmx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.7907.XNdViJex 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.8024.XyYBwPKx 2947s Jul 14 03:47:45 Skipping duplicate data .coverage.autopkgtest.8151.XbRPgtcx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.8155.XliwYaqx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.8198.XhOflssx 2947s Jul 14 03:47:45 Skipping duplicate data .coverage.autopkgtest.8201.XeOlEWKx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.8205.XJKwCXpx 2947s Jul 14 03:47:45 Combined data file .coverage.autopkgtest.8217.XEQycPJx 2947s Jul 14 03:47:45 Skipping duplicate data .coverage.autopkgtest.8285.XTbjmRFx 2949s Jul 14 03:47:47 Name Stmts Miss Cover 2949s Jul 14 03:47:47 ------------------------------------------------------------------------------------------------------------- 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 114 96 16% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 397 257 35% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 50 23 54% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 62 12 81% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 17 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 164 17 90% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 90 38 58% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 140 59 58% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 139 50 64% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 758 602 21% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/utils.py 77 23 70% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/x509/base.py 487 229 53% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/x509/name.py 232 141 39% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 10 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/api.py 770 288 63% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 646 82 87% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 39 88% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/ha.py 1244 308 75% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/log.py 219 69 68% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 821 172 79% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 21 1 95% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 252 62 75% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 813 216 73% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 334 32 90% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 23 85% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/psycopg.py 42 16 62% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/utils.py 350 123 65% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/validator.py 301 208 31% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 393 62% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/six.py 504 250 50% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2949s Jul 14 03:47:47 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2949s Jul 14 03:47:47 patroni/__init__.py 13 2 85% 2949s Jul 14 03:47:47 patroni/__main__.py 199 199 0% 2949s Jul 14 03:47:47 patroni/api.py 770 770 0% 2949s Jul 14 03:47:47 patroni/async_executor.py 96 69 28% 2949s Jul 14 03:47:47 patroni/collections.py 56 15 73% 2949s Jul 14 03:47:47 patroni/config.py 371 189 49% 2949s Jul 14 03:47:47 patroni/config_generator.py 212 212 0% 2949s Jul 14 03:47:47 patroni/ctl.py 936 411 56% 2949s Jul 14 03:47:47 patroni/daemon.py 76 6 92% 2949s Jul 14 03:47:47 patroni/dcs/__init__.py 646 268 59% 2949s Jul 14 03:47:47 patroni/dcs/consul.py 485 485 0% 2949s Jul 14 03:47:47 patroni/dcs/etcd3.py 679 679 0% 2949s Jul 14 03:47:47 patroni/dcs/etcd.py 603 603 0% 2949s Jul 14 03:47:47 patroni/dcs/exhibitor.py 61 61 0% 2949s Jul 14 03:47:47 patroni/dcs/kubernetes.py 938 938 0% 2949s Jul 14 03:47:47 patroni/dcs/raft.py 319 72 77% 2949s Jul 14 03:47:47 patroni/dcs/zookeeper.py 288 288 0% 2949s Jul 14 03:47:47 patroni/dynamic_loader.py 35 7 80% 2949s Jul 14 03:47:47 patroni/exceptions.py 16 1 94% 2949s Jul 14 03:47:47 patroni/file_perm.py 43 15 65% 2949s Jul 14 03:47:47 patroni/global_config.py 81 18 78% 2949s Jul 14 03:47:47 patroni/ha.py 1244 1244 0% 2949s Jul 14 03:47:47 patroni/log.py 219 93 58% 2949s Jul 14 03:47:47 patroni/postgresql/__init__.py 821 651 21% 2949s Jul 14 03:47:47 patroni/postgresql/available_parameters/__init__.py 21 1 95% 2949s Jul 14 03:47:47 patroni/postgresql/bootstrap.py 252 222 12% 2949s Jul 14 03:47:47 patroni/postgresql/callback_executor.py 55 34 38% 2949s Jul 14 03:47:47 patroni/postgresql/cancellable.py 104 84 19% 2949s Jul 14 03:47:47 patroni/postgresql/config.py 813 698 14% 2949s Jul 14 03:47:47 patroni/postgresql/connection.py 75 50 33% 2949s Jul 14 03:47:47 patroni/postgresql/misc.py 41 29 29% 2949s Jul 14 03:47:47 patroni/postgresql/mpp/__init__.py 89 21 76% 2949s Jul 14 03:47:47 patroni/postgresql/mpp/citus.py 259 259 0% 2949s Jul 14 03:47:47 patroni/postgresql/postmaster.py 170 139 18% 2949s Jul 14 03:47:47 patroni/postgresql/rewind.py 416 416 0% 2949s Jul 14 03:47:47 patroni/postgresql/slots.py 334 285 15% 2949s Jul 14 03:47:47 patroni/postgresql/sync.py 130 96 26% 2949s Jul 14 03:47:47 patroni/postgresql/validator.py 157 52 67% 2949s Jul 14 03:47:47 patroni/psycopg.py 42 28 33% 2949s Jul 14 03:47:47 patroni/raft_controller.py 22 1 95% 2949s Jul 14 03:47:47 patroni/request.py 62 6 90% 2949s Jul 14 03:47:47 patroni/scripts/__init__.py 0 0 100% 2949s Jul 14 03:47:47 patroni/scripts/aws.py 59 59 0% 2949s Jul 14 03:47:47 patroni/scripts/barman/__init__.py 0 0 100% 2949s Jul 14 03:47:47 patroni/scripts/barman/cli.py 51 51 0% 2949s Jul 14 03:47:47 patroni/scripts/barman/config_switch.py 51 51 0% 2949s Jul 14 03:47:47 patroni/scripts/barman/recover.py 37 37 0% 2949s Jul 14 03:47:47 patroni/scripts/barman/utils.py 94 94 0% 2949s Jul 14 03:47:47 patroni/scripts/wale_restore.py 207 207 0% 2949s Jul 14 03:47:47 patroni/tags.py 38 11 71% 2949s Jul 14 03:47:47 patroni/utils.py 350 215 39% 2949s Jul 14 03:47:47 patroni/validator.py 301 215 29% 2949s Jul 14 03:47:47 patroni/version.py 1 0 100% 2949s Jul 14 03:47:47 patroni/watchdog/__init__.py 2 2 0% 2949s Jul 14 03:47:47 patroni/watchdog/base.py 203 203 0% 2949s Jul 14 03:47:47 patroni/watchdog/linux.py 135 135 0% 2949s Jul 14 03:47:47 ------------------------------------------------------------------------------------------------------------- 2949s Jul 14 03:47:47 TOTAL 44129 24891 44% 2949s Jul 14 03:47:47 12 features passed, 0 failed, 1 skipped 2949s Jul 14 03:47:47 54 scenarios passed, 0 failed, 6 skipped 2949s Jul 14 03:47:47 522 steps passed, 0 failed, 63 skipped, 0 undefined 2949s Jul 14 03:47:47 Took 9m13.838s 2949s + echo '### End 16 acceptance-raft ###' 2949s + rm -f '/tmp/pgpass?' 2949s ### End 16 acceptance-raft ### 2949s ++ id -u 2949s + '[' 1000 -eq 0 ']' 2950s autopkgtest [03:47:48]: test acceptance-raft: -----------------------] 2950s acceptance-raft PASS 2950s autopkgtest [03:47:48]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 2950s autopkgtest [03:47:48]: test test: preparing testbed 3016s autopkgtest [03:48:54]: testbed dpkg architecture: arm64 3017s autopkgtest [03:48:55]: testbed apt version: 2.9.6 3017s autopkgtest [03:48:55]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3017s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 3018s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [46.6 kB] 3018s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [367 kB] 3018s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 3018s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [3284 B] 3018s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [103 kB] 3018s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 c-n-f Metadata [2116 B] 3018s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [43.9 kB] 3018s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 c-n-f Metadata [364 B] 3018s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [417 kB] 3018s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 c-n-f Metadata [8752 B] 3018s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [7596 B] 3018s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 c-n-f Metadata [276 B] 3020s Fetched 1134 kB in 1s (1380 kB/s) 3020s Reading package lists... 3022s Reading package lists... 3022s Building dependency tree... 3022s Reading state information... 3023s Calculating upgrade... 3023s The following packages will be upgraded: 3023s libdw1t64 libelf1t64 python3-pkg-resources ubuntu-pro-client 3023s ubuntu-pro-client-l10n 3023s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3023s Need to get 756 kB of archives. 3023s After this operation, 180 kB of additional disk space will be used. 3023s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 libdw1t64 arm64 0.191-2 [262 kB] 3024s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libelf1t64 arm64 0.191-2 [58.0 kB] 3024s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-pkg-resources all 70.3.0-2 [187 kB] 3024s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client-l10n arm64 33.1 [19.2 kB] 3024s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 ubuntu-pro-client arm64 33.1 [230 kB] 3024s Fetched 756 kB in 1s (1252 kB/s) 3025s (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 ... 78392 files and directories currently installed.) 3025s Preparing to unpack .../libdw1t64_0.191-2_arm64.deb ... 3025s Unpacking libdw1t64:arm64 (0.191-2) over (0.191-1) ... 3025s Preparing to unpack .../libelf1t64_0.191-2_arm64.deb ... 3025s Unpacking libelf1t64:arm64 (0.191-2) over (0.191-1) ... 3025s Preparing to unpack .../python3-pkg-resources_70.3.0-2_all.deb ... 3025s Unpacking python3-pkg-resources (70.3.0-2) over (68.1.2-2ubuntu1) ... 3025s Preparing to unpack .../ubuntu-pro-client-l10n_33.1_arm64.deb ... 3025s Unpacking ubuntu-pro-client-l10n (33.1) over (33) ... 3025s Preparing to unpack .../ubuntu-pro-client_33.1_arm64.deb ... 3025s Unpacking ubuntu-pro-client (33.1) over (33) ... 3025s Setting up python3-pkg-resources (70.3.0-2) ... 3025s Setting up libelf1t64:arm64 (0.191-2) ... 3025s Setting up libdw1t64:arm64 (0.191-2) ... 3025s Setting up ubuntu-pro-client (33.1) ... 3027s Setting up ubuntu-pro-client-l10n (33.1) ... 3027s Processing triggers for man-db (2.12.1-2) ... 3028s Processing triggers for libc-bin (2.39-0ubuntu9) ... 3028s Reading package lists... 3028s Building dependency tree... 3028s Reading state information... 3029s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3029s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 3029s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 3029s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 3029s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 3030s Reading package lists... 3030s Reading package lists... 3030s Building dependency tree... 3030s Reading state information... 3031s Calculating upgrade... 3031s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3031s Reading package lists... 3031s Building dependency tree... 3031s Reading state information... 3032s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3032s autopkgtest [03:49:10]: rebooting testbed after setup commands that affected boot 3036s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 3061s Reading package lists... 3062s Building dependency tree... 3062s Reading state information... 3062s Starting pkgProblemResolver with broken count: 0 3062s Starting 2 pkgProblemResolver with broken count: 0 3062s Done 3063s The following additional packages will be installed: 3063s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 3063s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 3063s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 3063s libjs-underscore libpq5 patroni patroni-doc python3-aiohttp 3063s python3-aiosignal python3-async-timeout python3-boto3 python3-botocore 3063s python3-cachetools python3-cdiff python3-click python3-colorama 3063s python3-consul python3-coverage python3-dateutil python3-dnspython 3063s python3-etcd python3-eventlet python3-flake8 python3-frozenlist 3063s python3-gevent python3-google-auth python3-greenlet python3-iniconfig 3063s python3-jmespath python3-kazoo python3-kerberos python3-kubernetes 3063s python3-mccabe python3-mock python3-multidict python3-packaging 3063s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 3063s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 3063s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 3063s python3-pyu2f python3-requests-oauthlib python3-responses python3-rsa 3063s python3-s3transfer python3-setuptools python3-wcwidth python3-websocket 3063s python3-yarl python3-zope.event python3-zope.interface 3063s sphinx-rtd-theme-common 3063s Suggested packages: 3063s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 3063s python3-tornado python3-twisted python-coverage-doc python3-trio 3063s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 3063s python-eventlet-doc python-gevent-doc python-greenlet-dev 3063s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 3063s python-setuptools-doc 3063s Recommended packages: 3063s javascript-common python3-aiodns pyflakes3 3063s The following NEW packages will be installed: 3063s autopkgtest-satdep fonts-font-awesome fonts-lato libcares2 libev4t64 3063s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 3063s libjs-jquery-metadata libjs-jquery-tablesorter 3063s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 3063s patroni patroni-doc python3-aiohttp python3-aiosignal python3-async-timeout 3063s python3-boto3 python3-botocore python3-cachetools python3-cdiff 3063s python3-click python3-colorama python3-consul python3-coverage 3063s python3-dateutil python3-dnspython python3-etcd python3-eventlet 3063s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 3063s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 3063s python3-kerberos python3-kubernetes python3-mccabe python3-mock 3063s python3-multidict python3-packaging python3-pluggy python3-prettytable 3063s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 3063s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 3063s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 3063s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 3063s python3-setuptools python3-wcwidth python3-websocket python3-yarl 3063s python3-zope.event python3-zope.interface sphinx-rtd-theme-common 3063s 0 upgraded, 69 newly installed, 0 to remove and 0 not upgraded. 3063s Need to get 17.2 MB/17.2 MB of archives. 3063s After this operation, 160 MB of additional disk space will be used. 3063s Get:1 /tmp/autopkgtest.GqLGLU/6-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [788 B] 3063s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-lato all 2.015-1 [2781 kB] 3064s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3064s Get:4 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 3064s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3064s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 libcares2 arm64 1.31.0-1 [78.8 kB] 3064s Get:7 http://ftpmaster.internal/ubuntu oracular/universe arm64 libev4t64 arm64 1:4.33-2.1build1 [30.5 kB] 3064s Get:8 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 3064s Get:9 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-3 [193 kB] 3064s Get:10 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 3064s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3064s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libjs-sphinxdoc all 7.3.7-3 [154 kB] 3064s Get:13 http://ftpmaster.internal/ubuntu oracular/main arm64 libpq5 arm64 16.3-1 [138 kB] 3064s Get:14 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 3064s Get:15 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 3064s Get:16 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-click all 8.1.7-1 [79.1 kB] 3064s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 3064s Get:18 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 3064s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-prettytable all 3.10.1-1 [34.0 kB] 3064s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 3064s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-psycopg2 arm64 2.9.9-1build1 [130 kB] 3064s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 3064s Get:23 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 3064s Get:24 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-consul all 0.7.1-2 [21.6 kB] 3064s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-greenlet arm64 3.0.3-0ubuntu5 [153 kB] 3064s Get:26 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-eventlet all 0.35.2-0ubuntu1 [274 kB] 3064s Get:27 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 3064s Get:28 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-zope.interface arm64 6.4-1 [138 kB] 3064s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-gevent arm64 24.2.1-0.1ubuntu2 [790 kB] 3064s Get:30 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-kerberos arm64 1.1.14-3.1build9 [21.0 kB] 3064s Get:31 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 3064s Get:32 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 3064s Get:33 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-multidict arm64 6.0.4-1.1build1 [33.5 kB] 3064s Get:34 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-yarl arm64 1.9.4-1 [68.2 kB] 3064s Get:35 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-async-timeout all 4.0.3-1 [6412 B] 3064s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-frozenlist arm64 1.4.0-1build2 [41.1 kB] 3064s Get:37 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aiosignal all 1.3.1-1 [5172 B] 3064s Get:38 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-aiohttp arm64 3.9.5-1 [278 kB] 3064s Get:39 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cachetools all 5.3.3-1 [10.3 kB] 3064s Get:40 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-pyasn1 all 0.5.1-1 [57.4 kB] 3064s Get:41 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-pyasn1-modules all 0.3.0-1 [80.2 kB] 3064s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pyu2f all 0.1.5-2 [22.8 kB] 3064s Get:43 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-responses all 0.25.3-1 [54.3 kB] 3064s Get:44 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 3064s Get:45 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-google-auth all 2.28.2-3 [91.0 kB] 3064s Get:46 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 3064s Get:47 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-setuptools all 70.3.0-2 [429 kB] 3064s Get:48 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-websocket all 1.7.0-1 [38.1 kB] 3064s Get:49 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-kubernetes all 30.1.0-1 [386 kB] 3064s Get:50 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 3064s Get:51 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni all 3.3.1-1 [264 kB] 3064s Get:52 http://ftpmaster.internal/ubuntu oracular/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 3064s Get:53 http://ftpmaster.internal/ubuntu oracular/universe arm64 patroni-doc all 3.3.1-1 [497 kB] 3064s Get:54 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 3064s Get:55 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 3065s Get:56 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 3065s Get:57 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 3065s Get:58 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu2 [148 kB] 3065s Get:59 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 3065s Get:60 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pycodestyle all 2.11.1-1 [29.9 kB] 3065s Get:61 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pyflakes all 3.2.0-1 [52.8 kB] 3065s Get:62 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-flake8 all 7.1.0-1 [43.8 kB] 3065s Get:63 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 3065s Get:64 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-packaging all 24.1-1 [41.4 kB] 3065s Get:65 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 3065s Get:66 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 3065s Get:67 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 3065s Get:68 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 3065s Get:69 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 3066s Fetched 17.2 MB in 2s (10.2 MB/s) 3066s Selecting previously unselected package fonts-lato. 3066s (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 ... 78404 files and directories currently installed.) 3066s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3066s Unpacking fonts-lato (2.015-1) ... 3066s Selecting previously unselected package libjs-jquery. 3066s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3066s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3066s Selecting previously unselected package libjs-jquery-hotkeys. 3066s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 3066s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3066s Selecting previously unselected package fonts-font-awesome. 3066s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3066s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3066s Selecting previously unselected package libcares2:arm64. 3066s Preparing to unpack .../04-libcares2_1.31.0-1_arm64.deb ... 3066s Unpacking libcares2:arm64 (1.31.0-1) ... 3066s Selecting previously unselected package libev4t64:arm64. 3066s Preparing to unpack .../05-libev4t64_1%3a4.33-2.1build1_arm64.deb ... 3066s Unpacking libev4t64:arm64 (1:4.33-2.1build1) ... 3066s Selecting previously unselected package libjs-jquery-metadata. 3066s Preparing to unpack .../06-libjs-jquery-metadata_12-4_all.deb ... 3066s Unpacking libjs-jquery-metadata (12-4) ... 3066s Selecting previously unselected package libjs-jquery-tablesorter. 3066s Preparing to unpack .../07-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-3_all.deb ... 3066s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ... 3066s Selecting previously unselected package libjs-jquery-throttle-debounce. 3066s Preparing to unpack .../08-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 3066s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3066s Selecting previously unselected package libjs-underscore. 3066s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3066s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3066s Selecting previously unselected package libjs-sphinxdoc. 3066s Preparing to unpack .../10-libjs-sphinxdoc_7.3.7-3_all.deb ... 3066s Unpacking libjs-sphinxdoc (7.3.7-3) ... 3066s Selecting previously unselected package libpq5:arm64. 3066s Preparing to unpack .../11-libpq5_16.3-1_arm64.deb ... 3066s Unpacking libpq5:arm64 (16.3-1) ... 3066s Selecting previously unselected package python3-cdiff. 3066s Preparing to unpack .../12-python3-cdiff_1.0-1.1_all.deb ... 3066s Unpacking python3-cdiff (1.0-1.1) ... 3066s Selecting previously unselected package python3-colorama. 3066s Preparing to unpack .../13-python3-colorama_0.4.6-4_all.deb ... 3066s Unpacking python3-colorama (0.4.6-4) ... 3066s Selecting previously unselected package python3-click. 3066s Preparing to unpack .../14-python3-click_8.1.7-1_all.deb ... 3066s Unpacking python3-click (8.1.7-1) ... 3066s Selecting previously unselected package python3-dateutil. 3066s Preparing to unpack .../15-python3-dateutil_2.9.0-2_all.deb ... 3066s Unpacking python3-dateutil (2.9.0-2) ... 3066s Selecting previously unselected package python3-wcwidth. 3066s Preparing to unpack .../16-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 3066s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 3066s Selecting previously unselected package python3-prettytable. 3067s Preparing to unpack .../17-python3-prettytable_3.10.1-1_all.deb ... 3067s Unpacking python3-prettytable (3.10.1-1) ... 3067s Selecting previously unselected package python3-psutil. 3067s Preparing to unpack .../18-python3-psutil_5.9.8-2build2_arm64.deb ... 3067s Unpacking python3-psutil (5.9.8-2build2) ... 3067s Selecting previously unselected package python3-psycopg2. 3067s Preparing to unpack .../19-python3-psycopg2_2.9.9-1build1_arm64.deb ... 3067s Unpacking python3-psycopg2 (2.9.9-1build1) ... 3067s Selecting previously unselected package python3-dnspython. 3067s Preparing to unpack .../20-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 3067s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 3067s Selecting previously unselected package python3-etcd. 3067s Preparing to unpack .../21-python3-etcd_0.4.5-4_all.deb ... 3067s Unpacking python3-etcd (0.4.5-4) ... 3067s Selecting previously unselected package python3-consul. 3067s Preparing to unpack .../22-python3-consul_0.7.1-2_all.deb ... 3067s Unpacking python3-consul (0.7.1-2) ... 3067s Selecting previously unselected package python3-greenlet. 3067s Preparing to unpack .../23-python3-greenlet_3.0.3-0ubuntu5_arm64.deb ... 3067s Unpacking python3-greenlet (3.0.3-0ubuntu5) ... 3067s Selecting previously unselected package python3-eventlet. 3067s Preparing to unpack .../24-python3-eventlet_0.35.2-0ubuntu1_all.deb ... 3067s Unpacking python3-eventlet (0.35.2-0ubuntu1) ... 3067s Selecting previously unselected package python3-zope.event. 3067s Preparing to unpack .../25-python3-zope.event_5.0-0.1_all.deb ... 3067s Unpacking python3-zope.event (5.0-0.1) ... 3067s Selecting previously unselected package python3-zope.interface. 3067s Preparing to unpack .../26-python3-zope.interface_6.4-1_arm64.deb ... 3067s Unpacking python3-zope.interface (6.4-1) ... 3067s Selecting previously unselected package python3-gevent. 3067s Preparing to unpack .../27-python3-gevent_24.2.1-0.1ubuntu2_arm64.deb ... 3067s Unpacking python3-gevent (24.2.1-0.1ubuntu2) ... 3067s Selecting previously unselected package python3-kerberos. 3067s Preparing to unpack .../28-python3-kerberos_1.1.14-3.1build9_arm64.deb ... 3067s Unpacking python3-kerberos (1.1.14-3.1build9) ... 3067s Selecting previously unselected package python3-pure-sasl. 3067s Preparing to unpack .../29-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 3067s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 3067s Selecting previously unselected package python3-kazoo. 3067s Preparing to unpack .../30-python3-kazoo_2.9.0-2_all.deb ... 3067s Unpacking python3-kazoo (2.9.0-2) ... 3067s Selecting previously unselected package python3-multidict. 3067s Preparing to unpack .../31-python3-multidict_6.0.4-1.1build1_arm64.deb ... 3067s Unpacking python3-multidict (6.0.4-1.1build1) ... 3067s Selecting previously unselected package python3-yarl. 3067s Preparing to unpack .../32-python3-yarl_1.9.4-1_arm64.deb ... 3067s Unpacking python3-yarl (1.9.4-1) ... 3067s Selecting previously unselected package python3-async-timeout. 3067s Preparing to unpack .../33-python3-async-timeout_4.0.3-1_all.deb ... 3067s Unpacking python3-async-timeout (4.0.3-1) ... 3067s Selecting previously unselected package python3-frozenlist. 3067s Preparing to unpack .../34-python3-frozenlist_1.4.0-1build2_arm64.deb ... 3067s Unpacking python3-frozenlist (1.4.0-1build2) ... 3067s Selecting previously unselected package python3-aiosignal. 3067s Preparing to unpack .../35-python3-aiosignal_1.3.1-1_all.deb ... 3067s Unpacking python3-aiosignal (1.3.1-1) ... 3067s Selecting previously unselected package python3-aiohttp. 3067s Preparing to unpack .../36-python3-aiohttp_3.9.5-1_arm64.deb ... 3067s Unpacking python3-aiohttp (3.9.5-1) ... 3067s Selecting previously unselected package python3-cachetools. 3067s Preparing to unpack .../37-python3-cachetools_5.3.3-1_all.deb ... 3067s Unpacking python3-cachetools (5.3.3-1) ... 3067s Selecting previously unselected package python3-pyasn1. 3067s Preparing to unpack .../38-python3-pyasn1_0.5.1-1_all.deb ... 3067s Unpacking python3-pyasn1 (0.5.1-1) ... 3067s Selecting previously unselected package python3-pyasn1-modules. 3067s Preparing to unpack .../39-python3-pyasn1-modules_0.3.0-1_all.deb ... 3067s Unpacking python3-pyasn1-modules (0.3.0-1) ... 3067s Selecting previously unselected package python3-pyu2f. 3067s Preparing to unpack .../40-python3-pyu2f_0.1.5-2_all.deb ... 3067s Unpacking python3-pyu2f (0.1.5-2) ... 3067s Selecting previously unselected package python3-responses. 3067s Preparing to unpack .../41-python3-responses_0.25.3-1_all.deb ... 3067s Unpacking python3-responses (0.25.3-1) ... 3067s Selecting previously unselected package python3-rsa. 3067s Preparing to unpack .../42-python3-rsa_4.9-2_all.deb ... 3067s Unpacking python3-rsa (4.9-2) ... 3067s Selecting previously unselected package python3-google-auth. 3067s Preparing to unpack .../43-python3-google-auth_2.28.2-3_all.deb ... 3067s Unpacking python3-google-auth (2.28.2-3) ... 3067s Selecting previously unselected package python3-requests-oauthlib. 3067s Preparing to unpack .../44-python3-requests-oauthlib_1.3.1-1_all.deb ... 3067s Unpacking python3-requests-oauthlib (1.3.1-1) ... 3067s Selecting previously unselected package python3-setuptools. 3067s Preparing to unpack .../45-python3-setuptools_70.3.0-2_all.deb ... 3067s Unpacking python3-setuptools (70.3.0-2) ... 3067s Selecting previously unselected package python3-websocket. 3067s Preparing to unpack .../46-python3-websocket_1.7.0-1_all.deb ... 3067s Unpacking python3-websocket (1.7.0-1) ... 3067s Selecting previously unselected package python3-kubernetes. 3067s Preparing to unpack .../47-python3-kubernetes_30.1.0-1_all.deb ... 3067s Unpacking python3-kubernetes (30.1.0-1) ... 3068s Selecting previously unselected package python3-pysyncobj. 3068s Preparing to unpack .../48-python3-pysyncobj_0.3.12-1_all.deb ... 3068s Unpacking python3-pysyncobj (0.3.12-1) ... 3068s Selecting previously unselected package patroni. 3068s Preparing to unpack .../49-patroni_3.3.1-1_all.deb ... 3068s Unpacking patroni (3.3.1-1) ... 3068s Selecting previously unselected package sphinx-rtd-theme-common. 3068s Preparing to unpack .../50-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 3068s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 3068s Selecting previously unselected package patroni-doc. 3068s Preparing to unpack .../51-patroni-doc_3.3.1-1_all.deb ... 3068s Unpacking patroni-doc (3.3.1-1) ... 3068s Selecting previously unselected package python3-jmespath. 3068s Preparing to unpack .../52-python3-jmespath_1.0.1-1_all.deb ... 3068s Unpacking python3-jmespath (1.0.1-1) ... 3068s Selecting previously unselected package python3-botocore. 3068s Preparing to unpack .../53-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 3068s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 3068s Selecting previously unselected package python3-s3transfer. 3068s Preparing to unpack .../54-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 3068s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 3068s Selecting previously unselected package python3-boto3. 3068s Preparing to unpack .../55-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 3068s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3068s Selecting previously unselected package python3-coverage. 3068s Preparing to unpack .../56-python3-coverage_7.4.4+dfsg1-0ubuntu2_arm64.deb ... 3068s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3068s Selecting previously unselected package python3-mccabe. 3068s Preparing to unpack .../57-python3-mccabe_0.7.0-1_all.deb ... 3068s Unpacking python3-mccabe (0.7.0-1) ... 3068s Selecting previously unselected package python3-pycodestyle. 3068s Preparing to unpack .../58-python3-pycodestyle_2.11.1-1_all.deb ... 3068s Unpacking python3-pycodestyle (2.11.1-1) ... 3068s Selecting previously unselected package python3-pyflakes. 3068s Preparing to unpack .../59-python3-pyflakes_3.2.0-1_all.deb ... 3068s Unpacking python3-pyflakes (3.2.0-1) ... 3068s Selecting previously unselected package python3-flake8. 3068s Preparing to unpack .../60-python3-flake8_7.1.0-1_all.deb ... 3068s Unpacking python3-flake8 (7.1.0-1) ... 3068s Selecting previously unselected package python3-iniconfig. 3068s Preparing to unpack .../61-python3-iniconfig_1.1.1-2_all.deb ... 3068s Unpacking python3-iniconfig (1.1.1-2) ... 3068s Selecting previously unselected package python3-packaging. 3068s Preparing to unpack .../62-python3-packaging_24.1-1_all.deb ... 3068s Unpacking python3-packaging (24.1-1) ... 3068s Selecting previously unselected package python3-pluggy. 3068s Preparing to unpack .../63-python3-pluggy_1.5.0-1_all.deb ... 3068s Unpacking python3-pluggy (1.5.0-1) ... 3068s Selecting previously unselected package python3-pytest. 3068s Preparing to unpack .../64-python3-pytest_7.4.4-1_all.deb ... 3068s Unpacking python3-pytest (7.4.4-1) ... 3069s Selecting previously unselected package libjs-jquery-isonscreen. 3069s Preparing to unpack .../65-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 3069s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 3069s Selecting previously unselected package python3-pytest-cov. 3069s Preparing to unpack .../66-python3-pytest-cov_5.0.0-1_all.deb ... 3069s Unpacking python3-pytest-cov (5.0.0-1) ... 3069s Selecting previously unselected package python3-mock. 3069s Preparing to unpack .../67-python3-mock_5.1.0-1_all.deb ... 3069s Unpacking python3-mock (5.1.0-1) ... 3069s Selecting previously unselected package autopkgtest-satdep. 3069s Preparing to unpack .../68-6-autopkgtest-satdep.deb ... 3069s Unpacking autopkgtest-satdep (0) ... 3069s Setting up python3-iniconfig (1.1.1-2) ... 3069s Setting up libev4t64:arm64 (1:4.33-2.1build1) ... 3069s Setting up fonts-lato (2.015-1) ... 3069s Setting up python3-setuptools (70.3.0-2) ... 3069s Setting up python3-pysyncobj (0.3.12-1) ... 3070s Setting up python3-cachetools (5.3.3-1) ... 3070s Setting up python3-colorama (0.4.6-4) ... 3070s Setting up python3-zope.event (5.0-0.1) ... 3070s Setting up python3-zope.interface (6.4-1) ... 3070s Setting up python3-cdiff (1.0-1.1) ... 3070s Setting up python3-pyflakes (3.2.0-1) ... 3070s Setting up libpq5:arm64 (16.3-1) ... 3070s Setting up python3-kerberos (1.1.14-3.1build9) ... 3070s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 3071s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 3071s Setting up python3-click (8.1.7-1) ... 3071s Setting up python3-psutil (5.9.8-2build2) ... 3071s Setting up python3-multidict (6.0.4-1.1build1) ... 3071s Setting up python3-frozenlist (1.4.0-1build2) ... 3071s Setting up python3-aiosignal (1.3.1-1) ... 3071s Setting up python3-mock (5.1.0-1) ... 3072s Setting up python3-async-timeout (4.0.3-1) ... 3072s Setting up python3-responses (0.25.3-1) ... 3072s Setting up python3-pycodestyle (2.11.1-1) ... 3072s Setting up python3-packaging (24.1-1) ... 3072s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 3072s Setting up python3-pyu2f (0.1.5-2) ... 3072s Setting up python3-jmespath (1.0.1-1) ... 3073s Setting up python3-greenlet (3.0.3-0ubuntu5) ... 3073s Setting up libcares2:arm64 (1.31.0-1) ... 3073s Setting up python3-psycopg2 (2.9.9-1build1) ... 3073s Setting up python3-pluggy (1.5.0-1) ... 3073s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 3073s Setting up python3-pyasn1 (0.5.1-1) ... 3074s Setting up python3-dateutil (2.9.0-2) ... 3074s Setting up python3-mccabe (0.7.0-1) ... 3074s Setting up python3-consul (0.7.1-2) ... 3074s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3074s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 3074s Setting up python3-prettytable (3.10.1-1) ... 3074s Setting up python3-yarl (1.9.4-1) ... 3074s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3074s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 3074s Setting up python3-websocket (1.7.0-1) ... 3075s Setting up python3-requests-oauthlib (1.3.1-1) ... 3075s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3075s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 3075s Setting up python3-etcd (0.4.5-4) ... 3075s Setting up python3-pytest (7.4.4-1) ... 3075s Setting up python3-aiohttp (3.9.5-1) ... 3076s Setting up python3-gevent (24.2.1-0.1ubuntu2) ... 3076s Setting up python3-flake8 (7.1.0-1) ... 3076s Setting up python3-eventlet (0.35.2-0ubuntu1) ... 3076s Setting up python3-kazoo (2.9.0-2) ... 3076s Setting up python3-pyasn1-modules (0.3.0-1) ... 3077s Setting up libjs-jquery-metadata (12-4) ... 3077s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 3077s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 3077s Setting up libjs-sphinxdoc (7.3.7-3) ... 3077s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ... 3077s Setting up python3-rsa (4.9-2) ... 3077s Setting up patroni (3.3.1-1) ... 3077s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 3078s Setting up patroni-doc (3.3.1-1) ... 3078s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 3078s Setting up python3-pytest-cov (5.0.0-1) ... 3078s Setting up python3-google-auth (2.28.2-3) ... 3078s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 3079s Setting up python3-kubernetes (30.1.0-1) ... 3080s Setting up autopkgtest-satdep (0) ... 3080s Processing triggers for man-db (2.12.1-2) ... 3081s Processing triggers for libc-bin (2.39-0ubuntu9) ... 3085s (Reading database ... 84726 files and directories currently installed.) 3085s Removing autopkgtest-satdep (0) ... 3087s autopkgtest [03:50:05]: test test: [----------------------- 3088s running test 3088s ============================= test session starts ============================== 3088s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3 3088s cachedir: .pytest_cache 3088s rootdir: /tmp/autopkgtest.GqLGLU/build.W2M/src 3088s plugins: cov-5.0.0 3095s collecting ... collected 646 items 3095s 3095s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 3095s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 3095s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 3095s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 3096s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 3096s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 3096s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 3096s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 3096s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 3096s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 3096s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 3096s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 3096s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 3096s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 3096s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 3096s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 3096s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 3096s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 3096s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 3096s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 3096s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 3096s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 3096s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 3096s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 3096s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 3096s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 3096s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 3096s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 3096s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 3096s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 3096s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 3096s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 3096s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 3096s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 3096s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 3096s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 3096s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 3096s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 3096s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 3096s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 3096s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 3096s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 3097s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 3097s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 3097s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 3097s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 3097s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 3097s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 3097s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 3097s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 3097s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 3097s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 8%] 3097s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 3097s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 3097s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 3097s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 3097s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 3097s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 3097s tests/test_barman.py::TestMain::test_main PASSED [ 9%] 3097s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 3097s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 3097s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 3097s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 3097s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 3097s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 10%] 3097s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 3097s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 3097s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 3097s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 3097s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 3097s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 3097s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 11%] 3097s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 3097s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 3097s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 3097s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 3097s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 3097s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 12%] 3097s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 3097s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 3097s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 3097s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 3097s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 3097s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 13%] 3097s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 13%] 3097s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 3097s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 3097s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 3097s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 3097s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 3097s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 14%] 3097s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 3097s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 3097s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 3097s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 3097s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 3097s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 15%] 3097s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 15%] 3097s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 3097s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 15%] 3097s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 3097s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 3097s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 3097s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 16%] 3097s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 16%] 3097s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 3097s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 3097s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 3097s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 3097s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 17%] 3097s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 17%] 3097s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 3097s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 3097s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 3097s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 3097s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 3097s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 18%] 3097s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 18%] 3097s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 3097s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 3097s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 3097s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 3097s tests/test_consul.py::TestConsul::test_update_service PASSED [ 19%] 3097s tests/test_consul.py::TestConsul::test_watch PASSED [ 19%] 3097s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 3097s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 3097s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 3098s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 3098s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 3098s tests/test_ctl.py::TestCtl::test_failover PASSED [ 20%] 3098s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 20%] 3098s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 3098s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 3098s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 3098s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 3098s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 21%] 3098s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 21%] 3098s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 3098s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 3098s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 3098s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 3098s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 3098s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 22%] 3098s tests/test_ctl.py::TestCtl::test_members PASSED [ 22%] 3098s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 3098s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 3098s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 3098s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 3098s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 23%] 3098s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 23%] 3098s tests/test_ctl.py::TestCtl::test_reload PASSED [ 23%] 3098s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 3098s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 3098s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 3098s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 3098s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 24%] 3098s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 24%] 3098s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 3098s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 3098s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 3098s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 3098s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 25%] 3098s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 25%] 3098s tests/test_etcd.py::TestClient::test___del__ PASSED [ 25%] 3098s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 3098s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 3098s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 3098s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 26%] 3099s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 26%] 3099s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 26%] 3099s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 3099s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 3099s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 3099s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 3099s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 27%] 3099s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 27%] 3099s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 27%] 3099s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 3099s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 3099s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 3099s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 28%] 3099s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 28%] 3099s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 28%] 3099s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 3099s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 3099s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 3099s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 3099s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 29%] 3099s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 29%] 3099s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 29%] 3099s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 3099s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 3099s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 3099s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 30%] 3099s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 30%] 3099s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 30%] 3099s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 30%] 3099s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 3099s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 3099s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 3099s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 31%] 3099s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 31%] 3099s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 31%] 3099s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 3099s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 3099s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 3099s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 32%] 3099s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 32%] 3099s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 32%] 3099s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 32%] 3099s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 3099s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 3099s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 3100s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 33%] 3100s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 33%] 3100s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 33%] 3100s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 3100s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 3100s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 3100s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 34%] 3100s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 34%] 3100s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 34%] 3100s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 34%] 3100s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 3100s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 3100s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 3100s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 35%] 3100s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 35%] 3100s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 35%] 3100s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 3100s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 3100s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 3100s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 36%] 3100s tests/test_ha.py::TestHa::test_after_pause PASSED [ 36%] 3100s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 36%] 3100s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 3100s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 3100s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 3100s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 3100s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 37%] 3100s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 37%] 3100s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 3100s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 3100s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 3100s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 3100s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 38%] 3100s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 38%] 3100s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 3100s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 3100s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 3100s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 3100s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 39%] 3100s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 39%] 3100s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 3100s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 3100s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 3100s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 3100s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 3100s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 40%] 3100s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 3100s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 3100s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 3100s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 3100s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 3100s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 41%] 3100s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 3100s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 3100s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 3100s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 3100s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 3100s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 3100s tests/test_ha.py::TestHa::test_is_leader PASSED [ 42%] 3100s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 3100s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 3100s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 3100s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 3100s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 3100s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 43%] 3100s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 43%] 3101s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 3101s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 3101s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 3101s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 3101s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 3101s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 44%] 3101s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 3101s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 3101s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 3101s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 3101s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 3101s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 45%] 3101s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 3101s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 3101s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 3101s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 3101s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 3101s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 3101s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 3101s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 3101s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 3101s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 3101s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 3101s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 3101s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 3101s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 3101s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 3101s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 3101s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 3101s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 3101s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 3101s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 3101s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 3101s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 3101s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 3101s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 3101s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 3101s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 3101s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 3101s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 3101s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 3101s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 3101s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 3101s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 3101s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 3101s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 3101s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 3101s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 3101s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 3101s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 3101s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 3101s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 3101s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 3101s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 3101s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 51%] 3101s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 3101s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 3101s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 3101s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 3102s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 3102s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 52%] 3102s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 3102s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 3102s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 3102s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 3102s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 3102s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 53%] 3102s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 53%] 3102s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 3102s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 3102s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 3102s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 3102s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 54%] 3102s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 54%] 3102s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 3102s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 3102s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 55%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 55%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 55%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 56%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 56%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 56%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 3102s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 57%] 3103s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 57%] 3103s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 3103s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 3103s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 3103s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 3103s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 58%] 3103s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 58%] 3103s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 58%] 3103s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 3103s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 3103s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 3103s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 59%] 3103s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 59%] 3103s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 59%] 3103s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 3103s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 3103s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 60%] 3103s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 60%] 3103s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 60%] 3103s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 60%] 3103s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 60%] 3103s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 3103s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 61%] 3103s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 61%] 3103s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 61%] 3103s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 61%] 3103s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 3103s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 3103s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 62%] 3103s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 62%] 3103s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 62%] 3103s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 62%] 3103s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 62%] 3104s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 3104s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 63%] 3104s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 63%] 3104s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 63%] 3104s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 63%] 3104s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 63%] 3104s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 3104s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 3104s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 64%] 3104s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 64%] 3104s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 64%] 3104s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 64%] 3104s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 64%] 3104s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 3104s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 65%] 3104s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 65%] 3104s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 65%] 3104s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 65%] 3104s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 65%] 3104s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 3104s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 3104s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 66%] 3104s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 66%] 3104s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 66%] 3104s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 66%] 3104s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 3104s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 3104s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 67%] 3104s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 67%] 3104s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 67%] 3104s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 67%] 3104s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 3104s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 3104s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 3104s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 68%] 3104s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 68%] 3104s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 68%] 3104s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 3104s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 3104s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 3104s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 69%] 3104s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 69%] 3104s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 69%] 3105s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 3105s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 3105s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 3105s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 3105s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 70%] 3105s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 70%] 3105s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 3105s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 3105s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 3105s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 3105s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 71%] 3105s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 71%] 3105s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 3105s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 3105s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 3105s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 3105s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 3105s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 72%] 3105s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 72%] 3105s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 3105s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 3105s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 3105s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 3105s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 73%] 3105s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 73%] 3105s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 3105s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 3105s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 3105s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 3105s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 3105s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 74%] 3105s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 3105s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 3105s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 3105s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 3105s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 3105s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 75%] 3107s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 3109s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 3111s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 3111s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 3113s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 3113s tests/test_raft.py::TestRaft::test_init PASSED [ 76%] 3115s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 3115s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 3115s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 3115s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 3115s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 3115s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 3115s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 3115s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 3115s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 3115s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 3115s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 3115s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 3115s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 3115s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 3115s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 3115s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 3115s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 3115s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 3115s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 3115s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 3115s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 3115s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 3115s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 3115s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 3115s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 3115s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 80%] 3115s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 3115s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 3115s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 3115s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 3115s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 3115s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 3116s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 81%] 3116s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 3116s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 3116s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 3116s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 3116s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 3116s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 3116s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 3116s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 3116s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 3116s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 3116s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 3116s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 3116s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 3116s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 3116s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 3116s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 3116s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 3116s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 3116s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 3116s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 3116s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 3116s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 3116s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 3116s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 3116s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 3116s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 3116s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 3116s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 3116s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 3116s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 3116s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 3116s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 3116s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 3116s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 3116s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 3116s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 3116s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 3116s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 3116s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 3116s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 3116s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 3116s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 3116s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 3116s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 3116s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 3116s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 3116s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 3116s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 3116s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 3116s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 3116s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 3116s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 3116s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 3116s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 3116s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 3116s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 3116s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 3116s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 3116s patroni/api.py::patroni.api.check_access PASSED [ 93%] 3116s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 3116s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 3116s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 3116s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 3116s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 3116s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 3116s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 3116s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 3116s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 3117s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 3117s patroni/utils.py::patroni.utils.compare_values PASSED [ 95%] 3117s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 95%] 3117s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 95%] 3117s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 95%] 3117s patroni/utils.py::patroni.utils.deep_compare PASSED [ 95%] 3117s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 95%] 3117s patroni/utils.py::patroni.utils.parse_bool PASSED [ 95%] 3117s patroni/utils.py::patroni.utils.parse_int PASSED [ 96%] 3117s patroni/utils.py::patroni.utils.parse_real PASSED [ 96%] 3117s patroni/utils.py::patroni.utils.split_host_port PASSED [ 96%] 3117s patroni/utils.py::patroni.utils.strtod PASSED [ 96%] 3117s patroni/utils.py::patroni.utils.strtol PASSED [ 96%] 3117s patroni/utils.py::patroni.utils.unquote PASSED [ 96%] 3117s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 97%] 3117s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 97%] 3117s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 97%] 3117s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 97%] 3117s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 97%] 3117s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 97%] 3117s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 97%] 3117s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 98%] 3117s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 98%] 3117s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 98%] 3117s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 98%] 3117s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 98%] 3117s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 98%] 3117s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 99%] 3117s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 99%] 3117s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 99%] 3117s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 99%] 3117s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 99%] 3117s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 99%] 3120s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [100%] 3120s 3120s ---------- coverage: platform linux, python 3.12.4-final-0 ----------- 3120s Name Stmts Miss Cover Missing 3120s ----------------------------------------------------------------------------------- 3120s patroni/__init__.py 13 0 100% 3120s patroni/__main__.py 199 1 99% 395 3120s patroni/api.py 770 0 100% 3120s patroni/async_executor.py 96 0 100% 3120s patroni/collections.py 56 3 95% 50, 99, 107 3120s patroni/config.py 371 0 100% 3120s patroni/config_generator.py 212 0 100% 3120s patroni/ctl.py 936 0 100% 3120s patroni/daemon.py 76 0 100% 3120s patroni/dcs/__init__.py 646 0 100% 3120s patroni/dcs/consul.py 485 0 100% 3120s patroni/dcs/etcd3.py 679 0 100% 3120s patroni/dcs/etcd.py 603 0 100% 3120s patroni/dcs/exhibitor.py 61 0 100% 3120s patroni/dcs/kubernetes.py 938 0 100% 3120s patroni/dcs/raft.py 319 0 100% 3120s patroni/dcs/zookeeper.py 288 0 100% 3120s patroni/dynamic_loader.py 35 0 100% 3120s patroni/exceptions.py 16 0 100% 3120s patroni/file_perm.py 43 0 100% 3120s patroni/global_config.py 81 0 100% 3120s patroni/ha.py 1244 2 99% 1925-1926 3120s patroni/log.py 219 2 99% 365-367 3120s patroni/postgresql/__init__.py 821 0 100% 3120s patroni/postgresql/available_parameters/__init__.py 21 0 100% 3120s patroni/postgresql/bootstrap.py 252 0 100% 3120s patroni/postgresql/callback_executor.py 55 0 100% 3120s patroni/postgresql/cancellable.py 104 0 100% 3120s patroni/postgresql/config.py 813 0 100% 3120s patroni/postgresql/connection.py 75 0 100% 3120s patroni/postgresql/misc.py 41 0 100% 3120s patroni/postgresql/mpp/__init__.py 89 0 100% 3120s 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 3120s patroni/postgresql/postmaster.py 170 0 100% 3120s patroni/postgresql/rewind.py 416 0 100% 3120s patroni/postgresql/slots.py 334 0 100% 3120s patroni/postgresql/sync.py 130 0 100% 3120s patroni/postgresql/validator.py 157 0 100% 3120s patroni/psycopg.py 42 16 62% 19, 25-26, 42, 44-82, 120 3120s patroni/raft_controller.py 22 0 100% 3120s patroni/request.py 62 0 100% 3120s patroni/scripts/__init__.py 0 0 100% 3120s patroni/scripts/aws.py 59 1 98% 86 3120s patroni/scripts/barman/__init__.py 0 0 100% 3120s patroni/scripts/barman/cli.py 51 1 98% 240 3120s patroni/scripts/barman/config_switch.py 51 0 100% 3120s patroni/scripts/barman/recover.py 37 0 100% 3120s patroni/scripts/barman/utils.py 94 0 100% 3120s patroni/scripts/wale_restore.py 207 1 99% 374 3120s patroni/tags.py 38 0 100% 3120s patroni/utils.py 350 0 100% 3120s patroni/validator.py 301 0 100% 3120s patroni/version.py 1 0 100% 3120s patroni/watchdog/__init__.py 2 0 100% 3120s patroni/watchdog/base.py 203 0 100% 3120s patroni/watchdog/linux.py 135 1 99% 36 3120s ----------------------------------------------------------------------------------- 3120s TOTAL 13778 150 99% 3120s Coverage XML written to file coverage.xml 3120s 3120s 3120s ======================= 632 passed, 14 skipped in 32.36s ======================= 3121s autopkgtest [03:50:39]: test test: -----------------------] 3122s test PASS 3122s autopkgtest [03:50:40]: test test: - - - - - - - - - - results - - - - - - - - - - 3122s autopkgtest [03:50:40]: @@@@@@@@@@@@@@@@@@@@ summary 3122s acceptance-etcd3 PASS 3122s acceptance-etcd-basic PASS 3122s acceptance-etcd PASS 3122s acceptance-zookeeper PASS 3122s acceptance-raft PASS 3122s test PASS 3134s nova [W] Skipping flock in bos03-arm64 3134s Creating nova instance adt-oracular-arm64-patroni-20240714-025838-juju-7f2275-prod-proposed-migration-environment-3-e7413dc9-d835-4129-a12e-16b1caef7dcf from image adt/ubuntu-oracular-arm64-server-20240713.img (UUID 3c579e1a-9694-4cfa-8fb2-317ade717652)... 3134s nova [W] Skipping flock in bos03-arm64 3134s Creating nova instance adt-oracular-arm64-patroni-20240714-025838-juju-7f2275-prod-proposed-migration-environment-3-e7413dc9-d835-4129-a12e-16b1caef7dcf from image adt/ubuntu-oracular-arm64-server-20240713.img (UUID 3c579e1a-9694-4cfa-8fb2-317ade717652)... 3134s nova [W] Skipping flock in bos03-arm64 3134s Creating nova instance adt-oracular-arm64-patroni-20240714-025838-juju-7f2275-prod-proposed-migration-environment-3-e7413dc9-d835-4129-a12e-16b1caef7dcf from image adt/ubuntu-oracular-arm64-server-20240713.img (UUID 3c579e1a-9694-4cfa-8fb2-317ade717652)... 3134s nova [W] Skipping flock in bos03-arm64 3134s Creating nova instance adt-oracular-arm64-patroni-20240714-025838-juju-7f2275-prod-proposed-migration-environment-3-e7413dc9-d835-4129-a12e-16b1caef7dcf from image adt/ubuntu-oracular-arm64-server-20240713.img (UUID 3c579e1a-9694-4cfa-8fb2-317ade717652)... 3134s nova [W] Skipping flock in bos03-arm64 3134s Creating nova instance adt-oracular-arm64-patroni-20240714-025838-juju-7f2275-prod-proposed-migration-environment-3-e7413dc9-d835-4129-a12e-16b1caef7dcf from image adt/ubuntu-oracular-arm64-server-20240713.img (UUID 3c579e1a-9694-4cfa-8fb2-317ade717652)...