0s autopkgtest [05:24:42]: starting date and time: 2024-03-24 05:24:42+0000 0s autopkgtest [05:24:42]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [05:24:42]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ztenrw4f/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:sphinx --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/7.2.6-6 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos01-arm64-10.secgroup --name adt-noble-arm64-patroni-20240324-041917-juju-7f2275-prod-proposed-migration-environment-3 --image adt/ubuntu-noble-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,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://us.ports.ubuntu.com/ubuntu-ports/ 129s autopkgtest [05:26:51]: testbed dpkg architecture: arm64 129s autopkgtest [05:26:51]: testbed apt version: 2.7.12 129s autopkgtest [05:26:51]: @@@@@@@@@@@@@@@@@@@@ test bed setup 130s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 130s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 130s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3984 kB] 131s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 131s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 131s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [707 kB] 131s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 131s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 131s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 131s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4359 kB] 131s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 131s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 131s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 133s Fetched 9840 kB in 2s (5659 kB/s) 133s Reading package lists... 136s Reading package lists... 136s Building dependency tree... 136s Reading state information... 137s Calculating upgrade... 137s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 137s Reading package lists... 137s Building dependency tree... 137s Reading state information... 138s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 139s sh: Attempting to set up Debian/Ubuntu apt sources automatically 139s sh: Distribution appears to be Ubuntu 139s Reading package lists... 140s Building dependency tree... 140s Reading state information... 140s eatmydata is already the newest version (131-1). 140s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 140s Reading package lists... 141s Building dependency tree... 141s Reading state information... 141s dbus is already the newest version (1.14.10-4ubuntu1). 141s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 141s Reading package lists... 142s Building dependency tree... 142s Reading state information... 142s rng-tools-debian is already the newest version (2.4). 142s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 142s Reading package lists... 143s Building dependency tree... 143s Reading state information... 143s The following packages will be REMOVED: 143s cloud-init* python3-configobj* python3-debconf* 143s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 143s After this operation, 3256 kB disk space will be freed. 144s (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 ... 75911 files and directories currently installed.) 144s Removing cloud-init (24.1.2-0ubuntu1) ... 144s Removing python3-configobj (5.0.8-3) ... 144s Removing python3-debconf (1.5.86) ... 144s Processing triggers for man-db (2.12.0-3) ... 145s (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 ... 75522 files and directories currently installed.) 145s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 145s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 145s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 145s invoke-rc.d: policy-rc.d denied execution of try-restart. 145s Reading package lists... 146s Building dependency tree... 146s Reading state information... 146s linux-generic is already the newest version (6.8.0-11.11+1). 146s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 146s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 147s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 147s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 149s Reading package lists... 149s Reading package lists... 149s Building dependency tree... 149s Reading state information... 149s Calculating upgrade... 150s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 150s Reading package lists... 150s Building dependency tree... 150s Reading state information... 151s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 151s autopkgtest [05:27:13]: rebooting testbed after setup commands that affected boot 303s autopkgtest [05:29:45]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 14 02:53:31 UTC 2024 306s autopkgtest [05:29:48]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 309s Get:1 http://ftpmaster.internal/ubuntu noble/universe patroni 3.2.2-2 (dsc) [2873 B] 309s Get:2 http://ftpmaster.internal/ubuntu noble/universe patroni 3.2.2-2 (tar) [1121 kB] 309s Get:3 http://ftpmaster.internal/ubuntu noble/universe patroni 3.2.2-2 (diff) [22.9 kB] 309s gpgv: Signature made Tue Feb 6 14:38:55 2024 UTC 309s gpgv: using RSA key 5C48FE6157F49179597087C64C5A6BAB12D2A7AE 309s gpgv: Can't check signature: No public key 309s dpkg-source: warning: cannot verify inline signature for ./patroni_3.2.2-2.dsc: no acceptable signature found 309s autopkgtest [05:29:51]: testing package patroni version 3.2.2-2 310s autopkgtest [05:29:52]: build not needed 310s autopkgtest [05:29:52]: test acceptance-etcd3: preparing testbed 312s Reading package lists... 313s Building dependency tree... 313s Reading state information... 313s Starting pkgProblemResolver with broken count: 0 313s Starting 2 pkgProblemResolver with broken count: 0 313s Done 314s The following additional packages will be installed: 314s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 314s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm17 libpq5 314s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 314s patroni-doc postgresql postgresql-16 postgresql-client-16 314s postgresql-client-common postgresql-common python3-behave python3-cdiff 314s python3-click python3-colorama python3-coverage python3-dateutil 314s python3-dnspython python3-etcd python3-parse python3-parse-type 314s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 314s sphinx-rtd-theme-common ssl-cert 314s Suggested packages: 314s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 314s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 314s python3-httpcore etcd python-psycopg2-doc 314s Recommended packages: 314s javascript-common libjson-xs-perl 314s The following NEW packages will be installed: 314s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 314s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 314s libllvm17 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 314s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 314s postgresql-client-common postgresql-common python3-behave python3-cdiff 314s python3-click python3-colorama python3-coverage python3-dateutil 314s python3-dnspython python3-etcd python3-parse python3-parse-type 314s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 314s sphinx-rtd-theme-common ssl-cert 314s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 314s Need to get 56.6 MB/56.6 MB of archives. 314s After this operation, 231 MB of additional disk space will be used. 314s Get:1 /tmp/autopkgtest.lAT8Md/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [760 B] 314s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-lato all 2.015-1 [2781 kB] 316s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 316s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-client-common all 257 [36.2 kB] 316s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 ssl-cert all 1.1.2ubuntu1 [17.8 kB] 316s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-common all 257 [162 kB] 316s Get:7 http://ftpmaster.internal/ubuntu noble/universe arm64 etcd-server arm64 3.4.30-1 [7555 kB] 317s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 318s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libio-pty-perl arm64 1:1.20-1 [31.0 kB] 318s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libipc-run-perl all 20231003.0-1 [92.1 kB] 318s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 318s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 318s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-sphinxdoc all 7.2.6-4 [149 kB] 318s Get:14 http://ftpmaster.internal/ubuntu noble/main arm64 libllvm17 arm64 1:17.0.6-5build1 [25.0 MB] 319s Get:15 http://ftpmaster.internal/ubuntu noble/main arm64 libpq5 arm64 16.2-1 [136 kB] 319s Get:16 http://ftpmaster.internal/ubuntu noble/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 319s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 319s Get:18 http://ftpmaster.internal/ubuntu noble/main arm64 libxslt1.1 arm64 1.1.39-0exp1 [166 kB] 319s Get:19 http://ftpmaster.internal/ubuntu noble/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 319s Get:20 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 319s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 319s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 python3-click all 8.1.6-1 [79.0 kB] 319s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dateutil all 2.8.2-3 [79.2 kB] 319s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 319s Get:25 http://ftpmaster.internal/ubuntu noble/main arm64 python3-prettytable all 3.6.0-1 [33.1 kB] 319s Get:26 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psutil arm64 5.9.8-1 [196 kB] 319s Get:27 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psycopg2 arm64 2.9.9-1 [177 kB] 319s Get:28 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 319s Get:29 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 319s Get:30 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni all 3.2.2-2 [253 kB] 319s Get:31 http://ftpmaster.internal/ubuntu noble/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 319s Get:32 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni-doc all 3.2.2-2 [476 kB] 319s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-client-16 arm64 16.2-1 [1260 kB] 319s Get:34 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-16 arm64 16.2-1 [15.2 MB] 320s Get:35 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql all 16+257 [11.4 kB] 320s Get:36 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-parse all 1.19.0-0.2 [18.1 kB] 320s Get:37 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 320s Get:38 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 320s Get:39 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-coverage arm64 7.3.2-0ubuntu1 [147 kB] 320s Preconfiguring packages ... 320s Fetched 56.6 MB in 6s (10.2 MB/s) 321s Selecting previously unselected package fonts-lato. 321s (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 ... 75467 files and directories currently installed.) 321s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 321s Unpacking fonts-lato (2.015-1) ... 321s Selecting previously unselected package libjson-perl. 321s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 321s Unpacking libjson-perl (4.10000-1) ... 321s Selecting previously unselected package postgresql-client-common. 321s Preparing to unpack .../02-postgresql-client-common_257_all.deb ... 321s Unpacking postgresql-client-common (257) ... 321s Selecting previously unselected package ssl-cert. 321s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu1_all.deb ... 321s Unpacking ssl-cert (1.1.2ubuntu1) ... 321s Selecting previously unselected package postgresql-common. 321s Preparing to unpack .../04-postgresql-common_257_all.deb ... 321s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 321s Unpacking postgresql-common (257) ... 321s Selecting previously unselected package etcd-server. 321s Preparing to unpack .../05-etcd-server_3.4.30-1_arm64.deb ... 321s Unpacking etcd-server (3.4.30-1) ... 321s Selecting previously unselected package fonts-font-awesome. 321s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 321s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 321s Selecting previously unselected package libio-pty-perl. 321s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1_arm64.deb ... 321s Unpacking libio-pty-perl (1:1.20-1) ... 321s Selecting previously unselected package libipc-run-perl. 321s Preparing to unpack .../08-libipc-run-perl_20231003.0-1_all.deb ... 321s Unpacking libipc-run-perl (20231003.0-1) ... 322s Selecting previously unselected package libjs-jquery. 322s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 322s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 322s Selecting previously unselected package libjs-underscore. 322s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 322s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 322s Selecting previously unselected package libjs-sphinxdoc. 322s Preparing to unpack .../11-libjs-sphinxdoc_7.2.6-4_all.deb ... 322s Unpacking libjs-sphinxdoc (7.2.6-4) ... 322s Selecting previously unselected package libllvm17:arm64. 322s Preparing to unpack .../12-libllvm17_1%3a17.0.6-5build1_arm64.deb ... 322s Unpacking libllvm17:arm64 (1:17.0.6-5build1) ... 322s Selecting previously unselected package libpq5:arm64. 322s Preparing to unpack .../13-libpq5_16.2-1_arm64.deb ... 322s Unpacking libpq5:arm64 (16.2-1) ... 322s Selecting previously unselected package libtime-duration-perl. 322s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 322s Unpacking libtime-duration-perl (1.21-2) ... 322s Selecting previously unselected package libtimedate-perl. 322s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 322s Unpacking libtimedate-perl (2.3300-2) ... 323s Selecting previously unselected package libxslt1.1:arm64. 323s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1_arm64.deb ... 323s Unpacking libxslt1.1:arm64 (1.1.39-0exp1) ... 323s Selecting previously unselected package moreutils. 323s Preparing to unpack .../17-moreutils_0.69-1_arm64.deb ... 323s Unpacking moreutils (0.69-1) ... 323s Selecting previously unselected package python3-cdiff. 323s Preparing to unpack .../18-python3-cdiff_1.0-1.1_all.deb ... 323s Unpacking python3-cdiff (1.0-1.1) ... 323s Selecting previously unselected package python3-colorama. 323s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 323s Unpacking python3-colorama (0.4.6-4) ... 323s Selecting previously unselected package python3-click. 323s Preparing to unpack .../20-python3-click_8.1.6-1_all.deb ... 323s Unpacking python3-click (8.1.6-1) ... 323s Selecting previously unselected package python3-dateutil. 323s Preparing to unpack .../21-python3-dateutil_2.8.2-3_all.deb ... 323s Unpacking python3-dateutil (2.8.2-3) ... 323s Selecting previously unselected package python3-wcwidth. 323s Preparing to unpack .../22-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 323s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 323s Selecting previously unselected package python3-prettytable. 323s Preparing to unpack .../23-python3-prettytable_3.6.0-1_all.deb ... 323s Unpacking python3-prettytable (3.6.0-1) ... 323s Selecting previously unselected package python3-psutil. 323s Preparing to unpack .../24-python3-psutil_5.9.8-1_arm64.deb ... 323s Unpacking python3-psutil (5.9.8-1) ... 323s Selecting previously unselected package python3-psycopg2. 323s Preparing to unpack .../25-python3-psycopg2_2.9.9-1_arm64.deb ... 323s Unpacking python3-psycopg2 (2.9.9-1) ... 323s Selecting previously unselected package python3-dnspython. 323s Preparing to unpack .../26-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 323s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 323s Selecting previously unselected package python3-etcd. 323s Preparing to unpack .../27-python3-etcd_0.4.5-4_all.deb ... 323s Unpacking python3-etcd (0.4.5-4) ... 323s Selecting previously unselected package patroni. 323s Preparing to unpack .../28-patroni_3.2.2-2_all.deb ... 323s Unpacking patroni (3.2.2-2) ... 323s Selecting previously unselected package sphinx-rtd-theme-common. 323s Preparing to unpack .../29-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 323s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 323s Selecting previously unselected package patroni-doc. 323s Preparing to unpack .../30-patroni-doc_3.2.2-2_all.deb ... 323s Unpacking patroni-doc (3.2.2-2) ... 323s Selecting previously unselected package postgresql-client-16. 323s Preparing to unpack .../31-postgresql-client-16_16.2-1_arm64.deb ... 323s Unpacking postgresql-client-16 (16.2-1) ... 323s Selecting previously unselected package postgresql-16. 323s Preparing to unpack .../32-postgresql-16_16.2-1_arm64.deb ... 323s Unpacking postgresql-16 (16.2-1) ... 324s Selecting previously unselected package postgresql. 324s Preparing to unpack .../33-postgresql_16+257_all.deb ... 324s Unpacking postgresql (16+257) ... 324s Selecting previously unselected package python3-parse. 324s Preparing to unpack .../34-python3-parse_1.19.0-0.2_all.deb ... 324s Unpacking python3-parse (1.19.0-0.2) ... 324s Selecting previously unselected package python3-parse-type. 324s Preparing to unpack .../35-python3-parse-type_0.6.2-1_all.deb ... 324s Unpacking python3-parse-type (0.6.2-1) ... 324s Selecting previously unselected package python3-behave. 324s Preparing to unpack .../36-python3-behave_1.2.6-5_all.deb ... 324s Unpacking python3-behave (1.2.6-5) ... 324s Selecting previously unselected package python3-coverage. 324s Preparing to unpack .../37-python3-coverage_7.3.2-0ubuntu1_arm64.deb ... 324s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 324s Selecting previously unselected package autopkgtest-satdep. 324s Preparing to unpack .../38-1-autopkgtest-satdep.deb ... 324s Unpacking autopkgtest-satdep (0) ... 324s Setting up postgresql-client-common (257) ... 324s Setting up fonts-lato (2.015-1) ... 324s Setting up libio-pty-perl (1:1.20-1) ... 324s Setting up python3-colorama (0.4.6-4) ... 324s Setting up python3-cdiff (1.0-1.1) ... 324s Setting up libpq5:arm64 (16.2-1) ... 324s Setting up python3-coverage (7.3.2-0ubuntu1) ... 325s Setting up python3-click (8.1.6-1) ... 325s Setting up python3-psutil (5.9.8-1) ... 325s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 326s Setting up ssl-cert (1.1.2ubuntu1) ... 327s Created symlink /etc/systemd/system/multi-user.target.wants/ssl-cert.service → /usr/lib/systemd/system/ssl-cert.service. 327s Setting up python3-psycopg2 (2.9.9-1) ... 327s Setting up libipc-run-perl (20231003.0-1) ... 327s Setting up libtime-duration-perl (1.21-2) ... 327s Setting up libtimedate-perl (2.3300-2) ... 327s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 328s Setting up python3-parse (1.19.0-0.2) ... 328s Setting up libjson-perl (4.10000-1) ... 328s Setting up libxslt1.1:arm64 (1.1.39-0exp1) ... 328s Setting up python3-dateutil (2.8.2-3) ... 328s Setting up etcd-server (3.4.30-1) ... 328s info: Selecting UID from range 100 to 999 ... 328s 328s info: Selecting GID from range 100 to 999 ... 328s info: Adding system user `etcd' (UID 107) ... 328s info: Adding new group `etcd' (GID 111) ... 328s info: Adding new user `etcd' (UID 107) with group `etcd' ... 328s info: Creating home directory `/var/lib/etcd/' ... 329s Created symlink /etc/systemd/system/etcd2.service → /usr/lib/systemd/system/etcd.service. 329s Created symlink /etc/systemd/system/multi-user.target.wants/etcd.service → /usr/lib/systemd/system/etcd.service. 329s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 329s Setting up python3-prettytable (3.6.0-1) ... 330s Setting up libllvm17:arm64 (1:17.0.6-5build1) ... 330s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 330s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 330s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 330s Setting up moreutils (0.69-1) ... 330s Setting up python3-etcd (0.4.5-4) ... 330s Setting up postgresql-client-16 (16.2-1) ... 330s 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 330s Setting up python3-parse-type (0.6.2-1) ... 330s Setting up postgresql-common (257) ... 331s 331s Creating config file /etc/postgresql-common/createcluster.conf with new version 331s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 331s Removing obsolete dictionary files: 332s Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. 333s Setting up libjs-sphinxdoc (7.2.6-4) ... 333s Setting up python3-behave (1.2.6-5) ... 333s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 333s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 333s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 333s """Registers a custom type that will be available to "parse" 333s Setting up patroni (3.2.2-2) ... 333s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 334s Setting up postgresql-16 (16.2-1) ... 334s Creating new PostgreSQL cluster 16/main ... 334s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 334s The files belonging to this database system will be owned by user "postgres". 334s This user must also own the server process. 334s 334s The database cluster will be initialized with locale "C.UTF-8". 334s The default database encoding has accordingly been set to "UTF8". 334s The default text search configuration will be set to "english". 334s 334s Data page checksums are disabled. 334s 334s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 334s creating subdirectories ... ok 334s selecting dynamic shared memory implementation ... posix 334s selecting default max_connections ... 100 334s selecting default shared_buffers ... 128MB 334s selecting default time zone ... Etc/UTC 334s creating configuration files ... ok 334s running bootstrap script ... ok 335s performing post-bootstrap initialization ... ok 335s syncing data to disk ... ok 338s Setting up patroni-doc (3.2.2-2) ... 338s Setting up postgresql (16+257) ... 339s Setting up autopkgtest-satdep (0) ... 339s Processing triggers for man-db (2.12.0-3) ... 339s Processing triggers for libc-bin (2.39-0ubuntu6) ... 344s (Reading database ... 78829 files and directories currently installed.) 344s Removing autopkgtest-satdep (0) ... 344s autopkgtest [05:30:26]: test acceptance-etcd3: debian/tests/acceptance etcd3 344s autopkgtest [05:30:26]: test acceptance-etcd3: [----------------------- 344s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 344s ++ ls -1r /usr/lib/postgresql/ 344s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 344s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 344s + '[' 16 == 10 ']' 344s ### PostgreSQL 16 acceptance-etcd3 ### 344s + SKIP= 344s + 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' 347s Mar 24 05:30:28 Feature: basic replication # features/basic_replication.feature:1 347s Mar 24 05:30:28 We should check that the basic bootstrapping, replication and failover works. 347s Mar 24 05:30:28 Scenario: check replication of a single table # features/basic_replication.feature:4 347s Mar 24 05:30:28 Given I start postgres0 # features/steps/basic_replication.py:8 350s Mar 24 05:30:32 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 350s Mar 24 05:30:32 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 350s Mar 24 05:30: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 350s Mar 24 05:30:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 350s Mar 24 05:30:32 When I start postgres1 # features/steps/basic_replication.py:8 353s Mar 24 05:30:35 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 357s Mar 24 05:30:39 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 357s Mar 24 05:30:39 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 357s Mar 24 05:30:39 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 359s Mar 24 05:30:40 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 359s Mar 24 05:30:40 359s Mar 24 05:30:40 Scenario: check restart of sync replica # features/basic_replication.feature:17 359s Mar 24 05:30:40 Given I shut down postgres2 # features/steps/basic_replication.py:29 359s Mar 24 05:30:41 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 359s Mar 24 05:30:41 When I start postgres2 # features/steps/basic_replication.py:8 362s Mar 24 05:30:44 And I shut down postgres1 # features/steps/basic_replication.py:29 365s Mar 24 05:30:47 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 365s Mar 24 05:30:47 When I start postgres1 # features/steps/basic_replication.py:8 368s Mar 24 05:30:50 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 368s Mar 24 05:30:50 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 368s Mar 24 05:30:50 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 368s Mar 24 05:30:50 368s Mar 24 05:30:50 Scenario: check stuck sync replica # features/basic_replication.feature:28 368s Mar 24 05:30:50 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 368s Mar 24 05:30:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 368s Mar 24 05:30:50 And I create table on postgres0 # features/steps/basic_replication.py:69 368s Mar 24 05:30:50 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 368s Mar 24 05:30:50 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 368s Mar 24 05:30:50 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 368s Mar 24 05:30:50 And I load data on postgres0 # features/steps/basic_replication.py:80 369s Mar 24 05:30:51 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 372s Mar 24 05:30:54 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 372s Mar 24 05:30:54 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 372s Mar 24 05:30:54 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 372s Mar 24 05:30:54 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 373s Mar 24 05:30:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 373s Mar 24 05:30:54 And I drop table on postgres0 # features/steps/basic_replication.py:69 373s Mar 24 05:30:55 373s Mar 24 05:30:55 Scenario: check multi sync replication # features/basic_replication.feature:44 373s Mar 24 05:30:55 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 373s Mar 24 05:30:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 373s Mar 24 05:30:55 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 377s Mar 24 05:30:59 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 377s Mar 24 05:30:59 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 377s Mar 24 05:30:59 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 377s Mar 24 05:30:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 377s Mar 24 05:30:59 And I shut down postgres1 # features/steps/basic_replication.py:29 380s Mar 24 05:31:02 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 381s Mar 24 05:31:03 When I start postgres1 # features/steps/basic_replication.py:8 384s Mar 24 05:31:06 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 385s Mar 24 05:31:07 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 385s Mar 24 05:31:07 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 385s Mar 24 05:31:07 385s Mar 24 05:31:07 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 385s Mar 24 05:31:07 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 387s Mar 24 05:31:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 387s Mar 24 05:31:09 When I sleep for 2 seconds # features/steps/patroni_api.py:39 389s Mar 24 05:31:11 And I shut down postgres0 # features/steps/basic_replication.py:29 390s Mar 24 05:31:12 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 391s Mar 24 05:31:13 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 391s Mar 24 05:31:13 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 409s Mar 24 05:31:31 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 413s Mar 24 05:31:35 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 413s Mar 24 05:31:35 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 413s Mar 24 05:31:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 413s Mar 24 05:31:35 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 413s Mar 24 05:31:35 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 415s Mar 24 05:31:37 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 415s Mar 24 05:31:37 415s Mar 24 05:31:37 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 415s Mar 24 05:31:37 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 415s Mar 24 05:31:37 And I start postgres0 # features/steps/basic_replication.py:8 415s Mar 24 05:31:37 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 419s Mar 24 05:31:41 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 419s Mar 24 05:31:41 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 422s Mar 24 05:31:44 422s Mar 24 05:31:44 @reject-duplicate-name 422s Mar 24 05:31:44 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 422s Mar 24 05:31:44 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 424s Mar 24 05:31:46 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:117 428s Mar 24 05:31:50 428s Mar 24 05:31:50 Feature: cascading replication # features/cascading_replication.feature:1 428s Mar 24 05:31:50 We should check that patroni can do base backup and streaming from the replica 428s Mar 24 05:31:50 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 428s Mar 24 05:31:50 Given I start postgres0 # features/steps/basic_replication.py:8 433s Mar 24 05:31:54 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 433s Mar 24 05:31:54 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 435s Mar 24 05:31:57 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 440s Mar 24 05:32:02 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 440s Mar 24 05:32:02 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 440s Mar 24 05:32:02 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 440s Mar 24 05:32:02 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 443s Mar 24 05:32:05 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:108 444s Mar 24 05:32:06 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 449s Mar 24 05:32:11 449s SKIP FEATURE citus: Citus extenstion isn't available 449s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 449s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 449s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 449s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 449s 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 449s Mar 24 05:32:11 Feature: citus # features/citus.feature:1 449s Mar 24 05:32:11 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 449s Mar 24 05:32:11 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 449s Mar 24 05:32:11 Given I start postgres0 in citus group 0 # None 449s Mar 24 05:32:11 And I start postgres2 in citus group 1 # None 449s Mar 24 05:32:11 Then postgres0 is a leader in a group 0 after 10 seconds # None 449s Mar 24 05:32:11 And postgres2 is a leader in a group 1 after 10 seconds # None 449s Mar 24 05:32:11 When I start postgres1 in citus group 0 # None 449s Mar 24 05:32:11 And I start postgres3 in citus group 1 # None 449s Mar 24 05:32:11 Then replication works from postgres0 to postgres1 after 15 seconds # None 449s Mar 24 05:32:11 Then replication works from postgres2 to postgres3 after 15 seconds # None 449s Mar 24 05:32:11 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 449s Mar 24 05:32:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 449s Mar 24 05:32:11 449s Mar 24 05:32:11 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 449s Mar 24 05:32:11 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 449s Mar 24 05:32:11 Then postgres1 role is the primary after 10 seconds # None 449s Mar 24 05:32:11 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 449s Mar 24 05:32:11 And replication works from postgres1 to postgres0 after 15 seconds # None 449s Mar 24 05:32:11 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 449s Mar 24 05:32:11 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 449s Mar 24 05:32:11 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 449s Mar 24 05:32:11 Then postgres0 role is the primary after 10 seconds # None 449s Mar 24 05:32:11 And replication works from postgres0 to postgres1 after 15 seconds # None 449s Mar 24 05:32:11 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 449s Mar 24 05:32:11 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 449s Mar 24 05:32:11 449s Mar 24 05:32:11 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 449s Mar 24 05:32:11 Given I create a distributed table on postgres0 # None 449s Mar 24 05:32:11 And I start a thread inserting data on postgres0 # None 449s Mar 24 05:32:11 When I run patronictl.py switchover batman --group 1 --force # None 449s Mar 24 05:32:11 Then I receive a response returncode 0 # None 449s Mar 24 05:32:11 And postgres3 role is the primary after 10 seconds # None 449s Mar 24 05:32:11 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 449s Mar 24 05:32:11 And replication works from postgres3 to postgres2 after 15 seconds # None 449s Mar 24 05:32:11 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 449s Mar 24 05:32:11 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 449s Mar 24 05:32:11 And a thread is still alive # None 449s Mar 24 05:32:11 When I run patronictl.py switchover batman --group 1 --force # None 449s Mar 24 05:32:11 Then I receive a response returncode 0 # None 449s Mar 24 05:32:11 And postgres2 role is the primary after 10 seconds # None 449s Mar 24 05:32:11 And replication works from postgres2 to postgres3 after 15 seconds # None 449s Mar 24 05:32:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 449s Mar 24 05:32:11 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 449s Mar 24 05:32:11 And a thread is still alive # None 449s Mar 24 05:32:11 When I stop a thread # None 449s Mar 24 05:32:11 Then a distributed table on postgres0 has expected rows # None 449s Mar 24 05:32:11 449s Mar 24 05:32:11 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 449s Mar 24 05:32:11 Given I cleanup a distributed table on postgres0 # None 449s Mar 24 05:32:11 And I start a thread inserting data on postgres0 # None 449s Mar 24 05:32:11 When I run patronictl.py restart batman postgres2 --group 1 --force # None 449s Mar 24 05:32:11 Then I receive a response returncode 0 # None 449s Mar 24 05:32:11 And postgres2 role is the primary after 10 seconds # None 449s Mar 24 05:32:11 And replication works from postgres2 to postgres3 after 15 seconds # None 449s Mar 24 05:32:11 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 449s Mar 24 05:32:11 And a thread is still alive # None 449s Mar 24 05:32:11 When I stop a thread # None 449s Mar 24 05:32:11 Then a distributed table on postgres0 has expected rows # None 449s Mar 24 05:32:11 449s Mar 24 05:32:11 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 449s Mar 24 05:32:11 Given I start postgres4 in citus group 2 # None 449s Mar 24 05:32:11 Then postgres4 is a leader in a group 2 after 10 seconds # None 449s Mar 24 05:32:11 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 449s Mar 24 05:32:11 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 449s Mar 24 05:32:11 Then I receive a response returncode 0 # None 449s Mar 24 05:32:11 And I receive a response output "+ttl: 20" # None 449s Mar 24 05:32:11 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 449s Mar 24 05:32:11 When I shut down postgres4 # None 449s Mar 24 05:32:11 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 449s Mar 24 05:32:11 When I run patronictl.py restart batman postgres2 --group 1 --force # None 449s Mar 24 05:32:11 Then a transaction finishes in 20 seconds # None 449s Mar 24 05:32:11 449s Mar 24 05:32:11 Feature: custom bootstrap # features/custom_bootstrap.feature:1 449s Mar 24 05:32:11 We should check that patroni can bootstrap a new cluster from a backup 449s Mar 24 05:32:11 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 449s Mar 24 05:32:11 Given I start postgres0 # features/steps/basic_replication.py:8 452s Mar 24 05:32:14 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 453s Mar 24 05:32:15 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 453s Mar 24 05:32:15 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 457s Mar 24 05:32:18 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 457s Mar 24 05:32:19 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:89 457s Mar 24 05:32:19 457s Mar 24 05:32:19 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 457s Mar 24 05:32:19 Given I add the table bar to postgres1 # features/steps/basic_replication.py:49 457s Mar 24 05:32:19 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 458s Mar 24 05:32:20 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 462s Mar 24 05:32:24 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 462s Mar 24 05:32:24 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:89 468s Mar 24 05:32:30 468s Mar 24 05:32:30 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 468s Mar 24 05:32:30 We should check the basic dcs failsafe mode functioning 468s Mar 24 05:32:30 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 468s Mar 24 05:32:30 Given I start postgres0 # features/steps/basic_replication.py:8 472s Mar 24 05:32:34 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 473s Mar 24 05:32:35 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 473s Mar 24 05:32:35 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 473s Mar 24 05:32:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 473s Mar 24 05:32:35 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 473s Mar 24 05:32:35 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 473s Mar 24 05:32:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 473s Mar 24 05:32:35 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 473s Mar 24 05:32:35 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 474s Mar 24 05:32:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 474s Mar 24 05:32:35 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 474s Mar 24 05:32:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 474s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 474s 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 474s Mar 24 05:32:36 474s Mar 24 05:32:36 @dcs-failsafe 474s Mar 24 05:32:36 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 474s Mar 24 05:32:36 Given DCS is down # None 474s Mar 24 05:32:36 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 474s Mar 24 05:32:36 And postgres0 role is the primary after 10 seconds # None 474s Mar 24 05:32:36 474s Mar 24 05:32:36 @dcs-failsafe 474s Mar 24 05:32:36 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 474s Mar 24 05:32:36 Given DCS is up # None 474s Mar 24 05:32:36 When I do a backup of postgres0 # None 474s Mar 24 05:32:36 And I shut down postgres0 # None 474s Mar 24 05:32:36 When I start postgres1 in a cluster batman from backup with no_leader # None 474s Mar 24 05:32:36 Then postgres1 role is the replica after 12 seconds # None 474s Mar 24 05:32:36 474s Mar 24 05:32:36 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 474s Mar 24 05:32:36 Given I start postgres0 # features/steps/basic_replication.py:8 474s Mar 24 05:32:36 And I start postgres1 # features/steps/basic_replication.py:8 477s Mar 24 05:32:39 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 477s Mar 24 05:32:39 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 477s Mar 24 05:32:39 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 480s Mar 24 05:32:42 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 480s Mar 24 05:32:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 480s SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 480s 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 480s 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 480s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 480s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 480s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 480s 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 480s Mar 24 05:32:42 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 480s Mar 24 05:32:42 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 480s Mar 24 05:32:42 480s Mar 24 05:32:42 @dcs-failsafe @slot-advance 480s Mar 24 05:32:42 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 480s Mar 24 05:32:42 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 480s Mar 24 05:32:42 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 480s Mar 24 05:32:42 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 480s Mar 24 05:32:42 And DCS is down # None 480s Mar 24 05:32:42 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 480s Mar 24 05:32:42 Then postgres0 role is the primary after 10 seconds # None 480s Mar 24 05:32:42 And postgres1 role is the replica after 2 seconds # None 480s Mar 24 05:32:42 And replication works from postgres0 to postgres1 after 10 seconds # None 480s Mar 24 05:32:42 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 480s Mar 24 05:32:42 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 480s Mar 24 05:32:42 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 480s Mar 24 05:32:42 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 480s Mar 24 05:32:42 480s Mar 24 05:32:42 @dcs-failsafe 480s Mar 24 05:32:42 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 480s Mar 24 05:32:42 Given DCS is down # None 480s Mar 24 05:32:42 And I kill postgres1 # None 480s Mar 24 05:32:42 And I kill postmaster on postgres1 # None 480s Mar 24 05:32:42 Then postgres0 role is the replica after 12 seconds # None 480s Mar 24 05:32:42 480s Mar 24 05:32:42 @dcs-failsafe 480s Mar 24 05:32:42 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 480s Mar 24 05:32:42 Given I kill postgres0 # None 480s Mar 24 05:32:42 And I shut down postmaster on postgres0 # None 480s Mar 24 05:32:42 And DCS is up # None 480s Mar 24 05:32:42 When I start postgres1 # None 480s Mar 24 05:32:42 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 480s Mar 24 05:32:42 And postgres1 role is the primary after 25 seconds # None 480s Mar 24 05:32:42 480s Mar 24 05:32:42 @dcs-failsafe 480s Mar 24 05:32:42 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 480s Mar 24 05:32:42 Given I start postgres0 # None 480s Mar 24 05:32:42 And I start postgres2 # None 480s Mar 24 05:32:42 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 480s Mar 24 05:32:42 And "members/postgres0" key in DCS has state=running after 20 seconds # None 480s Mar 24 05:32:42 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 480s Mar 24 05:32:42 And replication works from postgres1 to postgres0 after 10 seconds # None 480s Mar 24 05:32:42 And replication works from postgres1 to postgres2 after 10 seconds # None 480s Mar 24 05:32:42 480s Mar 24 05:32:42 @dcs-failsafe @slot-advance 480s Mar 24 05:32:42 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 480s Mar 24 05:32:42 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 480s Mar 24 05:32:42 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 480s Mar 24 05:32:42 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 480s Mar 24 05:32:42 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 480s Mar 24 05:32:42 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 480s Mar 24 05:32:42 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 480s Mar 24 05:32:42 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 480s Mar 24 05:32:42 480s Mar 24 05:32:42 @dcs-failsafe 480s Mar 24 05:32:42 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 480s Mar 24 05:32:42 Given DCS is down # None 480s Mar 24 05:32:42 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 480s Mar 24 05:32:42 Then postgres1 role is the primary after 10 seconds # None 480s Mar 24 05:32:42 And postgres0 role is the replica after 2 seconds # None 480s Mar 24 05:32:42 And postgres2 role is the replica after 2 seconds # None 484s Mar 24 05:32:46 484s Mar 24 05:32:46 @dcs-failsafe @slot-advance 484s Mar 24 05:32:46 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 484s Mar 24 05:32:46 Given replication works from postgres1 to postgres0 after 10 seconds # None 484s Mar 24 05:32:46 And replication works from postgres1 to postgres2 after 10 seconds # None 484s Mar 24 05:32:46 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 484s Mar 24 05:32:46 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 484s Mar 24 05:32:46 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 484s Mar 24 05:32:46 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 484s Mar 24 05:32:46 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 484s Mar 24 05:32:46 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 484s Mar 24 05:32:46 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 484s Mar 24 05:32:46 484s Mar 24 05:32:46 Feature: ignored slots # features/ignored_slots.feature:1 484s Mar 24 05:32:46 484s Mar 24 05:32:46 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 484s Mar 24 05:32:46 Given I start postgres1 # features/steps/basic_replication.py:8 487s Mar 24 05:32:49 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 487s Mar 24 05:32:49 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 487s Mar 24 05:32:49 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 487s Mar 24 05:32:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 487s Mar 24 05:32:49 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 487s Mar 24 05:32:49 When I shut down postgres1 # features/steps/basic_replication.py:29 489s Mar 24 05:32:51 And I start postgres1 # features/steps/basic_replication.py:8 491s Mar 24 05:32:53 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 491s Mar 24 05:32:53 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 493s Mar 24 05:32:55 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:101 493s Mar 24 05:32:55 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 493s Mar 24 05:32:55 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 493s Mar 24 05:32:55 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 493s Mar 24 05:32:55 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 493s Mar 24 05:32:55 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 493s Mar 24 05:32:55 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 493s Mar 24 05:32:55 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 493s Mar 24 05:32:55 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 493s Mar 24 05:32:55 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 493s Mar 24 05:32:55 When I start postgres0 # features/steps/basic_replication.py:8 496s Mar 24 05:32:58 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 496s Mar 24 05:32:58 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 496s Mar 24 05:32:58 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 501s Mar 24 05:33:03 When I shut down postgres1 # features/steps/basic_replication.py:29 503s Mar 24 05:33:05 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 504s Mar 24 05:33:06 When I start postgres1 # features/steps/basic_replication.py:8 506s Mar 24 05:33:08 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 506s Mar 24 05:33:08 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 507s Mar 24 05:33:09 And I sleep for 2 seconds # features/steps/patroni_api.py:39 509s Mar 24 05:33:11 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 509s Mar 24 05:33:11 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 509s Mar 24 05:33:11 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 509s Mar 24 05:33:11 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 509s Mar 24 05:33:11 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 509s Mar 24 05:33:11 When I shut down postgres0 # features/steps/basic_replication.py:29 511s Mar 24 05:33:13 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 512s Mar 24 05:33:14 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 512s Mar 24 05:33:14 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 512s Mar 24 05:33:14 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 512s Mar 24 05:33:14 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 515s Mar 24 05:33:17 515s Mar 24 05:33:17 Feature: patroni api # features/patroni_api.feature:1 515s Mar 24 05:33:17 We should check that patroni correctly responds to valid and not-valid API requests. 515s Mar 24 05:33:17 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 515s Mar 24 05:33:17 Given I start postgres0 # features/steps/basic_replication.py:8 519s Mar 24 05:33:21 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 519s Mar 24 05:33:21 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 519s Mar 24 05:33:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 519s Mar 24 05:33:21 And I receive a response state running # features/steps/patroni_api.py:98 519s Mar 24 05:33:21 And I receive a response role master # features/steps/patroni_api.py:98 519s Mar 24 05:33:21 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 519s Mar 24 05:33:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 519s Mar 24 05:33:21 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 519s Mar 24 05:33:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 519s Mar 24 05:33:21 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 519s Mar 24 05:33:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 519s Mar 24 05:33:21 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 519s Mar 24 05:33:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 519s Mar 24 05:33:21 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 519s Mar 24 05:33:21 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 520s Mar 24 05:33:22 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 520s Mar 24 05:33:22 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 520s Mar 24 05:33:22 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 520s Mar 24 05:33:22 Then I receive a response code 412 # features/steps/patroni_api.py:98 520s Mar 24 05:33:22 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 520s Mar 24 05:33:22 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 520s Mar 24 05:33:22 Then I receive a response code 400 # features/steps/patroni_api.py:98 520s Mar 24 05:33:22 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 521s Mar 24 05:33:22 Then I receive a response code 400 # features/steps/patroni_api.py:98 521s Mar 24 05:33:22 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 521s Mar 24 05:33:23 521s Mar 24 05:33:23 Scenario: check local configuration reload # features/patroni_api.feature:32 521s Mar 24 05:33:23 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 521s Mar 24 05:33:23 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 521s Mar 24 05:33:23 Then I receive a response code 202 # features/steps/patroni_api.py:98 521s Mar 24 05:33:23 521s Mar 24 05:33:23 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 521s Mar 24 05:33:23 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 521s Mar 24 05:33:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 521s Mar 24 05:33:23 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 523s Mar 24 05:33:25 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 523s Mar 24 05:33:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 523s Mar 24 05:33:25 And I receive a response ttl 20 # features/steps/patroni_api.py:98 523s Mar 24 05:33:25 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 523s Mar 24 05:33:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 523s Mar 24 05:33:25 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 523s Mar 24 05:33:25 And I sleep for 4 seconds # features/steps/patroni_api.py:39 527s Mar 24 05:33:29 527s Mar 24 05:33:29 Scenario: check the scheduled restart # features/patroni_api.feature:49 527s Mar 24 05:33:29 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 529s Mar 24 05:33:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 529s Mar 24 05:33:31 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 529s Mar 24 05:33:31 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 529s Mar 24 05:33:31 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 529s Mar 24 05:33:31 Then I receive a response code 202 # features/steps/patroni_api.py:98 529s Mar 24 05:33:31 And I sleep for 8 seconds # features/steps/patroni_api.py:39 537s Mar 24 05:33:39 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 537s Mar 24 05:33:39 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 537s Mar 24 05:33:39 Then I receive a response code 202 # features/steps/patroni_api.py:98 537s Mar 24 05:33:39 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 544s Mar 24 05:33:46 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 545s Mar 24 05:33:47 545s Mar 24 05:33:47 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 545s Mar 24 05:33:47 Given I start postgres1 # features/steps/basic_replication.py:8 548s Mar 24 05:33:50 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 549s Mar 24 05:33:51 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 550s Mar 24 05:33:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 550s Mar 24 05:33:52 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 550s Mar 24 05:33:52 waiting for server to shut down.... done 550s Mar 24 05:33:52 server stopped 550s Mar 24 05:33:52 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 551s Mar 24 05:33:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 551s Mar 24 05:33:53 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 553s Mar 24 05:33:55 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 554s Mar 24 05:33:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 554s Mar 24 05:33:56 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 556s Mar 24 05:33:57 And I sleep for 2 seconds # features/steps/patroni_api.py:39 558s Mar 24 05:33:59 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 558s Mar 24 05:34:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 558s Mar 24 05:34:00 And I receive a response state running # features/steps/patroni_api.py:98 558s Mar 24 05:34:00 And I receive a response role replica # features/steps/patroni_api.py:98 558s Mar 24 05:34:00 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 561s Mar 24 05:34:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 561s Mar 24 05:34:03 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 561s Mar 24 05:34:03 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:101 562s Mar 24 05:34:04 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 563s Mar 24 05:34:05 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 565s Mar 24 05:34:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 565s Mar 24 05:34:07 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 565s Mar 24 05:34:07 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:101 566s Mar 24 05:34:08 566s Mar 24 05:34:08 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 566s Mar 24 05:34:08 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 569s Mar 24 05:34:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 569s Mar 24 05:34:11 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 569s Mar 24 05:34:11 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 569s Mar 24 05:34:11 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 571s Mar 24 05:34:13 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 574s Mar 24 05:34:16 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 574s Mar 24 05:34:16 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 574s Mar 24 05:34:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 574s Mar 24 05:34:16 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 574s Mar 24 05:34:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 574s Mar 24 05:34:16 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 574s Mar 24 05:34:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 574s Mar 24 05:34:16 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 574s Mar 24 05:34:16 Then I receive a response code 503 # features/steps/patroni_api.py:98 574s Mar 24 05:34:16 574s Mar 24 05:34:16 Scenario: check the scheduled switchover # features/patroni_api.feature:107 574s Mar 24 05:34:16 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 575s Mar 24 05:34:17 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 575s Mar 24 05:34:17 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 575s Mar 24 05:34:17 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 577s Mar 24 05:34:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 577s Mar 24 05:34:19 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 579s Mar 24 05:34:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 579s Mar 24 05:34:21 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 589s Mar 24 05:34:31 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 589s Mar 24 05:34:31 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 592s Mar 24 05:34:34 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:108 592s Mar 24 05:34:34 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 592s Mar 24 05:34:34 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 592s Mar 24 05:34:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 592s Mar 24 05:34:34 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 592s Mar 24 05:34:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 592s Mar 24 05:34:34 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 592s Mar 24 05:34:34 Then I receive a response code 503 # features/steps/patroni_api.py:98 592s Mar 24 05:34:34 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 592s Mar 24 05:34:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 596s Mar 24 05:34:38 596s Mar 24 05:34:38 Feature: permanent slots # features/permanent_slots.feature:1 596s Mar 24 05:34:38 596s Mar 24 05:34:38 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 596s Mar 24 05:34:38 Given I start postgres0 # features/steps/basic_replication.py:8 599s Mar 24 05:34:41 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 599s Mar 24 05:34:41 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 599s Mar 24 05:34:41 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 599s Mar 24 05:34:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 599s Mar 24 05:34:41 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 599s Mar 24 05:34:41 When I start postgres1 # features/steps/basic_replication.py:8 602s Mar 24 05:34:44 And I start postgres2 # features/steps/basic_replication.py:8 605s Mar 24 05:34:47 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 608s Mar 24 05:34:50 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 608s Mar 24 05:34:50 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 608s Mar 24 05:34:50 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 608s Mar 24 05:34:50 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 608s Mar 24 05:34:50 608s Mar 24 05:34:50 @slot-advance 608s Mar 24 05:34:50 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 608s Mar 24 05:34:50 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 611s Mar 24 05:34:53 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 611s Mar 24 05:34:53 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 612s Mar 24 05:34:54 612s Mar 24 05:34:54 @slot-advance 612s Mar 24 05:34:54 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 612s Mar 24 05:34:54 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 617s Mar 24 05:34:59 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 617s Mar 24 05:34:59 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 618s Mar 24 05:35:00 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 619s Mar 24 05:35:01 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 619s Mar 24 05:35:01 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 619s Mar 24 05:35:01 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 619s Mar 24 05:35:01 619s Mar 24 05:35:01 @slot-advance 619s Mar 24 05:35:01 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 619s Mar 24 05:35:01 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 619s Mar 24 05:35:01 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 619s Mar 24 05:35:01 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 619s Mar 24 05:35:01 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 619s Mar 24 05:35:01 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 619s Mar 24 05:35:01 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 619s Mar 24 05:35:01 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 619s Mar 24 05:35:01 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 619s Mar 24 05:35:01 619s Mar 24 05:35:01 @slot-advance 619s Mar 24 05:35:01 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 619s Mar 24 05:35:01 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:49 619s Mar 24 05:35:01 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 619s Mar 24 05:35:01 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 619s Mar 24 05:35:01 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 621s Mar 24 05:35:03 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 621s Mar 24 05:35:03 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 621s Mar 24 05:35:03 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 621s Mar 24 05:35:03 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 624s Mar 24 05:35:06 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 624s Mar 24 05:35:06 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 624s Mar 24 05:35:06 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 625s Mar 24 05:35:07 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 626s Mar 24 05:35:08 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 626s Mar 24 05:35:08 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 626s Mar 24 05:35:08 626s Mar 24 05:35:08 @slot-advance 626s Mar 24 05:35:08 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 626s Mar 24 05:35:08 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 626s Mar 24 05:35:08 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 626s Mar 24 05:35:08 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 626s Mar 24 05:35:08 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 626s Mar 24 05:35:08 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 626s Mar 24 05:35:08 626s Mar 24 05:35:08 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 626s Mar 24 05:35:08 Given I shut down postgres3 # features/steps/basic_replication.py:29 627s Mar 24 05:35:09 And I shut down postgres2 # features/steps/basic_replication.py:29 628s Mar 24 05:35:10 And I shut down postgres0 # features/steps/basic_replication.py:29 630s Mar 24 05:35:12 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 630s Mar 24 05:35:12 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 630s Mar 24 05:35:12 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 632s Mar 24 05:35:14 632s Mar 24 05:35:14 Feature: priority replication # features/priority_failover.feature:1 632s Mar 24 05:35:14 We should check that we can give nodes priority during failover 632s Mar 24 05:35:14 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 632s Mar 24 05:35:14 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 636s Mar 24 05:35:18 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 639s Mar 24 05:35:21 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 640s Mar 24 05:35:22 When I shut down postgres0 # features/steps/basic_replication.py:29 642s Mar 24 05:35:24 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 644s Mar 24 05:35:26 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 644s Mar 24 05:35:26 When I start postgres0 # features/steps/basic_replication.py:8 646s Mar 24 05:35:28 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 647s Mar 24 05:35:29 647s Mar 24 05:35:29 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 647s Mar 24 05:35:29 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 650s Mar 24 05:35:32 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 653s Mar 24 05:35:35 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:108 654s Mar 24 05:35:36 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:108 658s Mar 24 05:35:40 When I shut down postgres0 # features/steps/basic_replication.py:29 660s Mar 24 05:35:42 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:101 660s Mar 24 05:35:42 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:117 660s Mar 24 05:35:42 660s Mar 24 05:35:42 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 660s Mar 24 05:35:42 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 660s Mar 24 05:35:42 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 661s Mar 24 05:35:43 Then I receive a response code 202 # features/steps/patroni_api.py:98 661s Mar 24 05:35:43 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:117 662s Mar 24 05:35:44 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 663s Mar 24 05:35:45 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 663s Mar 24 05:35:45 Then I receive a response code 412 # features/steps/patroni_api.py:98 663s Mar 24 05:35:45 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 663s Mar 24 05:35:45 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 663s Mar 24 05:35:45 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 663s Mar 24 05:35:45 Then I receive a response code 202 # features/steps/patroni_api.py:98 663s Mar 24 05:35:45 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 665s Mar 24 05:35:47 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 667s Mar 24 05:35:49 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 669s Mar 24 05:35:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 669s Mar 24 05:35:51 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 675s Mar 24 05:35:57 675s Mar 24 05:35:57 Feature: recovery # features/recovery.feature:1 675s Mar 24 05:35:57 We want to check that crashed postgres is started back 675s Mar 24 05:35:57 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 675s Mar 24 05:35:57 Given I start postgres0 # features/steps/basic_replication.py:8 680s Mar 24 05:36:02 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 680s Mar 24 05:36:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 680s Mar 24 05:36:02 When I start postgres1 # features/steps/basic_replication.py:8 683s Mar 24 05:36:05 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 683s Mar 24 05:36:05 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 684s Mar 24 05:36:06 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 684s Mar 24 05:36:06 waiting for server to shut down.... done 684s Mar 24 05:36:06 server stopped 684s Mar 24 05:36:06 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 687s Mar 24 05:36:09 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 687s Mar 24 05:36:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 687s Mar 24 05:36:09 And I receive a response role master # features/steps/patroni_api.py:98 687s Mar 24 05:36:09 And I receive a response timeline 1 # features/steps/patroni_api.py:98 687s Mar 24 05:36:09 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 688s Mar 24 05:36:10 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 689s Mar 24 05:36:11 689s Mar 24 05:36:11 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 689s Mar 24 05:36:11 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 690s Mar 24 05:36:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 690s Mar 24 05:36:11 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 691s Mar 24 05:36:13 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 691s Mar 24 05:36:13 waiting for server to shut down.... done 691s Mar 24 05:36:13 server stopped 691s Mar 24 05:36:13 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 693s Mar 24 05:36:15 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 697s Mar 24 05:36:18 697s Mar 24 05:36:18 Feature: standby cluster # features/standby_cluster.feature:1 697s Mar 24 05:36:18 697s Mar 24 05:36:18 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 697s Mar 24 05:36:18 Given I start postgres1 # features/steps/basic_replication.py:8 700s Mar 24 05:36:22 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 700s Mar 24 05:36:22 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 700s Mar 24 05:36:22 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 700s Mar 24 05:36:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 700s Mar 24 05:36:22 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 700s Mar 24 05:36:22 And I sleep for 3 seconds # features/steps/patroni_api.py:39 703s Mar 24 05:36:25 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 703s Mar 24 05:36:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 703s Mar 24 05:36:25 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 704s Mar 24 05:36:26 When I start postgres0 # features/steps/basic_replication.py:8 707s Mar 24 05:36:29 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 707s Mar 24 05:36:29 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:108 712s Mar 24 05:36:34 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 712s Mar 24 05:36:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 712s Mar 24 05:36:34 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 712s Mar 24 05:36:34 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 712s Mar 24 05:36:34 712s Mar 24 05:36:34 @slot-advance 712s Mar 24 05:36:34 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 712s Mar 24 05:36:34 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 714s Mar 24 05:36:36 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 720s Mar 24 05:36:42 720s Mar 24 05:36:42 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 720s Mar 24 05:36:42 When I shut down postgres1 # features/steps/basic_replication.py:29 722s Mar 24 05:36:44 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 722s Mar 24 05:36:44 And "members/postgres0" key in DCS has role=master after 3 seconds # features/steps/cascading_replication.py:23 723s Mar 24 05:36:45 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 723s Mar 24 05:36:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 723s Mar 24 05:36:45 723s Mar 24 05:36:45 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 723s Mar 24 05:36:45 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 725s Mar 24 05:36:47 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 726s Mar 24 05:36:48 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 726s Mar 24 05:36:48 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 726s Mar 24 05:36:48 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 726s Mar 24 05:36:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 726s Mar 24 05:36:48 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 726s Mar 24 05:36:48 And I sleep for 3 seconds # features/steps/patroni_api.py:39 729s Mar 24 05:36:51 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 729s Mar 24 05:36:51 Then I receive a response code 503 # features/steps/patroni_api.py:98 729s Mar 24 05:36:51 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 729s Mar 24 05:36:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 729s Mar 24 05:36:51 And I receive a response role standby_leader # features/steps/patroni_api.py:98 729s Mar 24 05:36:51 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 729s Mar 24 05:36:51 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 732s Mar 24 05:36:54 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:101 732s Mar 24 05:36:54 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 732s Mar 24 05:36:54 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 732s Mar 24 05:36:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 732s Mar 24 05:36:54 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 732s Mar 24 05:36:54 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 732s Mar 24 05:36:54 732s Mar 24 05:36:54 Scenario: check switchover # features/standby_cluster.feature:56 732s Mar 24 05:36:54 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 736s Mar 24 05:36:58 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 736s Mar 24 05:36:58 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 738s Mar 24 05:37:00 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 738s Mar 24 05:37:00 738s Mar 24 05:37:00 Scenario: check failover # features/standby_cluster.feature:62 738s Mar 24 05:37:00 When I kill postgres2 # features/steps/basic_replication.py:34 739s Mar 24 05:37:01 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 739s Mar 24 05:37:01 waiting for server to shut down.... done 739s Mar 24 05:37:01 server stopped 739s Mar 24 05:37:01 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 758s Mar 24 05:37:20 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 758s Mar 24 05:37:20 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 758s Mar 24 05:37:20 Then I receive a response code 503 # features/steps/patroni_api.py:98 758s Mar 24 05:37:20 And I receive a response role standby_leader # features/steps/patroni_api.py:98 758s Mar 24 05:37:20 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 759s Mar 24 05:37:21 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 764s Mar 24 05:37:25 764s Mar 24 05:37:25 Feature: watchdog # features/watchdog.feature:1 764s Mar 24 05:37:26 Verify that watchdog gets pinged and triggered under appropriate circumstances. 764s Mar 24 05:37:26 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 764s Mar 24 05:37:26 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 769s Mar 24 05:37:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 769s Mar 24 05:37:31 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 769s Mar 24 05:37:31 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 770s Mar 24 05:37:32 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 770s Mar 24 05:37:32 770s Mar 24 05:37:32 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 770s Mar 24 05:37:32 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 771s Mar 24 05:37:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 771s Mar 24 05:37:33 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 771s Mar 24 05:37:33 When I sleep for 4 seconds # features/steps/patroni_api.py:39 775s Mar 24 05:37:37 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 775s Mar 24 05:37:37 775s Mar 24 05:37:37 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 775s Mar 24 05:37:37 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 777s Mar 24 05:37:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 777s Mar 24 05:37:39 When I sleep for 2 seconds # features/steps/patroni_api.py:39 779s Mar 24 05:37:41 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 779s Mar 24 05:37:41 779s Mar 24 05:37:41 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 779s Mar 24 05:37:41 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 779s Mar 24 05:37:41 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 780s Mar 24 05:37:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 780s Mar 24 05:37:42 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 780s Mar 24 05:37:42 780s Mar 24 05:37:42 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 780s Mar 24 05:37:42 Given I shut down postgres0 # features/steps/basic_replication.py:29 782s Mar 24 05:37:44 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 782s Mar 24 05:37:44 782s Mar 24 05:37:44 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 782s Mar 24 05:37:44 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 782s Mar 24 05:37:44 And I start postgres0 with watchdog # features/steps/watchdog.py:16 784s Mar 24 05:37:46 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 785s Mar 24 05:37:47 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 785s Mar 24 05:37:47 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 812s Mar 24 05:38:14 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5241.639115 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5250.227448 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.3801.905423 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5775.132309 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4996.113814 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4233.728043 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6253.999751 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.3881.754056 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4395.941269 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4015.860632 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4702.891693 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.3919.544841 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6450.813931 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5421.370523 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4628.057628 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5635.504865 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.3952.704981 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4110.791131 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5243.624108 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6544.052353 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4057.734320 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4932.244219 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5388.074884 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5067.550942 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5072.211149 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4577.704397 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5674.999783 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6587.647212 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4796.734492 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4054.174962 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5343.518438 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5031.733796 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6592.321156 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4276.152554 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6046.853576 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4862.952308 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4438.913038 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.3845.659185 813s Mar 24 05:38:15 Skipping duplicate data .coverage.autopkgtest.6589.480444 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5495.521798 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6089.756329 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4316.328352 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5125.076912 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4982.367372 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6603.517163 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5093.680490 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5732.549109 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4493.426266 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5461.793676 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4219.758625 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6191.461967 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.4754.440755 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.5828.296150 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6373.649987 813s Mar 24 05:38:15 Combined data file .coverage.autopkgtest.6298.163320 815s Mar 24 05:38:17 Name Stmts Miss Cover 815s Mar 24 05:38:17 ------------------------------------------------------------------------------------------------------------- 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1072 596 44% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1225 982 20% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 73 32 56% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 73 13 82% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 18 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 80 35 56% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 118 47 60% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 134 57 57% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 219 56 74% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 45 12 73% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 47 20 57% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 184 106 42% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 43 12 72% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 138 79 43% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 58 59% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 128 20 84% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 22 12 45% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 761 605 20% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/utils.py 76 29 62% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/x509/base.py 458 224 51% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/x509/name.py 233 142 39% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/idna/core.py 294 259 12% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/api.py 768 287 63% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/config.py 416 91 78% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 84 87% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 683 122 82% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 602 256 57% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/ha.py 1239 364 71% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/log.py 155 31 80% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 181 78% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 63 75% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 193 25% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 219 73% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 169 59% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 31 91% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 19 85% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/tags.py 35 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/utils.py 318 92 71% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/validator.py 284 194 32% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/six.py 504 250 50% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/response.py 562 280 50% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 815s Mar 24 05:38:17 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 815s Mar 24 05:38:17 patroni/__init__.py 13 2 85% 815s Mar 24 05:38:17 patroni/__main__.py 199 199 0% 815s Mar 24 05:38:17 patroni/api.py 768 768 0% 815s Mar 24 05:38:17 patroni/async_executor.py 96 69 28% 815s Mar 24 05:38:17 patroni/collections.py 43 11 74% 815s Mar 24 05:38:17 patroni/config.py 416 206 50% 815s Mar 24 05:38:17 patroni/config_generator.py 210 210 0% 815s Mar 24 05:38:17 patroni/ctl.py 940 409 56% 815s Mar 24 05:38:17 patroni/daemon.py 76 76 0% 815s Mar 24 05:38:17 patroni/dcs/__init__.py 667 263 61% 815s Mar 24 05:38:17 patroni/dcs/consul.py 482 482 0% 815s Mar 24 05:38:17 patroni/dcs/etcd3.py 683 344 50% 815s Mar 24 05:38:17 patroni/dcs/etcd.py 602 277 54% 815s Mar 24 05:38:17 patroni/dcs/exhibitor.py 60 60 0% 815s Mar 24 05:38:17 patroni/dcs/kubernetes.py 935 935 0% 815s Mar 24 05:38:17 patroni/dcs/raft.py 318 318 0% 815s Mar 24 05:38:17 patroni/dcs/zookeeper.py 287 287 0% 815s Mar 24 05:38:17 patroni/exceptions.py 16 1 94% 815s Mar 24 05:38:17 patroni/file_perm.py 43 15 65% 815s Mar 24 05:38:17 patroni/ha.py 1239 1239 0% 815s Mar 24 05:38:17 patroni/log.py 155 155 0% 815s Mar 24 05:38:17 patroni/postgresql/__init__.py 826 655 21% 815s Mar 24 05:38:17 patroni/postgresql/bootstrap.py 253 224 11% 815s Mar 24 05:38:17 patroni/postgresql/callback_executor.py 55 34 38% 815s Mar 24 05:38:17 patroni/postgresql/cancellable.py 104 84 19% 815s Mar 24 05:38:17 patroni/postgresql/citus.py 258 217 16% 815s Mar 24 05:38:17 patroni/postgresql/config.py 806 693 14% 815s Mar 24 05:38:17 patroni/postgresql/connection.py 75 50 33% 815s Mar 24 05:38:17 patroni/postgresql/misc.py 41 29 29% 815s Mar 24 05:38:17 patroni/postgresql/postmaster.py 170 139 18% 815s Mar 24 05:38:17 patroni/postgresql/rewind.py 415 415 0% 815s Mar 24 05:38:17 patroni/postgresql/slots.py 332 285 14% 815s Mar 24 05:38:17 patroni/postgresql/sync.py 129 96 26% 815s Mar 24 05:38:17 patroni/postgresql/validator.py 165 53 68% 815s Mar 24 05:38:17 patroni/psycopg.py 41 27 34% 815s Mar 24 05:38:17 patroni/raft_controller.py 22 22 0% 815s Mar 24 05:38:17 patroni/request.py 62 6 90% 815s Mar 24 05:38:17 patroni/scripts/__init__.py 0 0 100% 815s Mar 24 05:38:17 patroni/scripts/aws.py 59 59 0% 815s Mar 24 05:38:17 patroni/scripts/wale_restore.py 207 207 0% 815s Mar 24 05:38:17 patroni/tags.py 35 10 71% 815s Mar 24 05:38:17 patroni/utils.py 318 150 53% 815s Mar 24 05:38:17 patroni/validator.py 284 201 29% 815s Mar 24 05:38:17 patroni/version.py 1 0 100% 815s Mar 24 05:38:17 patroni/watchdog/__init__.py 2 2 0% 815s Mar 24 05:38:17 patroni/watchdog/base.py 203 203 0% 815s Mar 24 05:38:17 patroni/watchdog/linux.py 135 135 0% 815s Mar 24 05:38:17 ------------------------------------------------------------------------------------------------------------- 815s Mar 24 05:38:17 TOTAL 53582 32327 40% 815s Mar 24 05:38:17 11 features passed, 0 failed, 1 skipped 815s Mar 24 05:38:17 44 scenarios passed, 0 failed, 14 skipped 815s Mar 24 05:38:17 453 steps passed, 0 failed, 119 skipped, 0 undefined 815s Mar 24 05:38:17 Took 7m2.987s 815s ### End 16 acceptance-etcd3 ### 815s + echo '### End 16 acceptance-etcd3 ###' 815s + rm -f '/tmp/pgpass?' 815s ++ id -u 815s + '[' 1000 -eq 0 ']' 816s autopkgtest [05:38:18]: test acceptance-etcd3: -----------------------] 816s autopkgtest [05:38:18]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 816s acceptance-etcd3 PASS 817s autopkgtest [05:38:19]: test acceptance-etcd-basic: preparing testbed 953s autopkgtest [05:40:35]: testbed dpkg architecture: arm64 953s autopkgtest [05:40:35]: testbed apt version: 2.7.12 953s autopkgtest [05:40:35]: @@@@@@@@@@@@@@@@@@@@ test bed setup 954s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 955s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 955s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 955s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3984 kB] 955s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 955s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [707 kB] 955s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 955s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 955s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 955s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4359 kB] 956s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 956s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 956s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 962s Fetched 9840 kB in 3s (3372 kB/s) 963s Reading package lists... 967s Reading package lists... 967s Building dependency tree... 967s Reading state information... 969s Calculating upgrade... 970s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 970s Reading package lists... 970s Building dependency tree... 970s Reading state information... 972s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 973s sh: Attempting to set up Debian/Ubuntu apt sources automatically 973s sh: Distribution appears to be Ubuntu 975s Reading package lists... 975s Building dependency tree... 975s Reading state information... 977s eatmydata is already the newest version (131-1). 977s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 977s Reading package lists... 977s Building dependency tree... 977s Reading state information... 979s dbus is already the newest version (1.14.10-4ubuntu1). 979s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 979s Reading package lists... 979s Building dependency tree... 979s Reading state information... 981s rng-tools-debian is already the newest version (2.4). 981s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 981s Reading package lists... 981s Building dependency tree... 981s Reading state information... 982s The following packages will be REMOVED: 982s cloud-init* python3-configobj* python3-debconf* 983s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 983s After this operation, 3256 kB disk space will be freed. 983s (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 ... 75911 files and directories currently installed.) 983s Removing cloud-init (24.1.2-0ubuntu1) ... 985s Removing python3-configobj (5.0.8-3) ... 985s Removing python3-debconf (1.5.86) ... 985s Processing triggers for man-db (2.12.0-3) ... 986s (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 ... 75522 files and directories currently installed.) 986s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 987s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 987s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 987s invoke-rc.d: policy-rc.d denied execution of try-restart. 988s Reading package lists... 988s Building dependency tree... 988s Reading state information... 990s linux-generic is already the newest version (6.8.0-11.11+1). 990s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 990s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 990s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 990s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 997s Reading package lists... 998s Reading package lists... 998s Building dependency tree... 998s Reading state information... 999s Calculating upgrade... 1000s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1000s Reading package lists... 1001s Building dependency tree... 1001s Reading state information... 1002s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1002s autopkgtest [05:41:24]: rebooting testbed after setup commands that affected boot 1173s Reading package lists... 1173s Building dependency tree... 1173s Reading state information... 1174s Starting pkgProblemResolver with broken count: 0 1174s Starting 2 pkgProblemResolver with broken count: 0 1174s Done 1175s The following additional packages will be installed: 1175s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 1175s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libllvm17 libpq5 1175s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 1175s patroni-doc postgresql postgresql-16 postgresql-client-16 1175s postgresql-client-common postgresql-common python3-behave python3-cdiff 1175s python3-click python3-colorama python3-coverage python3-dateutil 1175s python3-dnspython python3-etcd python3-parse python3-parse-type 1175s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 1175s sphinx-rtd-theme-common ssl-cert 1175s Suggested packages: 1175s etcd-client vip-manager haproxy postgresql-doc postgresql-doc-16 1175s python-coverage-doc python3-trio python3-aioquic python3-h2 python3-httpx 1175s python3-httpcore etcd python-psycopg2-doc 1175s Recommended packages: 1175s javascript-common libjson-xs-perl 1175s The following NEW packages will be installed: 1175s autopkgtest-satdep etcd-server fonts-font-awesome fonts-lato libio-pty-perl 1175s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 1175s libllvm17 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 1175s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 1175s postgresql-client-common postgresql-common python3-behave python3-cdiff 1175s python3-click python3-colorama python3-coverage python3-dateutil 1175s python3-dnspython python3-etcd python3-parse python3-parse-type 1175s python3-prettytable python3-psutil python3-psycopg2 python3-wcwidth 1175s sphinx-rtd-theme-common ssl-cert 1175s 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. 1175s Need to get 56.6 MB/56.6 MB of archives. 1175s After this operation, 231 MB of additional disk space will be used. 1175s Get:1 /tmp/autopkgtest.lAT8Md/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 1176s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-lato all 2.015-1 [2781 kB] 1176s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 1176s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-client-common all 257 [36.2 kB] 1176s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 ssl-cert all 1.1.2ubuntu1 [17.8 kB] 1176s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-common all 257 [162 kB] 1176s Get:7 http://ftpmaster.internal/ubuntu noble/universe arm64 etcd-server arm64 3.4.30-1 [7555 kB] 1177s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1177s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libio-pty-perl arm64 1:1.20-1 [31.0 kB] 1177s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libipc-run-perl all 20231003.0-1 [92.1 kB] 1177s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1177s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1177s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-sphinxdoc all 7.2.6-4 [149 kB] 1177s Get:14 http://ftpmaster.internal/ubuntu noble/main arm64 libllvm17 arm64 1:17.0.6-5build1 [25.0 MB] 1177s Get:15 http://ftpmaster.internal/ubuntu noble/main arm64 libpq5 arm64 16.2-1 [136 kB] 1177s Get:16 http://ftpmaster.internal/ubuntu noble/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 1177s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 1177s Get:18 http://ftpmaster.internal/ubuntu noble/main arm64 libxslt1.1 arm64 1.1.39-0exp1 [166 kB] 1177s Get:19 http://ftpmaster.internal/ubuntu noble/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 1177s Get:20 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 1177s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 1177s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 python3-click all 8.1.6-1 [79.0 kB] 1177s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dateutil all 2.8.2-3 [79.2 kB] 1177s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 1177s Get:25 http://ftpmaster.internal/ubuntu noble/main arm64 python3-prettytable all 3.6.0-1 [33.1 kB] 1177s Get:26 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psutil arm64 5.9.8-1 [196 kB] 1177s Get:27 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psycopg2 arm64 2.9.9-1 [177 kB] 1177s Get:28 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1177s Get:29 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 1177s Get:30 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni all 3.2.2-2 [253 kB] 1177s Get:31 http://ftpmaster.internal/ubuntu noble/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 1177s Get:32 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni-doc all 3.2.2-2 [476 kB] 1177s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-client-16 arm64 16.2-1 [1260 kB] 1177s Get:34 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-16 arm64 16.2-1 [15.2 MB] 1178s Get:35 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql all 16+257 [11.4 kB] 1178s Get:36 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-parse all 1.19.0-0.2 [18.1 kB] 1178s Get:37 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 1178s Get:38 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 1178s Get:39 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-coverage arm64 7.3.2-0ubuntu1 [147 kB] 1179s Preconfiguring packages ... 1179s Fetched 56.6 MB in 2s (24.8 MB/s) 1179s Selecting previously unselected package fonts-lato. 1179s (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 ... 75467 files and directories currently installed.) 1179s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 1179s Unpacking fonts-lato (2.015-1) ... 1180s Selecting previously unselected package libjson-perl. 1180s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 1180s Unpacking libjson-perl (4.10000-1) ... 1180s Selecting previously unselected package postgresql-client-common. 1180s Preparing to unpack .../02-postgresql-client-common_257_all.deb ... 1180s Unpacking postgresql-client-common (257) ... 1180s Selecting previously unselected package ssl-cert. 1180s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu1_all.deb ... 1180s Unpacking ssl-cert (1.1.2ubuntu1) ... 1180s Selecting previously unselected package postgresql-common. 1180s Preparing to unpack .../04-postgresql-common_257_all.deb ... 1180s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1180s Unpacking postgresql-common (257) ... 1180s Selecting previously unselected package etcd-server. 1180s Preparing to unpack .../05-etcd-server_3.4.30-1_arm64.deb ... 1180s Unpacking etcd-server (3.4.30-1) ... 1180s Selecting previously unselected package fonts-font-awesome. 1180s Preparing to unpack .../06-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1180s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1180s Selecting previously unselected package libio-pty-perl. 1180s Preparing to unpack .../07-libio-pty-perl_1%3a1.20-1_arm64.deb ... 1180s Unpacking libio-pty-perl (1:1.20-1) ... 1180s Selecting previously unselected package libipc-run-perl. 1180s Preparing to unpack .../08-libipc-run-perl_20231003.0-1_all.deb ... 1180s Unpacking libipc-run-perl (20231003.0-1) ... 1180s Selecting previously unselected package libjs-jquery. 1180s Preparing to unpack .../09-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1180s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1180s Selecting previously unselected package libjs-underscore. 1180s Preparing to unpack .../10-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1180s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1181s Selecting previously unselected package libjs-sphinxdoc. 1181s Preparing to unpack .../11-libjs-sphinxdoc_7.2.6-4_all.deb ... 1181s Unpacking libjs-sphinxdoc (7.2.6-4) ... 1181s Selecting previously unselected package libllvm17:arm64. 1181s Preparing to unpack .../12-libllvm17_1%3a17.0.6-5build1_arm64.deb ... 1181s Unpacking libllvm17:arm64 (1:17.0.6-5build1) ... 1182s Selecting previously unselected package libpq5:arm64. 1182s Preparing to unpack .../13-libpq5_16.2-1_arm64.deb ... 1182s Unpacking libpq5:arm64 (16.2-1) ... 1182s Selecting previously unselected package libtime-duration-perl. 1182s Preparing to unpack .../14-libtime-duration-perl_1.21-2_all.deb ... 1182s Unpacking libtime-duration-perl (1.21-2) ... 1182s Selecting previously unselected package libtimedate-perl. 1182s Preparing to unpack .../15-libtimedate-perl_2.3300-2_all.deb ... 1182s Unpacking libtimedate-perl (2.3300-2) ... 1182s Selecting previously unselected package libxslt1.1:arm64. 1182s Preparing to unpack .../16-libxslt1.1_1.1.39-0exp1_arm64.deb ... 1182s Unpacking libxslt1.1:arm64 (1.1.39-0exp1) ... 1182s Selecting previously unselected package moreutils. 1182s Preparing to unpack .../17-moreutils_0.69-1_arm64.deb ... 1182s Unpacking moreutils (0.69-1) ... 1182s Selecting previously unselected package python3-cdiff. 1182s Preparing to unpack .../18-python3-cdiff_1.0-1.1_all.deb ... 1182s Unpacking python3-cdiff (1.0-1.1) ... 1182s Selecting previously unselected package python3-colorama. 1182s Preparing to unpack .../19-python3-colorama_0.4.6-4_all.deb ... 1182s Unpacking python3-colorama (0.4.6-4) ... 1182s Selecting previously unselected package python3-click. 1182s Preparing to unpack .../20-python3-click_8.1.6-1_all.deb ... 1182s Unpacking python3-click (8.1.6-1) ... 1182s Selecting previously unselected package python3-dateutil. 1182s Preparing to unpack .../21-python3-dateutil_2.8.2-3_all.deb ... 1182s Unpacking python3-dateutil (2.8.2-3) ... 1183s Selecting previously unselected package python3-wcwidth. 1183s Preparing to unpack .../22-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 1183s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 1183s Selecting previously unselected package python3-prettytable. 1183s Preparing to unpack .../23-python3-prettytable_3.6.0-1_all.deb ... 1183s Unpacking python3-prettytable (3.6.0-1) ... 1183s Selecting previously unselected package python3-psutil. 1183s Preparing to unpack .../24-python3-psutil_5.9.8-1_arm64.deb ... 1183s Unpacking python3-psutil (5.9.8-1) ... 1183s Selecting previously unselected package python3-psycopg2. 1183s Preparing to unpack .../25-python3-psycopg2_2.9.9-1_arm64.deb ... 1183s Unpacking python3-psycopg2 (2.9.9-1) ... 1183s Selecting previously unselected package python3-dnspython. 1183s Preparing to unpack .../26-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1183s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1183s Selecting previously unselected package python3-etcd. 1183s Preparing to unpack .../27-python3-etcd_0.4.5-4_all.deb ... 1183s Unpacking python3-etcd (0.4.5-4) ... 1183s Selecting previously unselected package patroni. 1183s Preparing to unpack .../28-patroni_3.2.2-2_all.deb ... 1183s Unpacking patroni (3.2.2-2) ... 1183s Selecting previously unselected package sphinx-rtd-theme-common. 1183s Preparing to unpack .../29-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 1183s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 1183s Selecting previously unselected package patroni-doc. 1183s Preparing to unpack .../30-patroni-doc_3.2.2-2_all.deb ... 1183s Unpacking patroni-doc (3.2.2-2) ... 1183s Selecting previously unselected package postgresql-client-16. 1183s Preparing to unpack .../31-postgresql-client-16_16.2-1_arm64.deb ... 1183s Unpacking postgresql-client-16 (16.2-1) ... 1183s Selecting previously unselected package postgresql-16. 1183s Preparing to unpack .../32-postgresql-16_16.2-1_arm64.deb ... 1183s Unpacking postgresql-16 (16.2-1) ... 1184s Selecting previously unselected package postgresql. 1184s Preparing to unpack .../33-postgresql_16+257_all.deb ... 1184s Unpacking postgresql (16+257) ... 1185s Selecting previously unselected package python3-parse. 1185s Preparing to unpack .../34-python3-parse_1.19.0-0.2_all.deb ... 1185s Unpacking python3-parse (1.19.0-0.2) ... 1185s Selecting previously unselected package python3-parse-type. 1185s Preparing to unpack .../35-python3-parse-type_0.6.2-1_all.deb ... 1185s Unpacking python3-parse-type (0.6.2-1) ... 1185s Selecting previously unselected package python3-behave. 1185s Preparing to unpack .../36-python3-behave_1.2.6-5_all.deb ... 1185s Unpacking python3-behave (1.2.6-5) ... 1185s Selecting previously unselected package python3-coverage. 1185s Preparing to unpack .../37-python3-coverage_7.3.2-0ubuntu1_arm64.deb ... 1185s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 1185s Selecting previously unselected package autopkgtest-satdep. 1185s Preparing to unpack .../38-2-autopkgtest-satdep.deb ... 1185s Unpacking autopkgtest-satdep (0) ... 1185s Setting up postgresql-client-common (257) ... 1185s Setting up fonts-lato (2.015-1) ... 1185s Setting up libio-pty-perl (1:1.20-1) ... 1185s Setting up python3-colorama (0.4.6-4) ... 1185s Setting up python3-cdiff (1.0-1.1) ... 1186s Setting up libpq5:arm64 (16.2-1) ... 1186s Setting up python3-coverage (7.3.2-0ubuntu1) ... 1186s Setting up python3-click (8.1.6-1) ... 1187s Setting up python3-psutil (5.9.8-1) ... 1187s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 1188s Setting up ssl-cert (1.1.2ubuntu1) ... 1189s Created symlink /etc/systemd/system/multi-user.target.wants/ssl-cert.service → /usr/lib/systemd/system/ssl-cert.service. 1190s Setting up python3-psycopg2 (2.9.9-1) ... 1191s Setting up libipc-run-perl (20231003.0-1) ... 1191s Setting up libtime-duration-perl (1.21-2) ... 1191s Setting up libtimedate-perl (2.3300-2) ... 1191s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1193s Setting up python3-parse (1.19.0-0.2) ... 1193s Setting up libjson-perl (4.10000-1) ... 1193s Setting up libxslt1.1:arm64 (1.1.39-0exp1) ... 1193s Setting up python3-dateutil (2.8.2-3) ... 1193s Setting up etcd-server (3.4.30-1) ... 1193s info: Selecting UID from range 100 to 999 ... 1193s 1193s info: Selecting GID from range 100 to 999 ... 1193s info: Adding system user `etcd' (UID 107) ... 1193s info: Adding new group `etcd' (GID 111) ... 1193s info: Adding new user `etcd' (UID 107) with group `etcd' ... 1193s info: Creating home directory `/var/lib/etcd/' ... 1194s Created symlink /etc/systemd/system/etcd2.service → /usr/lib/systemd/system/etcd.service. 1194s Created symlink /etc/systemd/system/multi-user.target.wants/etcd.service → /usr/lib/systemd/system/etcd.service. 1195s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1195s Setting up python3-prettytable (3.6.0-1) ... 1196s Setting up libllvm17:arm64 (1:17.0.6-5build1) ... 1196s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1196s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 1196s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1196s Setting up moreutils (0.69-1) ... 1196s Setting up python3-etcd (0.4.5-4) ... 1196s Setting up postgresql-client-16 (16.2-1) ... 1197s 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 1197s Setting up python3-parse-type (0.6.2-1) ... 1197s Setting up postgresql-common (257) ... 1199s 1199s Creating config file /etc/postgresql-common/createcluster.conf with new version 1199s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1199s Removing obsolete dictionary files: 1201s Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. 1202s Setting up libjs-sphinxdoc (7.2.6-4) ... 1202s Setting up python3-behave (1.2.6-5) ... 1202s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1202s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1202s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1202s """Registers a custom type that will be available to "parse" 1202s Setting up patroni (3.2.2-2) ... 1203s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 1204s Setting up postgresql-16 (16.2-1) ... 1205s Creating new PostgreSQL cluster 16/main ... 1205s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1205s The files belonging to this database system will be owned by user "postgres". 1205s This user must also own the server process. 1205s 1205s The database cluster will be initialized with locale "C.UTF-8". 1205s The default database encoding has accordingly been set to "UTF8". 1205s The default text search configuration will be set to "english". 1205s 1205s Data page checksums are disabled. 1205s 1205s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1205s creating subdirectories ... ok 1205s selecting dynamic shared memory implementation ... posix 1205s selecting default max_connections ... 100 1205s selecting default shared_buffers ... 128MB 1205s selecting default time zone ... Etc/UTC 1205s creating configuration files ... ok 1206s running bootstrap script ... ok 1208s performing post-bootstrap initialization ... ok 1208s syncing data to disk ... ok 1213s Setting up patroni-doc (3.2.2-2) ... 1213s Setting up postgresql (16+257) ... 1213s Setting up autopkgtest-satdep (0) ... 1213s Processing triggers for man-db (2.12.0-3) ... 1214s Processing triggers for libc-bin (2.39-0ubuntu6) ... 1221s (Reading database ... 78829 files and directories currently installed.) 1221s Removing autopkgtest-satdep (0) ... 1227s autopkgtest [05:45:09]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 1227s autopkgtest [05:45:09]: test acceptance-etcd-basic: [----------------------- 1227s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1229s ○ etcd.service - etcd - highly-available key value store 1229s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1229s Active: inactive (dead) since Sun 2024-03-24 05:45:11 UTC; 28ms ago 1229s Duration: 33.613s 1229s Docs: https://etcd.io/docs 1229s man:etcd 1229s Process: 1571 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1229s Main PID: 1571 (code=killed, signal=TERM) 1229s CPU: 263ms 1229s 1229s Mar 24 05:44:37 autopkgtest systemd[1]: Started etcd.service - etcd - highly-available key value store. 1229s Mar 24 05:44:37 autopkgtest etcd[1571]: set the initial cluster version to 3.4 1229s Mar 24 05:44:37 autopkgtest etcd[1571]: enabled capabilities for version 3.4 1229s Mar 24 05:45:11 autopkgtest etcd[1571]: received terminated signal, shutting down... 1229s Mar 24 05:45:11 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 1229s Mar 24 05:45:11 autopkgtest etcd[1571]: stopping insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 1229s Mar 24 05:45:11 autopkgtest etcd[1571]: stopped insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 1229s Mar 24 05:45:11 autopkgtest etcd[1571]: skipped leadership transfer for single voting member cluster 1229s Mar 24 05:45:11 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 1229s Mar 24 05:45:11 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1229s ++ ls -1r /usr/lib/postgresql/ 1229s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1229s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 1229s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 1229s + '[' 16 == 10 ']' 1229s + SKIP= 1229s + 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' 1232s Mar 24 05:45:14 Feature: basic replication # features/basic_replication.feature:1 1232s Mar 24 05:45:14 We should check that the basic bootstrapping, replication and failover works. 1232s Mar 24 05:45:14 Scenario: check replication of a single table # features/basic_replication.feature:4 1232s Mar 24 05:45:14 Given I start postgres0 # features/steps/basic_replication.py:8 1238s Mar 24 05:45:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1239s Mar 24 05:45:21 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1239s Mar 24 05:45:21 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 1239s Mar 24 05:45:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1239s Mar 24 05:45:21 When I start postgres1 # features/steps/basic_replication.py:8 1246s Mar 24 05:45:28 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1253s Mar 24 05:45:35 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1253s Mar 24 05:45:35 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 1253s Mar 24 05:45:35 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1254s Mar 24 05:45:36 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 1254s Mar 24 05:45:36 1254s Mar 24 05:45:36 Scenario: check restart of sync replica # features/basic_replication.feature:17 1254s Mar 24 05:45:36 Given I shut down postgres2 # features/steps/basic_replication.py:29 1255s Mar 24 05:45:37 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1255s Mar 24 05:45:37 When I start postgres2 # features/steps/basic_replication.py:8 1260s Mar 24 05:45:42 And I shut down postgres1 # features/steps/basic_replication.py:29 1263s Mar 24 05:45:45 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1263s Mar 24 05:45:45 When I start postgres1 # features/steps/basic_replication.py:8 1269s Mar 24 05:45:50 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1269s Mar 24 05:45:50 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1269s Mar 24 05:45:51 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1269s Mar 24 05:45:51 1269s Mar 24 05:45:51 Scenario: check stuck sync replica # features/basic_replication.feature:28 1269s Mar 24 05:45:51 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1269s Mar 24 05:45:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1269s Mar 24 05:45:51 And I create table on postgres0 # features/steps/basic_replication.py:69 1269s Mar 24 05:45:51 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 1270s Mar 24 05:45:52 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 1270s Mar 24 05:45:52 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 1270s Mar 24 05:45:52 And I load data on postgres0 # features/steps/basic_replication.py:80 1273s Mar 24 05:45:55 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1275s Mar 24 05:45:57 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 1275s Mar 24 05:45:57 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1275s Mar 24 05:45:57 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1275s Mar 24 05:45:57 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1275s Mar 24 05:45:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1275s Mar 24 05:45:57 And I drop table on postgres0 # features/steps/basic_replication.py:69 1275s Mar 24 05:45:57 1275s Mar 24 05:45:57 Scenario: check multi sync replication # features/basic_replication.feature:44 1275s Mar 24 05:45:57 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1275s Mar 24 05:45:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1275s Mar 24 05:45:57 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1279s Mar 24 05:46:01 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1279s Mar 24 05:46:01 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1279s Mar 24 05:46:01 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1279s Mar 24 05:46:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 1279s Mar 24 05:46:01 And I shut down postgres1 # features/steps/basic_replication.py:29 1282s Mar 24 05:46:04 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1283s Mar 24 05:46:05 When I start postgres1 # features/steps/basic_replication.py:8 1289s Mar 24 05:46:11 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1289s Mar 24 05:46:11 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1289s Mar 24 05:46:11 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1290s Mar 24 05:46:12 1290s Mar 24 05:46:12 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1290s Mar 24 05:46:12 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1294s Mar 24 05:46:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1294s Mar 24 05:46:16 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1296s Mar 24 05:46:18 And I shut down postgres0 # features/steps/basic_replication.py:29 1297s Mar 24 05:46:19 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1301s Mar 24 05:46:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1301s Mar 24 05:46:23 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 1317s Mar 24 05:46:39 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1320s Mar 24 05:46:42 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1320s Mar 24 05:46: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 1320s Mar 24 05:46:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 1320s Mar 24 05:46:42 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 1320s Mar 24 05:46:42 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1323s Mar 24 05:46:45 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1323s Mar 24 05:46:45 1323s Mar 24 05:46:45 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1323s Mar 24 05:46:45 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 1323s Mar 24 05:46:45 And I start postgres0 # features/steps/basic_replication.py:8 1323s Mar 24 05:46:45 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 1335s Mar 24 05:46:57 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 1335s Mar 24 05:46:57 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 1336s Mar 24 05:46:58 1336s Mar 24 05:46:58 @reject-duplicate-name 1336s Mar 24 05:46:58 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1336s Mar 24 05:46:58 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1340s Mar 24 05:47:02 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:117 1345s Mar 24 05:47:07 1345s 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'))") 1346s 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'))") 1346s 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'))") 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.4100.591277 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.3834.723435 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.3966.818531 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.4020.544957 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.3715.374731 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.3759.786800 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.3791.910471 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.3969.790521 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.3928.219973 1346s Mar 24 05:47:08 Combined data file .coverage.autopkgtest.3866.381280 1352s Mar 24 05:47:14 Name Stmts Miss Cover 1352s Mar 24 05:47:14 ------------------------------------------------------------------------------------------------------------- 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1072 602 44% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1225 982 20% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 73 32 56% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 73 13 82% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 18 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 80 35 56% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 118 47 60% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 134 57 57% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 219 56 74% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 45 12 73% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 47 20 57% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 184 106 42% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 43 12 72% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 138 79 43% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 58 59% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 128 20 84% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 22 12 45% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 761 605 20% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/utils.py 76 29 62% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/x509/base.py 458 224 51% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/x509/name.py 233 142 39% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 688 15% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 124 23% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 629 21% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/idna/core.py 294 259 12% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/api.py 768 429 44% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/config.py 416 109 74% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 156 77% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 602 180 70% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/ha.py 1239 608 51% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/log.py 155 33 79% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 241 71% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 92 64% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 195 24% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 249 69% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 13 68% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 202 51% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 174 48% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 19 85% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/tags.py 35 5 86% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/utils.py 318 121 62% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/validator.py 284 197 31% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/six.py 504 250 50% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1352s Mar 24 05:47:14 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1352s Mar 24 05:47:14 patroni/__init__.py 13 2 85% 1352s Mar 24 05:47:14 patroni/__main__.py 199 199 0% 1352s Mar 24 05:47:14 patroni/api.py 768 768 0% 1352s Mar 24 05:47:14 patroni/async_executor.py 96 69 28% 1352s Mar 24 05:47:14 patroni/collections.py 43 11 74% 1352s Mar 24 05:47:14 patroni/config.py 416 211 49% 1352s Mar 24 05:47:14 patroni/config_generator.py 210 210 0% 1352s Mar 24 05:47:14 patroni/ctl.py 940 658 30% 1352s Mar 24 05:47:14 patroni/daemon.py 76 76 0% 1352s Mar 24 05:47:14 patroni/dcs/__init__.py 667 304 54% 1352s Mar 24 05:47:14 patroni/dcs/consul.py 482 482 0% 1352s Mar 24 05:47:14 patroni/dcs/etcd3.py 683 683 0% 1352s Mar 24 05:47:14 patroni/dcs/etcd.py 602 232 61% 1352s Mar 24 05:47:14 patroni/dcs/exhibitor.py 60 60 0% 1352s Mar 24 05:47:14 patroni/dcs/kubernetes.py 935 935 0% 1352s Mar 24 05:47:14 patroni/dcs/raft.py 318 318 0% 1352s Mar 24 05:47:14 patroni/dcs/zookeeper.py 287 287 0% 1352s Mar 24 05:47:14 patroni/exceptions.py 16 1 94% 1352s Mar 24 05:47:14 patroni/file_perm.py 43 15 65% 1352s Mar 24 05:47:14 patroni/ha.py 1239 1239 0% 1352s Mar 24 05:47:14 patroni/log.py 155 155 0% 1352s Mar 24 05:47:14 patroni/postgresql/__init__.py 826 655 21% 1352s Mar 24 05:47:14 patroni/postgresql/bootstrap.py 253 224 11% 1352s Mar 24 05:47:14 patroni/postgresql/callback_executor.py 55 34 38% 1352s Mar 24 05:47:14 patroni/postgresql/cancellable.py 104 84 19% 1352s Mar 24 05:47:14 patroni/postgresql/citus.py 258 217 16% 1352s Mar 24 05:47:14 patroni/postgresql/config.py 806 693 14% 1352s Mar 24 05:47:14 patroni/postgresql/connection.py 75 50 33% 1352s Mar 24 05:47:14 patroni/postgresql/misc.py 41 29 29% 1352s Mar 24 05:47:14 patroni/postgresql/postmaster.py 170 139 18% 1352s Mar 24 05:47:14 patroni/postgresql/rewind.py 415 415 0% 1352s Mar 24 05:47:14 patroni/postgresql/slots.py 332 285 14% 1352s Mar 24 05:47:14 patroni/postgresql/sync.py 129 96 26% 1352s Mar 24 05:47:14 patroni/postgresql/validator.py 165 53 68% 1352s Mar 24 05:47:14 patroni/psycopg.py 41 27 34% 1352s Mar 24 05:47:14 patroni/raft_controller.py 22 22 0% 1352s Mar 24 05:47:14 patroni/request.py 62 6 90% 1352s Mar 24 05:47:14 patroni/scripts/__init__.py 0 0 100% 1352s Mar 24 05:47:14 patroni/scripts/aws.py 59 59 0% 1352s Mar 24 05:47:14 patroni/scripts/wale_restore.py 207 207 0% 1352s Mar 24 05:47:14 patroni/tags.py 35 14 60% 1352s Mar 24 05:47:14 patroni/utils.py 318 220 31% 1352s Mar 24 05:47:14 patroni/validator.py 284 201 29% 1352s Mar 24 05:47:14 patroni/version.py 1 0 100% 1352s Mar 24 05:47:14 patroni/watchdog/__init__.py 2 2 0% 1352s Mar 24 05:47:14 patroni/watchdog/base.py 203 203 0% 1352s Mar 24 05:47:14 patroni/watchdog/linux.py 135 135 0% 1352s Mar 24 05:47:14 ------------------------------------------------------------------------------------------------------------- 1352s Mar 24 05:47:14 TOTAL 52899 33862 36% 1352s Mar 24 05:47:14 1 feature passed, 0 failed, 0 skipped 1352s Mar 24 05:47:14 7 scenarios passed, 0 failed, 0 skipped 1352s Mar 24 05:47:14 68 steps passed, 0 failed, 0 skipped, 0 undefined 1352s Mar 24 05:47:14 Took 1m48.366s 1353s ### End 16 acceptance-etcd features/basic_replication.feature ### 1353s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 1353s + rm -f '/tmp/pgpass?' 1353s ++ id -u 1353s + '[' 0 -eq 0 ']' 1353s + '[' -x /etc/init.d/zookeeper ']' 1353s autopkgtest [05:47:15]: test acceptance-etcd-basic: -----------------------] 1354s autopkgtest [05:47:16]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 1354s acceptance-etcd-basic PASS 1354s autopkgtest [05:47:16]: test acceptance-etcd: preparing testbed 1356s Reading package lists... 1357s Building dependency tree... 1357s Reading state information... 1357s Starting pkgProblemResolver with broken count: 0 1357s Starting 2 pkgProblemResolver with broken count: 0 1357s Done 1359s The following NEW packages will be installed: 1359s autopkgtest-satdep 1359s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1359s Need to get 0 B/768 B of archives. 1359s After this operation, 0 B of additional disk space will be used. 1359s Get:1 /tmp/autopkgtest.lAT8Md/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [768 B] 1360s Selecting previously unselected package autopkgtest-satdep. 1360s (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 ... 78829 files and directories currently installed.) 1360s Preparing to unpack .../3-autopkgtest-satdep.deb ... 1360s Unpacking autopkgtest-satdep (0) ... 1360s Setting up autopkgtest-satdep (0) ... 1366s (Reading database ... 78829 files and directories currently installed.) 1366s Removing autopkgtest-satdep (0) ... 1366s autopkgtest [05:47:28]: test acceptance-etcd: debian/tests/acceptance etcd 1366s autopkgtest [05:47:28]: test acceptance-etcd: [----------------------- 1367s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1368s ○ etcd.service - etcd - highly-available key value store 1368s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 1368s Active: inactive (dead) since Sun 2024-03-24 05:45:11 UTC; 2min 19s ago 1368s Duration: 33.613s 1368s Docs: https://etcd.io/docs 1368s man:etcd 1368s Process: 1571 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 1368s Main PID: 1571 (code=killed, signal=TERM) 1368s CPU: 263ms 1368s 1368s Mar 24 05:44:37 autopkgtest systemd[1]: Started etcd.service - etcd - highly-available key value store. 1368s Mar 24 05:44:37 autopkgtest etcd[1571]: set the initial cluster version to 3.4 1368s Mar 24 05:44:37 autopkgtest etcd[1571]: enabled capabilities for version 3.4 1368s Mar 24 05:45:11 autopkgtest etcd[1571]: received terminated signal, shutting down... 1368s Mar 24 05:45:11 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 1368s Mar 24 05:45:11 autopkgtest etcd[1571]: stopping insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 1368s Mar 24 05:45:11 autopkgtest etcd[1571]: stopped insecure grpc server due to error: accept tcp 127.0.0.1:2379: use of closed network connection 1368s Mar 24 05:45:11 autopkgtest etcd[1571]: skipped leadership transfer for single voting member cluster 1368s Mar 24 05:45:11 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 1368s Mar 24 05:45:11 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 1368s ++ ls -1r /usr/lib/postgresql/ 1368s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1368s + echo '### PostgreSQL 16 acceptance-etcd ###' 1368s ### PostgreSQL 16 acceptance-etcd ### 1368s + '[' 16 == 10 ']' 1368s + SKIP= 1368s + 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' 1371s Mar 24 05:47:33 Feature: basic replication # features/basic_replication.feature:1 1371s Mar 24 05:47:33 We should check that the basic bootstrapping, replication and failover works. 1371s Mar 24 05:47:33 Scenario: check replication of a single table # features/basic_replication.feature:4 1371s Mar 24 05:47:33 Given I start postgres0 # features/steps/basic_replication.py:8 1377s Mar 24 05:47:39 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1378s Mar 24 05:47:40 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1378s Mar 24 05:47:40 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 1378s Mar 24 05:47:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1378s Mar 24 05:47:40 When I start postgres1 # features/steps/basic_replication.py:8 1384s Mar 24 05:47:46 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1391s Mar 24 05:47:53 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1391s Mar 24 05:47:53 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 1391s Mar 24 05:47:53 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1392s Mar 24 05:47:54 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 1392s Mar 24 05:47:54 1392s Mar 24 05:47:54 Scenario: check restart of sync replica # features/basic_replication.feature:17 1392s Mar 24 05:47:54 Given I shut down postgres2 # features/steps/basic_replication.py:29 1393s Mar 24 05:47:55 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1393s Mar 24 05:47:55 When I start postgres2 # features/steps/basic_replication.py:8 1399s Mar 24 05:48:01 And I shut down postgres1 # features/steps/basic_replication.py:29 1402s Mar 24 05:48:04 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1403s Mar 24 05:48:05 When I start postgres1 # features/steps/basic_replication.py:8 1408s Mar 24 05:48:10 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1408s Mar 24 05:48:10 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1408s Mar 24 05:48:10 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1408s Mar 24 05:48:10 1408s Mar 24 05:48:10 Scenario: check stuck sync replica # features/basic_replication.feature:28 1408s Mar 24 05:48:10 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 1408s Mar 24 05:48:10 Then I receive a response code 200 # features/steps/patroni_api.py:98 1408s Mar 24 05:48:10 And I create table on postgres0 # features/steps/basic_replication.py:69 1408s Mar 24 05:48:10 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 1408s Mar 24 05:48:10 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 1409s Mar 24 05:48:11 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 1410s Mar 24 05:48:11 And I load data on postgres0 # features/steps/basic_replication.py:80 1411s Mar 24 05:48:13 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1413s Mar 24 05:48:15 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 1413s Mar 24 05:48:15 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1413s Mar 24 05:48:15 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1413s Mar 24 05:48:15 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1414s Mar 24 05:48:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 1414s Mar 24 05:48:16 And I drop table on postgres0 # features/steps/basic_replication.py:69 1414s Mar 24 05:48:16 1414s Mar 24 05:48:16 Scenario: check multi sync replication # features/basic_replication.feature:44 1414s Mar 24 05:48: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 1414s Mar 24 05:48:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 1414s Mar 24 05:48:16 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1418s Mar 24 05:48:20 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1418s Mar 24 05:48:20 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1418s Mar 24 05:48:20 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 1418s Mar 24 05:48:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 1418s Mar 24 05:48:20 And I shut down postgres1 # features/steps/basic_replication.py:29 1421s Mar 24 05:48:23 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1422s Mar 24 05:48:24 When I start postgres1 # features/steps/basic_replication.py:8 1428s Mar 24 05:48:30 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1429s Mar 24 05:48:31 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1429s Mar 24 05:48:31 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1429s Mar 24 05:48:31 1429s Mar 24 05:48:31 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1429s Mar 24 05:48:31 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1433s Mar 24 05:48:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1433s Mar 24 05:48:35 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1435s Mar 24 05:48:37 And I shut down postgres0 # features/steps/basic_replication.py:29 1436s Mar 24 05:48:38 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1440s Mar 24 05:48:42 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1440s Mar 24 05:48:42 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 1456s Mar 24 05:48:58 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1460s Mar 24 05:49:02 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1460s Mar 24 05:49:02 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 1460s Mar 24 05:49:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1460s Mar 24 05:49:02 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 1460s Mar 24 05:49:02 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1462s Mar 24 05:49: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 1462s Mar 24 05:49:04 1462s Mar 24 05:49:04 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1462s Mar 24 05:49:04 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 1462s Mar 24 05:49:04 And I start postgres0 # features/steps/basic_replication.py:8 1462s Mar 24 05:49:04 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 1469s Mar 24 05:49:11 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 1469s Mar 24 05:49:11 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 1474s Mar 24 05:49:16 1474s Mar 24 05:49:16 @reject-duplicate-name 1474s Mar 24 05:49:16 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1474s Mar 24 05:49:16 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1479s Mar 24 05:49:21 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:117 1484s Mar 24 05:49:26 1484s Mar 24 05:49:26 Feature: cascading replication # features/cascading_replication.feature:1 1484s Mar 24 05:49:26 We should check that patroni can do base backup and streaming from the replica 1484s Mar 24 05:49:26 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1484s Mar 24 05:49:26 Given I start postgres0 # features/steps/basic_replication.py:8 1491s Mar 24 05:49:33 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1491s Mar 24 05:49:33 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1497s Mar 24 05:49:39 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 1498s Mar 24 05:49:40 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1498s Mar 24 05:49:40 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1498s Mar 24 05:49:40 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1498s Mar 24 05:49:40 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1504s Mar 24 05:49:46 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:108 1505s Mar 24 05:49:47 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1511s Mar 24 05:49:53 1511s SKIP FEATURE citus: Citus extenstion isn't available 1511s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1511s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1511s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1511s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1511s Mar 24 05:49:53 Feature: citus # features/citus.feature:1 1511s 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 1511s Mar 24 05:49:53 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1511s Mar 24 05:49:53 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1511s Mar 24 05:49:53 Given I start postgres0 in citus group 0 # None 1511s Mar 24 05:49:53 And I start postgres2 in citus group 1 # None 1511s Mar 24 05:49:53 Then postgres0 is a leader in a group 0 after 10 seconds # None 1511s Mar 24 05:49:53 And postgres2 is a leader in a group 1 after 10 seconds # None 1511s Mar 24 05:49:53 When I start postgres1 in citus group 0 # None 1511s Mar 24 05:49:53 And I start postgres3 in citus group 1 # None 1511s Mar 24 05:49:53 Then replication works from postgres0 to postgres1 after 15 seconds # None 1511s Mar 24 05:49:53 Then replication works from postgres2 to postgres3 after 15 seconds # None 1511s Mar 24 05:49:53 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1511s Mar 24 05:49:53 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1511s Mar 24 05:49:53 1511s Mar 24 05:49:53 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1511s Mar 24 05:49:53 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1511s Mar 24 05:49:53 Then postgres1 role is the primary after 10 seconds # None 1511s Mar 24 05:49:53 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1511s Mar 24 05:49:53 And replication works from postgres1 to postgres0 after 15 seconds # None 1511s Mar 24 05:49:53 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1511s Mar 24 05:49:53 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1511s Mar 24 05:49:53 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1511s Mar 24 05:49:53 Then postgres0 role is the primary after 10 seconds # None 1511s Mar 24 05:49:53 And replication works from postgres0 to postgres1 after 15 seconds # None 1511s Mar 24 05:49:53 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1511s Mar 24 05:49:53 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1511s Mar 24 05:49:53 1511s Mar 24 05:49:53 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1511s Mar 24 05:49:53 Given I create a distributed table on postgres0 # None 1511s Mar 24 05:49:53 And I start a thread inserting data on postgres0 # None 1511s Mar 24 05:49:53 When I run patronictl.py switchover batman --group 1 --force # None 1511s Mar 24 05:49:53 Then I receive a response returncode 0 # None 1511s Mar 24 05:49:53 And postgres3 role is the primary after 10 seconds # None 1511s Mar 24 05:49:53 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1511s Mar 24 05:49:53 And replication works from postgres3 to postgres2 after 15 seconds # None 1511s Mar 24 05:49:53 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1511s Mar 24 05:49:53 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1511s Mar 24 05:49:53 And a thread is still alive # None 1511s Mar 24 05:49:53 When I run patronictl.py switchover batman --group 1 --force # None 1511s Mar 24 05:49:53 Then I receive a response returncode 0 # None 1511s Mar 24 05:49:53 And postgres2 role is the primary after 10 seconds # None 1511s Mar 24 05:49:53 And replication works from postgres2 to postgres3 after 15 seconds # None 1511s Mar 24 05:49:53 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1511s Mar 24 05:49:53 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1511s Mar 24 05:49:53 And a thread is still alive # None 1511s Mar 24 05:49:53 When I stop a thread # None 1511s Mar 24 05:49:53 Then a distributed table on postgres0 has expected rows # None 1511s Mar 24 05:49:53 1511s Mar 24 05:49:53 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1511s Mar 24 05:49:53 Given I cleanup a distributed table on postgres0 # None 1511s Mar 24 05:49:53 And I start a thread inserting data on postgres0 # None 1511s Mar 24 05:49:53 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1511s Mar 24 05:49:53 Then I receive a response returncode 0 # None 1511s Mar 24 05:49:53 And postgres2 role is the primary after 10 seconds # None 1511s Mar 24 05:49:53 And replication works from postgres2 to postgres3 after 15 seconds # None 1511s Mar 24 05:49:53 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1511s Mar 24 05:49:53 And a thread is still alive # None 1511s Mar 24 05:49:53 When I stop a thread # None 1511s Mar 24 05:49:53 Then a distributed table on postgres0 has expected rows # None 1511s Mar 24 05:49:53 1511s Mar 24 05:49:53 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1511s Mar 24 05:49:53 Given I start postgres4 in citus group 2 # None 1511s Mar 24 05:49:53 Then postgres4 is a leader in a group 2 after 10 seconds # None 1511s Mar 24 05:49:53 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1511s Mar 24 05:49:53 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1511s Mar 24 05:49:53 Then I receive a response returncode 0 # None 1511s Mar 24 05:49:53 And I receive a response output "+ttl: 20" # None 1511s Mar 24 05:49:53 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1511s Mar 24 05:49:53 When I shut down postgres4 # None 1511s Mar 24 05:49:53 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1511s Mar 24 05:49:53 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1511s Mar 24 05:49:53 Then a transaction finishes in 20 seconds # None 1511s Mar 24 05:49:53 1511s Mar 24 05:49:53 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1511s Mar 24 05:49:53 We should check that patroni can bootstrap a new cluster from a backup 1511s Mar 24 05:49:53 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1511s Mar 24 05:49:53 Given I start postgres0 # features/steps/basic_replication.py:8 1518s Mar 24 05:49:59 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1518s Mar 24 05:49:59 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 1518s Mar 24 05:49:59 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1524s Mar 24 05:50:06 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1525s Mar 24 05:50:07 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:89 1525s Mar 24 05:50:07 1525s Mar 24 05:50:07 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1525s Mar 24 05:50:07 Given I add the table bar to postgres1 # features/steps/basic_replication.py:49 1525s Mar 24 05:50:07 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1527s Mar 24 05:50:09 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1536s Mar 24 05:50:18 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1537s Mar 24 05:50:19 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:89 1544s Mar 24 05:50:26 1544s Mar 24 05:50:26 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 1544s Mar 24 05:50:26 We should check the basic dcs failsafe mode functioning 1544s Mar 24 05:50:26 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 1544s Mar 24 05:50:26 Given I start postgres0 # features/steps/basic_replication.py:8 1551s Mar 24 05:50:33 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1551s Mar 24 05:50:33 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 1551s Mar 24 05:50:33 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 1551s Mar 24 05:50:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1551s Mar 24 05:50:33 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 1551s Mar 24 05:50:33 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 1551s Mar 24 05:50:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1551s Mar 24 05:50:33 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1551s Mar 24 05:50:33 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 1551s Mar 24 05:50:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1551s Mar 24 05:50:33 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 1551s Mar 24 05:50:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1551s Mar 24 05:50:33 1551s Mar 24 05:50:33 @dcs-failsafe 1551s Mar 24 05:50:33 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 1551s Mar 24 05:50:33 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1551s Mar 24 05:50:33 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 1558s Mar 24 05:50:40 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1558s Mar 24 05:50:40 1558s Mar 24 05:50:40 @dcs-failsafe 1558s Mar 24 05:50:40 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 1558s Mar 24 05:50:40 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 1558s Mar 24 05:50:40 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 1559s Mar 24 05:50:41 And I shut down postgres0 # features/steps/basic_replication.py:29 1561s Mar 24 05:50:43 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 1567s Mar 24 05:50:49 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:101 1567s Mar 24 05:50:49 1567s Mar 24 05:50:49 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 1567s Mar 24 05:50:49 Given I start postgres0 # features/steps/basic_replication.py:8 1574s Mar 24 05:50:56 And I start postgres1 # features/steps/basic_replication.py:8 1574s Mar 24 05:50:56 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1574s Mar 24 05:50:56 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 1574s Mar 24 05:50:56 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 1575s Mar 24 05:50:57 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 1576s Mar 24 05:50:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1576s Mar 24 05:50:58 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 1576s Mar 24 05:50:58 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 1576s Mar 24 05:50:58 1576s Mar 24 05:50:58 @dcs-failsafe @slot-advance 1576s Mar 24 05:50:58 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 1576s Mar 24 05:50:58 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1576s Mar 24 05:50:58 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1579s Mar 24 05:51:00 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1582s Mar 24 05:51:04 And DCS is down # features/steps/dcs_failsafe_mode.py:4 1582s Mar 24 05:51:04 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 1588s Mar 24 05:51:10 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1588s Mar 24 05:51:10 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:101 1588s Mar 24 05:51:10 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:108 1589s Mar 24 05:51:11 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 1589s Mar 24 05:51:11 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 1589s Mar 24 05:51:11 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 1592s Mar 24 05:51:14 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1592s Mar 24 05:51:14 1592s Mar 24 05:51:14 @dcs-failsafe 1592s Mar 24 05:51:14 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 1592s Mar 24 05:51:14 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1592s Mar 24 05:51:14 And I kill postgres1 # features/steps/basic_replication.py:34 1593s Mar 24 05:51:15 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1593s Mar 24 05:51:15 waiting for server to shut down.... done 1593s Mar 24 05:51:15 server stopped 1593s Mar 24 05:51:15 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:101 1597s Mar 24 05:51:18 1597s Mar 24 05:51:18 @dcs-failsafe 1597s Mar 24 05:51:18 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1597s Mar 24 05:51:18 Given I kill postgres0 # features/steps/basic_replication.py:34 1597s Mar 24 05:51:19 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1597s Mar 24 05:51:19 waiting for server to shut down.... done 1597s Mar 24 05:51:19 server stopped 1597s Mar 24 05:51:19 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1597s Mar 24 05:51:19 When I start postgres1 # features/steps/basic_replication.py:8 1604s Mar 24 05:51:26 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1605s Mar 24 05:51:27 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:101 1606s Mar 24 05:51:28 1606s Mar 24 05:51:28 @dcs-failsafe 1606s Mar 24 05:51:28 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1606s Mar 24 05:51:28 Given I start postgres0 # features/steps/basic_replication.py:8 1615s Mar 24 05:51:37 And I start postgres2 # features/steps/basic_replication.py:8 1623s Mar 24 05:51:45 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1623s Mar 24 05:51:45 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1623s Mar 24 05:51:45 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1623s Mar 24 05:51:45 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:108 1623s Mar 24 05:51:45 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:108 1624s Mar 24 05:51:46 1624s Mar 24 05:51:46 @dcs-failsafe @slot-advance 1624s Mar 24 05:51:46 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1624s Mar 24 05:51:46 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1624s Mar 24 05:51:46 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1631s Mar 24 05:51:53 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1632s Mar 24 05:51:54 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1632s Mar 24 05:51:54 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1634s Mar 24 05:51:56 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1634s Mar 24 05:51:56 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1634s Mar 24 05:51:56 1634s Mar 24 05:51:56 @dcs-failsafe 1634s Mar 24 05:51:56 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 1634s Mar 24 05:51:56 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1634s Mar 24 05:51:56 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 1642s Mar 24 05:52:04 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1642s Mar 24 05:52:04 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:101 1642s Mar 24 05:52:04 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:101 1642s Mar 24 05:52:04 1642s Mar 24 05:52:04 @dcs-failsafe @slot-advance 1642s Mar 24 05:52:04 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 1642s Mar 24 05:52:04 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:108 1642s Mar 24 05:52:04 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:108 1642s Mar 24 05:52:04 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1642s Mar 24 05:52:04 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1642s Mar 24 05:52:04 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1644s Mar 24 05:52:06 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1644s Mar 24 05:52:06 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1644s Mar 24 05:52:06 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1644s Mar 24 05:52:06 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1648s Mar 24 05:52:10 1648s Mar 24 05:52:10 Feature: ignored slots # features/ignored_slots.feature:1 1648s Mar 24 05:52:10 1648s Mar 24 05:52:10 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1648s Mar 24 05:52:10 Given I start postgres1 # features/steps/basic_replication.py:8 1655s Mar 24 05:52:17 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1655s Mar 24 05:52:17 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1655s Mar 24 05:52:17 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 1655s Mar 24 05:52:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1655s Mar 24 05:52:17 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1655s Mar 24 05:52:17 When I shut down postgres1 # features/steps/basic_replication.py:29 1657s Mar 24 05:52:19 And I start postgres1 # features/steps/basic_replication.py:8 1663s Mar 24 05:52:24 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1663s Mar 24 05:52:24 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1664s Mar 24 05:52:25 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:101 1664s Mar 24 05:52:25 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1664s Mar 24 05:52:26 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1664s Mar 24 05:52:26 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1664s Mar 24 05:52:26 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1664s Mar 24 05:52:26 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1664s Mar 24 05:52:26 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1664s Mar 24 05:52:26 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1664s Mar 24 05:52:26 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1664s Mar 24 05:52:26 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1664s Mar 24 05:52:26 When I start postgres0 # features/steps/basic_replication.py:8 1670s Mar 24 05:52:32 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1670s Mar 24 05:52:32 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 1670s Mar 24 05:52:32 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 1671s Mar 24 05:52:33 When I shut down postgres1 # features/steps/basic_replication.py:29 1673s Mar 24 05:52:35 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1674s Mar 24 05:52:36 When I start postgres1 # features/steps/basic_replication.py:8 1679s Mar 24 05:52:41 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 1679s Mar 24 05:52:41 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1679s Mar 24 05:52:41 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1681s Mar 24 05:52:43 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1681s Mar 24 05:52:43 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1681s Mar 24 05:52:43 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1681s Mar 24 05:52:43 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1681s Mar 24 05:52:43 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1681s Mar 24 05:52:43 When I shut down postgres0 # features/steps/basic_replication.py:29 1683s Mar 24 05:52:45 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1684s Mar 24 05:52:46 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1684s Mar 24 05:52:46 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1684s Mar 24 05:52:46 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1684s Mar 24 05:52:46 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1686s Mar 24 05:52:48 1686s Mar 24 05:52:48 Feature: patroni api # features/patroni_api.feature:1 1686s Mar 24 05:52:48 We should check that patroni correctly responds to valid and not-valid API requests. 1686s Mar 24 05:52:48 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1686s Mar 24 05:52:48 Given I start postgres0 # features/steps/basic_replication.py:8 1693s Mar 24 05:52:55 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1693s Mar 24 05:52:55 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1693s Mar 24 05:52:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1693s Mar 24 05:52:55 And I receive a response state running # features/steps/patroni_api.py:98 1693s Mar 24 05:52:55 And I receive a response role master # features/steps/patroni_api.py:98 1693s Mar 24 05:52:55 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1693s Mar 24 05:52:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 1693s Mar 24 05:52:55 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1693s Mar 24 05:52:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 1693s Mar 24 05:52:55 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1693s Mar 24 05:52:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 1693s Mar 24 05:52:55 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1694s Mar 24 05:52:56 Then I receive a response code 503 # features/steps/patroni_api.py:98 1694s Mar 24 05:52:56 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1694s Mar 24 05:52:56 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1697s Mar 24 05:52:59 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1697s Mar 24 05:52:59 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1697s Mar 24 05:52:59 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1697s Mar 24 05:52:59 Then I receive a response code 412 # features/steps/patroni_api.py:98 1697s Mar 24 05:52:59 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1697s Mar 24 05:52:59 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1697s Mar 24 05:52:59 Then I receive a response code 400 # features/steps/patroni_api.py:98 1697s Mar 24 05:52:59 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1697s Mar 24 05:52:59 Then I receive a response code 400 # features/steps/patroni_api.py:98 1697s Mar 24 05:52:59 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1697s Mar 24 05:52:59 1697s Mar 24 05:52:59 Scenario: check local configuration reload # features/patroni_api.feature:32 1697s Mar 24 05:52:59 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1697s Mar 24 05:52:59 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1697s Mar 24 05:52:59 Then I receive a response code 202 # features/steps/patroni_api.py:98 1697s Mar 24 05:52:59 1697s Mar 24 05:52:59 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1697s Mar 24 05:52:59 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 1697s Mar 24 05:52:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1697s Mar 24 05:52:59 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1700s Mar 24 05:53:02 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1700s Mar 24 05:53:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1700s Mar 24 05:53:02 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1700s Mar 24 05:53:02 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1700s Mar 24 05:53:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1700s Mar 24 05:53:02 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1700s Mar 24 05:53:02 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1704s Mar 24 05:53:06 1704s Mar 24 05:53:06 Scenario: check the scheduled restart # features/patroni_api.feature:49 1704s Mar 24 05:53:06 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1707s Mar 24 05:53:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1707s Mar 24 05:53:09 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1707s Mar 24 05:53:09 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1707s Mar 24 05:53:09 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 1707s Mar 24 05:53:09 Then I receive a response code 202 # features/steps/patroni_api.py:98 1707s Mar 24 05:53:09 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1715s Mar 24 05:53:17 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1716s Mar 24 05:53:17 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 1716s Mar 24 05:53:18 Then I receive a response code 202 # features/steps/patroni_api.py:98 1716s Mar 24 05:53:18 And Response on GET http://127.0.0.1:8008/patroni does not contain pending_restart after 10 seconds # features/steps/patroni_api.py:171 1722s Mar 24 05:53:24 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1723s Mar 24 05:53:25 1723s Mar 24 05:53:25 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1723s Mar 24 05:53:25 Given I start postgres1 # features/steps/basic_replication.py:8 1729s Mar 24 05:53:31 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 1730s Mar 24 05:53:32 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1734s Mar 24 05:53:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1734s Mar 24 05:53:36 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1734s Mar 24 05:53:36 waiting for server to shut down.... done 1734s Mar 24 05:53:36 server stopped 1734s Mar 24 05:53:36 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1735s Mar 24 05:53:37 Then I receive a response code 503 # features/steps/patroni_api.py:98 1735s Mar 24 05:53:37 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1736s Mar 24 05:53:38 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1742s Mar 24 05:53:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1742s Mar 24 05:53:44 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 1743s Mar 24 05:53:45 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1745s Mar 24 05:53:47 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1745s Mar 24 05:53:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1745s Mar 24 05:53:47 And I receive a response state running # features/steps/patroni_api.py:98 1745s Mar 24 05:53:47 And I receive a response role replica # features/steps/patroni_api.py:98 1745s Mar 24 05:53:47 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1752s Mar 24 05:53:54 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1752s Mar 24 05:53:54 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1752s Mar 24 05:53:54 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:101 1753s Mar 24 05:53:55 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 1754s Mar 24 05:53:56 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1759s Mar 24 05:54:01 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1759s Mar 24 05:54:01 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1759s Mar 24 05:54:01 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:101 1760s Mar 24 05:54:02 1760s Mar 24 05:54:02 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1760s Mar 24 05:54:02 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 1764s Mar 24 05:54:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 1764s Mar 24 05:54:06 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1764s Mar 24 05:54:06 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1764s Mar 24 05:54:06 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 1766s Mar 24 05:54:08 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 1770s Mar 24 05:54:12 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1771s Mar 24 05:54:13 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1771s Mar 24 05:54:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 1771s Mar 24 05:54:13 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1771s Mar 24 05:54:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1771s Mar 24 05:54:13 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1771s Mar 24 05:54:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1771s Mar 24 05:54:13 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1771s Mar 24 05:54:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 1771s Mar 24 05:54:13 1771s Mar 24 05:54:13 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1771s Mar 24 05:54:13 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1774s Mar 24 05:54:16 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1774s Mar 24 05:54:16 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1774s Mar 24 05:54:16 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1778s Mar 24 05:54:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1778s Mar 24 05:54:20 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1782s Mar 24 05:54:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1782s Mar 24 05:54:23 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1792s Mar 24 05:54:32 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1792s Mar 24 05:54:32 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 1793s Mar 24 05:54:35 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:108 1794s Mar 24 05:54:36 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1794s Mar 24 05:54:36 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1794s Mar 24 05:54:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1794s Mar 24 05:54:36 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1794s Mar 24 05:54:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 1794s Mar 24 05:54:36 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1794s Mar 24 05:54:36 Then I receive a response code 503 # features/steps/patroni_api.py:98 1794s Mar 24 05:54:36 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1794s Mar 24 05:54:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1799s Mar 24 05:54:40 1799s Mar 24 05:54:40 Feature: permanent slots # features/permanent_slots.feature:1 1799s Mar 24 05:54:40 1799s Mar 24 05:54:40 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1799s Mar 24 05:54:40 Given I start postgres0 # features/steps/basic_replication.py:8 1804s Mar 24 05:54:46 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1805s Mar 24 05:54:47 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1805s Mar 24 05:54:47 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 1805s Mar 24 05:54:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1805s Mar 24 05:54:47 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1805s Mar 24 05:54:47 When I start postgres1 # features/steps/basic_replication.py:8 1812s Mar 24 05:54:54 And I start postgres2 # features/steps/basic_replication.py:8 1818s Mar 24 05:55:00 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1826s Mar 24 05:55:08 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1826s Mar 24 05:55:08 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1826s Mar 24 05:55:08 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1826s Mar 24 05:55:08 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1826s Mar 24 05:55:08 1826s Mar 24 05:55:08 @slot-advance 1826s Mar 24 05:55:08 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 1826s Mar 24 05:55:08 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1832s Mar 24 05:55:14 And I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1832s Mar 24 05:55:14 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1833s Mar 24 05:55:15 1833s Mar 24 05:55:15 @slot-advance 1833s Mar 24 05:55:15 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 1833s Mar 24 05:55:15 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1839s Mar 24 05:55:21 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1839s Mar 24 05:55:21 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1840s Mar 24 05:55:22 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1841s Mar 24 05:55:23 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1841s Mar 24 05:55:23 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1841s Mar 24 05:55:23 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1841s Mar 24 05:55:23 1841s Mar 24 05:55:23 @slot-advance 1841s Mar 24 05:55:23 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1841s Mar 24 05:55:23 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1841s Mar 24 05:55:23 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1841s Mar 24 05:55:23 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1841s Mar 24 05:55:23 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1841s Mar 24 05:55:23 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1841s Mar 24 05:55:23 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 1841s Mar 24 05:55:23 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1841s Mar 24 05:55:23 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1841s Mar 24 05:55:23 1841s Mar 24 05:55:23 @slot-advance 1841s Mar 24 05:55:23 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1841s Mar 24 05:55:23 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:49 1841s Mar 24 05:55:23 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1841s Mar 24 05:55:23 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1841s Mar 24 05:55:23 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1842s Mar 24 05:55:24 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1842s Mar 24 05:55:24 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1842s Mar 24 05:55:24 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1842s Mar 24 05:55:24 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1842s Mar 24 05:55:24 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1842s Mar 24 05:55:24 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 1842s Mar 24 05:55:24 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1844s Mar 24 05:55:26 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1844s Mar 24 05:55:26 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1844s Mar 24 05:55:26 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1844s Mar 24 05:55:26 1844s Mar 24 05:55:26 @slot-advance 1844s Mar 24 05:55:26 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 1844s Mar 24 05:55:26 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 1844s Mar 24 05:55:26 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 1844s Mar 24 05:55:26 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 1844s Mar 24 05:55:26 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 1844s Mar 24 05:55:26 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 1844s Mar 24 05:55:26 1844s Mar 24 05:55:26 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 1844s Mar 24 05:55:26 Given I shut down postgres3 # features/steps/basic_replication.py:29 1845s Mar 24 05:55:27 And I shut down postgres2 # features/steps/basic_replication.py:29 1846s Mar 24 05:55:28 And I shut down postgres0 # features/steps/basic_replication.py:29 1848s Mar 24 05:55:30 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1848s Mar 24 05:55:30 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1848s Mar 24 05:55:30 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1851s Mar 24 05:55:33 1851s Mar 24 05:55:33 Feature: priority replication # features/priority_failover.feature:1 1851s Mar 24 05:55:33 We should check that we can give nodes priority during failover 1851s Mar 24 05:55:33 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1851s Mar 24 05:55:33 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1857s Mar 24 05:55:39 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1863s Mar 24 05:55:45 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 1864s Mar 24 05:55:46 When I shut down postgres0 # features/steps/basic_replication.py:29 1866s Mar 24 05:55:48 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:117 1868s Mar 24 05:55:50 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 1868s Mar 24 05:55:50 When I start postgres0 # features/steps/basic_replication.py:8 1873s Mar 24 05:55:55 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1873s Mar 24 05:55:55 1873s Mar 24 05:55:55 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1873s Mar 24 05:55:55 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1879s Mar 24 05:56:01 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1885s Mar 24 05:56:07 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:108 1886s Mar 24 05:56:08 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:108 1886s Mar 24 05:56:08 When I shut down postgres0 # features/steps/basic_replication.py:29 1889s Mar 24 05:56:11 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1889s Mar 24 05:56:11 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:117 1889s Mar 24 05:56:11 1889s Mar 24 05:56:11 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1889s Mar 24 05:56:11 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1889s Mar 24 05:56:11 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1890s Mar 24 05:56:12 Then I receive a response code 202 # features/steps/patroni_api.py:98 1890s Mar 24 05:56:12 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:117 1891s Mar 24 05:56:13 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1892s Mar 24 05:56:14 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1892s Mar 24 05:56:14 Then I receive a response code 412 # features/steps/patroni_api.py:98 1892s Mar 24 05:56:14 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1892s Mar 24 05:56:14 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1892s Mar 24 05:56:14 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1892s Mar 24 05:56:14 Then I receive a response code 202 # features/steps/patroni_api.py:98 1892s Mar 24 05:56:14 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:117 1894s Mar 24 05:56:16 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1895s Mar 24 05:56:17 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1897s Mar 24 05:56:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 1897s Mar 24 05:56:19 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1902s Mar 24 05:56:24 1902s Mar 24 05:56:24 Feature: recovery # features/recovery.feature:1 1902s Mar 24 05:56:24 We want to check that crashed postgres is started back 1902s Mar 24 05:56:24 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1902s Mar 24 05:56:24 Given I start postgres0 # features/steps/basic_replication.py:8 1909s Mar 24 05:56:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1910s Mar 24 05:56:32 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1910s Mar 24 05:56:32 When I start postgres1 # features/steps/basic_replication.py:8 1916s Mar 24 05:56:38 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 1916s Mar 24 05:56:38 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1917s Mar 24 05:56:39 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1917s Mar 24 05:56:39 waiting for server to shut down.... done 1917s Mar 24 05:56:39 server stopped 1917s Mar 24 05:56:39 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1921s Mar 24 05:56:43 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1921s Mar 24 05:56:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 1921s Mar 24 05:56:43 And I receive a response role master # features/steps/patroni_api.py:98 1921s Mar 24 05:56:43 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1921s Mar 24 05:56:43 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1921s Mar 24 05:56:43 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 1922s Mar 24 05:56:44 1922s Mar 24 05:56:44 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1922s Mar 24 05:56:44 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 1922s Mar 24 05:56:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 1922s Mar 24 05:56:44 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1922s Mar 24 05:56:44 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1922s Mar 24 05:56:44 waiting for server to shut down.... done 1922s Mar 24 05:56:44 server stopped 1922s Mar 24 05:56:44 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1924s Mar 24 05:56:46 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 1929s Mar 24 05:56:51 1929s Mar 24 05:56:51 Feature: standby cluster # features/standby_cluster.feature:1 1929s Mar 24 05:56:51 1929s Mar 24 05:56:51 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1929s Mar 24 05:56:51 Given I start postgres1 # features/steps/basic_replication.py:8 1935s Mar 24 05:56:57 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1935s Mar 24 05:56:57 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1935s Mar 24 05:56:57 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 1935s Mar 24 05:56:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1935s Mar 24 05:56:57 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1935s Mar 24 05:56:57 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1938s Mar 24 05:57:00 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 1938s Mar 24 05:57:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1938s Mar 24 05:57:00 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1939s Mar 24 05:57:01 When I start postgres0 # features/steps/basic_replication.py:8 1945s Mar 24 05:57:07 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1946s Mar 24 05:57:08 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:108 1947s Mar 24 05:57:09 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1947s Mar 24 05:57:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 1947s Mar 24 05:57:09 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1947s Mar 24 05:57:09 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1947s Mar 24 05:57:09 1947s Mar 24 05:57:09 @slot-advance 1947s Mar 24 05:57:09 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1947s Mar 24 05:57:09 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1952s Mar 24 05:57:14 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1958s Mar 24 05:57:19 1958s Mar 24 05:57:19 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1958s Mar 24 05:57:19 When I shut down postgres1 # features/steps/basic_replication.py:29 1960s Mar 24 05:57:21 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1960s Mar 24 05:57:22 And "members/postgres0" key in DCS has role=master after 3 seconds # features/steps/cascading_replication.py:23 1961s Mar 24 05:57:23 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1961s Mar 24 05:57:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 1961s Mar 24 05:57:23 1961s Mar 24 05:57:23 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1961s Mar 24 05:57:23 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1966s Mar 24 05:57:28 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1966s Mar 24 05:57:28 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 1966s Mar 24 05:57:28 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 1966s Mar 24 05:57:28 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1966s Mar 24 05:57:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 1966s Mar 24 05:57:28 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1966s Mar 24 05:57:28 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1969s Mar 24 05:57:31 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1969s Mar 24 05:57:31 Then I receive a response code 503 # features/steps/patroni_api.py:98 1969s Mar 24 05:57:31 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1969s Mar 24 05:57:31 Then I receive a response code 200 # features/steps/patroni_api.py:98 1969s Mar 24 05:57:31 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1969s Mar 24 05:57:31 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1969s Mar 24 05:57:31 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1974s Mar 24 05:57:36 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:101 1974s Mar 24 05:57:36 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 1975s Mar 24 05:57:37 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1975s Mar 24 05:57:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 1975s Mar 24 05:57:37 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1975s Mar 24 05:57:37 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1975s Mar 24 05:57:37 1975s Mar 24 05:57:37 Scenario: check switchover # features/standby_cluster.feature:56 1975s Mar 24 05:57:37 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1981s Mar 24 05:57:43 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1981s Mar 24 05:57:43 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1983s Mar 24 05:57:45 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 1983s Mar 24 05:57:45 1983s Mar 24 05:57:45 Scenario: check failover # features/standby_cluster.feature:62 1983s Mar 24 05:57:45 When I kill postgres2 # features/steps/basic_replication.py:34 1984s Mar 24 05:57:46 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1984s Mar 24 05:57:46 waiting for server to shut down.... done 1984s Mar 24 05:57:46 server stopped 1984s Mar 24 05:57:46 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2002s Mar 24 05:58:04 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2002s Mar 24 05:58:04 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2002s Mar 24 05:58:04 Then I receive a response code 503 # features/steps/patroni_api.py:98 2002s Mar 24 05:58:04 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2002s Mar 24 05:58:04 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 2003s Mar 24 05:58:05 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2008s Mar 24 05:58:10 2008s Mar 24 05:58:10 Feature: watchdog # features/watchdog.feature:1 2008s Mar 24 05:58:10 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2008s Mar 24 05:58:10 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2008s Mar 24 05:58:10 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2014s Mar 24 05:58:16 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2014s Mar 24 05:58:16 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2014s Mar 24 05:58:16 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2015s Mar 24 05:58:17 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2015s Mar 24 05:58:17 2015s Mar 24 05:58:17 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2015s Mar 24 05:58:17 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2018s Mar 24 05:58:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2018s Mar 24 05:58:20 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2018s Mar 24 05:58:20 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2023s Mar 24 05:58:24 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2023s Mar 24 05:58:24 2023s Mar 24 05:58:24 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2023s Mar 24 05:58:24 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2026s Mar 24 05:58:28 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2026s Mar 24 05:58:28 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2028s Mar 24 05:58:30 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2028s Mar 24 05:58:30 2028s Mar 24 05:58:30 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2028s Mar 24 05:58:30 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2028s Mar 24 05:58:30 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2031s Mar 24 05:58:33 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2031s Mar 24 05:58:33 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2032s Mar 24 05:58:34 2032s Mar 24 05:58:34 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2032s Mar 24 05:58:34 Given I shut down postgres0 # features/steps/basic_replication.py:29 2034s Mar 24 05:58:36 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2034s Mar 24 05:58:36 2034s Mar 24 05:58:36 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2034s Mar 24 05:58:36 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2034s Mar 24 05:58:36 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2039s Mar 24 05:58:41 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2039s Mar 24 05:58:41 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2039s Mar 24 05:58:41 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2061s Mar 24 05:59:03 2061s 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'))") 2062s 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'))") 2062s 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'))") 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7551.531538 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4445.313987 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7016.937866 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6372.548583 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5491.545756 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6228.206668 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4520.878931 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6327.837067 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4654.776718 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6729.139200 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6404.135708 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7554.234608 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4836.509188 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4871.156450 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6775.167993 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6636.534644 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5051.258930 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6042.283660 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4794.264986 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7421.706210 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4476.858355 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5957.355313 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7058.415323 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5685.944406 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5908.693669 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4785.548345 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4613.959601 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5736.052486 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6235.596530 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6105.985752 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6071.160023 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4651.352855 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6230.791289 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6047.316059 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5423.352660 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7222.606467 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5777.159433 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7549.994991 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5553.556357 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6439.329055 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5145.436657 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7264.758780 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4995.371994 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7341.035604 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6822.241136 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4953.240126 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5839.449779 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4706.776719 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7507.609033 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7161.531181 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.7565.515607 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4402.266848 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6494.470702 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6006.879757 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.6674.848381 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.4552.632528 2063s Mar 24 05:59:05 Combined data file .coverage.autopkgtest.5971.060833 2069s Mar 24 05:59:11 Name Stmts Miss Cover 2069s Mar 24 05:59:11 ------------------------------------------------------------------------------------------------------------- 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1072 596 44% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/OpenSSL/_util.py 41 14 66% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 1225 982 20% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 73 32 56% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 73 13 82% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 18 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 80 35 56% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 118 47 60% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 134 57 57% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 219 56 74% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 45 12 73% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 47 20 57% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 184 106 42% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 43 12 72% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 35 73% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 138 79 43% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 58 59% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 128 20 84% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 22 12 45% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 761 605 20% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/utils.py 76 29 62% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/x509/base.py 458 224 51% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/x509/name.py 233 142 39% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/idna/core.py 294 259 12% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/api.py 768 280 64% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/config.py 416 91 78% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 82 88% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 602 119 80% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/ha.py 1239 319 74% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/log.py 155 31 80% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 180 78% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 63 75% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 193 25% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 215 73% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 169 59% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 34 90% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 19 85% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/tags.py 35 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/utils.py 318 107 66% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/validator.py 284 194 32% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/six.py 504 250 50% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2069s Mar 24 05:59:11 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2069s Mar 24 05:59:11 patroni/__init__.py 13 2 85% 2069s Mar 24 05:59:11 patroni/__main__.py 199 199 0% 2069s Mar 24 05:59:11 patroni/api.py 768 768 0% 2069s Mar 24 05:59:11 patroni/async_executor.py 96 69 28% 2069s Mar 24 05:59:11 patroni/collections.py 43 11 74% 2069s Mar 24 05:59:11 patroni/config.py 416 206 50% 2069s Mar 24 05:59:11 patroni/config_generator.py 210 210 0% 2069s Mar 24 05:59:11 patroni/ctl.py 940 409 56% 2069s Mar 24 05:59:11 patroni/daemon.py 76 76 0% 2069s Mar 24 05:59:11 patroni/dcs/__init__.py 667 266 60% 2069s Mar 24 05:59:11 patroni/dcs/consul.py 482 482 0% 2069s Mar 24 05:59:11 patroni/dcs/etcd3.py 683 683 0% 2069s Mar 24 05:59:11 patroni/dcs/etcd.py 602 224 63% 2069s Mar 24 05:59:11 patroni/dcs/exhibitor.py 60 60 0% 2069s Mar 24 05:59:11 patroni/dcs/kubernetes.py 935 935 0% 2069s Mar 24 05:59:11 patroni/dcs/raft.py 318 318 0% 2069s Mar 24 05:59:11 patroni/dcs/zookeeper.py 287 287 0% 2069s Mar 24 05:59:11 patroni/exceptions.py 16 1 94% 2069s Mar 24 05:59:11 patroni/file_perm.py 43 15 65% 2069s Mar 24 05:59:11 patroni/ha.py 1239 1239 0% 2069s Mar 24 05:59:11 patroni/log.py 155 155 0% 2069s Mar 24 05:59:11 patroni/postgresql/__init__.py 826 655 21% 2069s Mar 24 05:59:11 patroni/postgresql/bootstrap.py 253 224 11% 2069s Mar 24 05:59:11 patroni/postgresql/callback_executor.py 55 34 38% 2069s Mar 24 05:59:11 patroni/postgresql/cancellable.py 104 84 19% 2069s Mar 24 05:59:11 patroni/postgresql/citus.py 258 217 16% 2069s Mar 24 05:59:11 patroni/postgresql/config.py 806 693 14% 2069s Mar 24 05:59:11 patroni/postgresql/connection.py 75 50 33% 2069s Mar 24 05:59:11 patroni/postgresql/misc.py 41 29 29% 2069s Mar 24 05:59:11 patroni/postgresql/postmaster.py 170 139 18% 2069s Mar 24 05:59:11 patroni/postgresql/rewind.py 415 415 0% 2069s Mar 24 05:59:11 patroni/postgresql/slots.py 332 285 14% 2069s Mar 24 05:59:11 patroni/postgresql/sync.py 129 96 26% 2069s Mar 24 05:59:11 patroni/postgresql/validator.py 165 53 68% 2069s Mar 24 05:59:11 patroni/psycopg.py 41 27 34% 2069s Mar 24 05:59:11 patroni/raft_controller.py 22 22 0% 2069s Mar 24 05:59:11 patroni/request.py 62 6 90% 2069s Mar 24 05:59:11 patroni/scripts/__init__.py 0 0 100% 2069s Mar 24 05:59:11 patroni/scripts/aws.py 59 59 0% 2069s Mar 24 05:59:11 patroni/scripts/wale_restore.py 207 207 0% 2069s Mar 24 05:59:11 patroni/tags.py 35 10 71% 2069s Mar 24 05:59:11 patroni/utils.py 318 169 47% 2069s Mar 24 05:59:11 patroni/validator.py 284 201 29% 2069s Mar 24 05:59:11 patroni/version.py 1 0 100% 2069s Mar 24 05:59:11 patroni/watchdog/__init__.py 2 2 0% 2069s Mar 24 05:59:11 patroni/watchdog/base.py 203 203 0% 2069s Mar 24 05:59:11 patroni/watchdog/linux.py 135 135 0% 2069s Mar 24 05:59:11 ------------------------------------------------------------------------------------------------------------- 2069s Mar 24 05:59:11 TOTAL 52899 32216 39% 2069s Mar 24 05:59:11 11 features passed, 0 failed, 1 skipped 2069s Mar 24 05:59:11 53 scenarios passed, 0 failed, 5 skipped 2069s Mar 24 05:59:11 511 steps passed, 0 failed, 61 skipped, 0 undefined 2069s Mar 24 05:59:11 Took 10m43.381s 2069s + echo '### End 16 acceptance-etcd ###' 2069s ### End 16 acceptance-etcd ### 2069s + rm -f '/tmp/pgpass?' 2069s ++ id -u 2069s + '[' 0 -eq 0 ']' 2069s + '[' -x /etc/init.d/zookeeper ']' 2070s autopkgtest [05:59:12]: test acceptance-etcd: -----------------------] 2070s autopkgtest [05:59:12]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 2070s acceptance-etcd PASS 2071s autopkgtest [05:59:13]: test acceptance-consul: preparing testbed 2212s autopkgtest [06:01:34]: testbed dpkg architecture: arm64 2213s autopkgtest [06:01:35]: testbed apt version: 2.7.12 2213s autopkgtest [06:01:35]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2214s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 2214s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3984 kB] 2215s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 2215s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 2215s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 2215s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [707 kB] 2215s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 2215s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 2215s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 2215s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4359 kB] 2215s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 2215s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 2215s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 2221s Fetched 9840 kB in 3s (3245 kB/s) 2222s Reading package lists... 2226s Reading package lists... 2226s Building dependency tree... 2226s Reading state information... 2227s Calculating upgrade... 2228s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2229s Reading package lists... 2229s Building dependency tree... 2229s Reading state information... 2230s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2232s sh: Attempting to set up Debian/Ubuntu apt sources automatically 2232s sh: Distribution appears to be Ubuntu 2233s Reading package lists... 2234s Building dependency tree... 2234s Reading state information... 2235s eatmydata is already the newest version (131-1). 2235s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2235s Reading package lists... 2236s Building dependency tree... 2236s Reading state information... 2237s dbus is already the newest version (1.14.10-4ubuntu1). 2237s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2237s Reading package lists... 2238s Building dependency tree... 2238s Reading state information... 2239s rng-tools-debian is already the newest version (2.4). 2239s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2239s Reading package lists... 2240s Building dependency tree... 2240s Reading state information... 2241s The following packages will be REMOVED: 2241s cloud-init* python3-configobj* python3-debconf* 2242s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 2242s After this operation, 3256 kB disk space will be freed. 2242s (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 ... 75911 files and directories currently installed.) 2242s Removing cloud-init (24.1.2-0ubuntu1) ... 2243s Removing python3-configobj (5.0.8-3) ... 2243s Removing python3-debconf (1.5.86) ... 2243s Processing triggers for man-db (2.12.0-3) ... 2244s (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 ... 75522 files and directories currently installed.) 2244s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 2246s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 2246s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 2246s invoke-rc.d: policy-rc.d denied execution of try-restart. 2246s Reading package lists... 2246s Building dependency tree... 2246s Reading state information... 2248s linux-generic is already the newest version (6.8.0-11.11+1). 2248s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2248s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 2248s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 2248s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 2255s Reading package lists... 2255s Reading package lists... 2255s Building dependency tree... 2255s Reading state information... 2256s Calculating upgrade... 2257s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2257s Reading package lists... 2258s Building dependency tree... 2258s Reading state information... 2259s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2259s autopkgtest [06:02:21]: rebooting testbed after setup commands that affected boot 2428s Reading package lists... 2429s Building dependency tree... 2429s Reading state information... 2429s Starting pkgProblemResolver with broken count: 1 2430s Starting 2 pkgProblemResolver with broken count: 1 2430s Investigating (0) autopkgtest-satdep:arm64 < none -> 0 @un puN Ib > 2430s Broken autopkgtest-satdep:arm64 Depends on consul:arm64 < none @un H > 2430s Broken autopkgtest-satdep:arm64 Depends on moreutils:arm64 < none | 0.69-1 @un uH > 2430s Considering moreutils:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2430s Re-Instated libio-pty-perl:arm64 2430s Re-Instated libipc-run-perl:arm64 2430s Re-Instated libtime-duration-perl:arm64 2430s Re-Instated libtimedate-perl:arm64 2430s Re-Instated moreutils:arm64 2430s Broken autopkgtest-satdep:arm64 Depends on postgresql:arm64 < none | 16+257 @un uH > 2430s Considering postgresql:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2430s Re-Instated libpq5:arm64 2430s Re-Instated postgresql-client-common:arm64 2430s Re-Instated postgresql-client-16:arm64 2430s Re-Instated libjson-perl:arm64 2430s Re-Instated ssl-cert:arm64 2430s Re-Instated postgresql-common:arm64 2430s Re-Instated libllvm17:arm64 2430s Re-Instated libxslt1.1:arm64 2430s Re-Instated postgresql-16:arm64 2430s Re-Instated postgresql:arm64 2430s Broken autopkgtest-satdep:arm64 Depends on python3-behave:arm64 < none | 1.2.6-5 @un uH > 2430s Considering python3-behave:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2430s Re-Instated python3-parse:arm64 2430s Re-Instated python3-parse-type:arm64 2430s Re-Instated python3-behave:arm64 2430s Broken autopkgtest-satdep:arm64 Depends on python3-consul:arm64 < none | 0.7.1-2 @un uH > (>= 0.7.0) 2430s Considering python3-consul:arm64 0 as a solution to autopkgtest-satdep:arm64 9998 2430s Re-Instated python3-consul:arm64 2430s Broken autopkgtest-satdep:arm64 Depends on python3-coverage:arm64 < none | 7.3.2-0ubuntu1 @un uH > 2430s Considering python3-coverage:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2430s Re-Instated python3-coverage:arm64 2430s Broken autopkgtest-satdep:arm64 Depends on patroni:arm64 < none | 3.2.2-2 @un uH > 2430s Considering patroni:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2430s Re-Instated python3-cdiff:arm64 2430s Re-Instated python3-colorama:arm64 2430s Re-Instated python3-click:arm64 2430s Re-Instated python3-dateutil:arm64 2430s Re-Instated python3-wcwidth:arm64 2430s Re-Instated python3-prettytable:arm64 2430s Re-Instated python3-psutil:arm64 2430s Re-Instated python3-psycopg2:arm64 2430s Re-Instated patroni:arm64 2430s Broken autopkgtest-satdep:arm64 Depends on patroni-doc:arm64 < none | 3.2.2-2 @un uH > 2430s Considering patroni-doc:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2430s Re-Instated libjs-jquery:arm64 2430s Re-Instated libjs-underscore:arm64 2430s Re-Instated libjs-sphinxdoc:arm64 2430s Re-Instated fonts-font-awesome:arm64 2430s Re-Instated fonts-lato:arm64 2430s Re-Instated sphinx-rtd-theme-common:arm64 2430s Re-Instated patroni-doc:arm64 2430s Done 2430s Some packages could not be installed. This may mean that you have 2430s requested an impossible situation or if you are using the unstable 2430s distribution that some required packages have not yet been created 2430s or been moved out of Incoming. 2430s The following information may help to resolve the situation: 2430s 2430s The following packages have unmet dependencies: 2430s autopkgtest-satdep : Depends: consul but it is not installable 2430s E: Unable to correct problems, you have held broken packages. 2431s autopkgtest: WARNING: Test dependencies are unsatisfiable with using apt pinning. Retrying with using all packages from noble-proposed 2431s Reading package lists... 2432s Building dependency tree... 2432s Reading state information... 2432s Starting pkgProblemResolver with broken count: 1 2433s Starting 2 pkgProblemResolver with broken count: 1 2433s Investigating (0) autopkgtest-satdep:arm64 < none -> 0 @un puN Ib > 2433s Broken autopkgtest-satdep:arm64 Depends on consul:arm64 < none @un H > 2433s Broken autopkgtest-satdep:arm64 Depends on moreutils:arm64 < none | 0.69-1 @un uH > 2433s Considering moreutils:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2433s Re-Instated libio-pty-perl:arm64 2433s Re-Instated libipc-run-perl:arm64 2433s Re-Instated libtime-duration-perl:arm64 2433s Re-Instated libtimedate-perl:arm64 2433s Re-Instated moreutils:arm64 2433s Broken autopkgtest-satdep:arm64 Depends on postgresql:arm64 < none | 16+257 @un uH > 2433s Considering postgresql:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2433s Re-Instated libpq5:arm64 2433s Re-Instated postgresql-client-common:arm64 2433s Re-Instated postgresql-client-16:arm64 2433s Re-Instated libjson-perl:arm64 2433s Re-Instated ssl-cert:arm64 2433s Re-Instated postgresql-common:arm64 2433s Re-Instated libllvm17:arm64 2433s Re-Instated libxslt1.1:arm64 2433s Re-Instated postgresql-16:arm64 2433s Re-Instated postgresql:arm64 2433s Broken autopkgtest-satdep:arm64 Depends on python3-behave:arm64 < none | 1.2.6-5 @un uH > 2433s Considering python3-behave:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2433s Re-Instated python3-parse:arm64 2433s Re-Instated python3-parse-type:arm64 2433s Re-Instated python3-behave:arm64 2433s Broken autopkgtest-satdep:arm64 Depends on python3-consul:arm64 < none | 0.7.1-2 @un uH > (>= 0.7.0) 2433s Considering python3-consul:arm64 0 as a solution to autopkgtest-satdep:arm64 9998 2433s Re-Instated python3-consul:arm64 2433s Broken autopkgtest-satdep:arm64 Depends on python3-coverage:arm64 < none | 7.3.2-0ubuntu1 @un uH > 2433s Considering python3-coverage:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2433s Re-Instated python3-coverage:arm64 2433s Broken autopkgtest-satdep:arm64 Depends on patroni:arm64 < none | 3.2.2-2 @un uH > 2433s Considering patroni:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2433s Re-Instated python3-cdiff:arm64 2433s Re-Instated python3-colorama:arm64 2433s Re-Instated python3-click:arm64 2433s Re-Instated python3-dateutil:arm64 2433s Re-Instated python3-wcwidth:arm64 2433s Re-Instated python3-prettytable:arm64 2433s Re-Instated python3-psutil:arm64 2433s Re-Instated python3-psycopg2:arm64 2433s Re-Instated patroni:arm64 2433s Broken autopkgtest-satdep:arm64 Depends on patroni-doc:arm64 < none | 3.2.2-2 @un uH > 2433s Considering patroni-doc:arm64 1 as a solution to autopkgtest-satdep:arm64 9998 2433s Re-Instated libjs-jquery:arm64 2433s Re-Instated libjs-underscore:arm64 2433s Re-Instated libjs-sphinxdoc:arm64 2433s Re-Instated fonts-font-awesome:arm64 2433s Re-Instated fonts-lato:arm64 2433s Re-Instated sphinx-rtd-theme-common:arm64 2433s Re-Instated patroni-doc:arm64 2433s Done 2433s Some packages could not be installed. This may mean that you have 2433s requested an impossible situation or if you are using the unstable 2433s distribution that some required packages have not yet been created 2433s or been moved out of Incoming. 2433s The following information may help to resolve the situation: 2433s 2433s The following packages have unmet dependencies: 2433s autopkgtest-satdep : Depends: consul but it is not installable 2433s E: Unable to correct problems, you have held broken packages. 2433s autopkgtest: WARNING: Test dependencies are unsatisfiable - calling apt install on test deps directly for further data about failing dependencies in test logs 2434s acceptance-consul SKIP installation fails and skip-not-installable set 2434s autopkgtest [06:05:16]: test acceptance-zookeeper: preparing testbed 2539s autopkgtest [06:07:00]: testbed dpkg architecture: arm64 2539s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 2539s autopkgtest [06:07:00]: testbed apt version: 2.7.12 2539s autopkgtest [06:07:00]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2540s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 2540s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 2540s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 2540s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [4009 kB] 2540s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [707 kB] 2540s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 2540s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 2540s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 2540s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4359 kB] 2540s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 2540s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 2540s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 2542s Fetched 9865 kB in 2s (5738 kB/s) 2543s Reading package lists... 2547s Reading package lists... 2548s Building dependency tree... 2548s Reading state information... 2548s Calculating upgrade... 2549s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2549s Reading package lists... 2549s Building dependency tree... 2549s Reading state information... 2549s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2550s sh: Attempting to set up Debian/Ubuntu apt sources automatically 2550s sh: Distribution appears to be Ubuntu 2551s Reading package lists... 2551s Building dependency tree... 2551s Reading state information... 2552s eatmydata is already the newest version (131-1). 2552s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2552s Reading package lists... 2552s Building dependency tree... 2552s Reading state information... 2553s dbus is already the newest version (1.14.10-4ubuntu1). 2553s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2553s Reading package lists... 2553s Building dependency tree... 2553s Reading state information... 2553s rng-tools-debian is already the newest version (2.4). 2553s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2553s Reading package lists... 2554s Building dependency tree... 2554s Reading state information... 2554s The following packages will be REMOVED: 2554s cloud-init* python3-configobj* python3-debconf* 2555s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 2555s After this operation, 3256 kB disk space will be freed. 2555s (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 ... 75911 files and directories currently installed.) 2555s Removing cloud-init (24.1.2-0ubuntu1) ... 2555s Removing python3-configobj (5.0.8-3) ... 2555s Removing python3-debconf (1.5.86) ... 2555s Processing triggers for man-db (2.12.0-3) ... 2556s (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 ... 75522 files and directories currently installed.) 2556s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 2556s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 2556s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 2556s invoke-rc.d: policy-rc.d denied execution of try-restart. 2556s Reading package lists... 2557s Building dependency tree... 2557s Reading state information... 2557s linux-generic is already the newest version (6.8.0-11.11+1). 2557s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2558s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 2558s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 2558s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 2560s Reading package lists... 2560s Reading package lists... 2560s Building dependency tree... 2560s Reading state information... 2561s Calculating upgrade... 2561s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2561s Reading package lists... 2561s Building dependency tree... 2561s Reading state information... 2562s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2562s autopkgtest [06:07:24]: rebooting testbed after setup commands that affected boot 2716s Reading package lists... 2717s Building dependency tree... 2717s Reading state information... 2717s Starting pkgProblemResolver with broken count: 0 2717s Starting 2 pkgProblemResolver with broken count: 0 2717s Done 2718s The following additional packages will be installed: 2718s adwaita-icon-theme at-spi2-common ca-certificates-java default-jre 2718s default-jre-headless fontconfig fontconfig-config fonts-dejavu-core 2718s fonts-dejavu-mono fonts-font-awesome fonts-lato gtk-update-icon-cache 2718s hicolor-icon-theme humanity-icon-theme java-common junit4 libactivation-java 2718s libapache-pom-java libapr1 libasm-java libasound2 libasound2-data 2718s libatinject-jsr330-api-java libatk1.0-0 libavahi-client3 2718s libavahi-common-data libavahi-common3 libc-ares2 libcairo2 2718s libcommons-cli-java libcommons-io-java libcommons-logging-java 2718s libcommons-parent-java libcups2 libdatrie1 libdeflate0 libdrm-amdgpu1 2718s libdrm-nouveau2 libdrm-radeon1 libdropwizard-metrics-java 2718s libeclipse-jdt-core-java libel-api-java liberror-prone-java libev4 2718s libfindbugs-annotations-java libfontconfig1 libgdk-pixbuf-2.0-0 2718s libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglapi-mesa 2718s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk2.0-0 libgtk2.0-common 2718s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 2718s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 2718s libjaxb-api-java libjbig0 libjctools-java libjetty9-extra-java 2718s libjetty9-java libjffi-java libjffi-jni libjnr-constants-java 2718s libjnr-enxio-java libjnr-ffi-java libjnr-posix-java libjnr-unixsocket-java 2718s libjnr-x86asm-java libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc 2718s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 2718s liblerc4 libllvm17 liblog4j1.2-java libmail-java libnetty-java 2718s libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 2718s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 2718s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 2718s libsnappy1v5 libspring-beans-java libspring-core-java 2718s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 2718s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 2718s libvulkan1 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 2718s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 2718s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 2718s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 2718s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java moreutils 2718s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 2718s postgresql-16 postgresql-client-16 postgresql-client-common 2718s postgresql-common python3-behave python3-cdiff python3-click 2718s python3-colorama python3-coverage python3-dateutil python3-dnspython 2718s python3-eventlet python3-gevent python3-greenlet python3-kazoo 2718s python3-kerberos python3-parse python3-parse-type python3-prettytable 2718s python3-psutil python3-psycopg2 python3-pure-sasl python3-wcwidth 2718s python3-zope.event python3-zope.interface sphinx-rtd-theme-common ssl-cert 2718s ubuntu-mono x11-common zookeeper zookeeperd 2718s Suggested packages: 2718s libasound2-plugins alsa-utils libatinject-jsr330-api-java-doc 2718s libcommons-io-java-doc libavalon-framework-java libexcalibur-logkit-java 2718s cups-common gvfs libjackson2-annotations-java-doc jetty9 libjnr-ffi-java-doc 2718s libjnr-posix-java-doc libjsr305-java-doc liblcms2-utils liblog4j1.2-java-doc 2718s libmail-java-doc libbcpkix-java libcompress-lzf-java libjzlib-java 2718s liblog4j2-java libprotobuf-java pcscd libcglib-java libyaml-snake-java 2718s libaspectj-java libcommons-collections3-java tomcat9 libzookeeper-java-doc 2718s libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho 2718s fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic vip-manager haproxy 2718s postgresql-doc postgresql-doc-16 python-coverage-doc python3-trio 2718s python3-aioquic python3-h2 python3-httpx python3-httpcore 2718s python-eventlet-doc python-gevent-doc python-greenlet-dev 2718s python-greenlet-doc python-kazoo-doc python-psycopg2-doc 2718s Recommended packages: 2718s librsvg2-common alsa-ucm-conf alsa-topology-conf libgdk-pixbuf2.0-bin 2718s libgl1-amber-dri libgail-common libgtk2.0-bin javascript-common 2718s libjson-xs-perl mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni 2718s fonts-dejavu-extra 2718s The following NEW packages will be installed: 2718s adwaita-icon-theme at-spi2-common autopkgtest-satdep ca-certificates-java 2718s default-jre default-jre-headless fontconfig fontconfig-config 2718s fonts-dejavu-core fonts-dejavu-mono fonts-font-awesome fonts-lato 2718s gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme java-common 2718s junit4 libactivation-java libapache-pom-java libapr1 libasm-java libasound2 2718s libasound2-data libatinject-jsr330-api-java libatk1.0-0 libavahi-client3 2718s libavahi-common-data libavahi-common3 libc-ares2 libcairo2 2718s libcommons-cli-java libcommons-io-java libcommons-logging-java 2718s libcommons-parent-java libcups2 libdatrie1 libdeflate0 libdrm-amdgpu1 2718s libdrm-nouveau2 libdrm-radeon1 libdropwizard-metrics-java 2718s libeclipse-jdt-core-java libel-api-java liberror-prone-java libev4 2718s libfindbugs-annotations-java libfontconfig1 libgdk-pixbuf-2.0-0 2718s libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglapi-mesa 2718s libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk2.0-0 libgtk2.0-common 2718s libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl libipc-run-perl 2718s libjackson2-annotations-java libjackson2-core-java libjackson2-databind-java 2718s libjaxb-api-java libjbig0 libjctools-java libjetty9-extra-java 2718s libjetty9-java libjffi-java libjffi-jni libjnr-constants-java 2718s libjnr-enxio-java libjnr-ffi-java libjnr-posix-java libjnr-unixsocket-java 2718s libjnr-x86asm-java libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc 2718s libjs-underscore libjson-perl libjsp-api-java libjsr305-java liblcms2-2 2718s liblerc4 libllvm17 liblog4j1.2-java libmail-java libnetty-java 2718s libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 2718s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 2718s libservlet-api-java libsharpyuv0 libslf4j-java libsnappy-java libsnappy-jni 2718s libsnappy1v5 libspring-beans-java libspring-core-java 2718s libtaglibs-standard-impl-java libtaglibs-standard-spec-java libthai-data 2718s libthai0 libtiff6 libtime-duration-perl libtimedate-perl libtomcat9-java 2718s libvulkan1 libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 2718s libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 2718s libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 2718s libxdamage1 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 2718s libxshmfence1 libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java moreutils 2718s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 2718s postgresql-16 postgresql-client-16 postgresql-client-common 2718s postgresql-common python3-behave python3-cdiff python3-click 2718s python3-colorama python3-coverage python3-dateutil python3-dnspython 2718s python3-eventlet python3-gevent python3-greenlet python3-kazoo 2718s python3-kerberos python3-parse python3-parse-type python3-prettytable 2718s python3-psutil python3-psycopg2 python3-pure-sasl python3-wcwidth 2718s python3-zope.event python3-zope.interface sphinx-rtd-theme-common ssl-cert 2718s ubuntu-mono x11-common zookeeper zookeeperd 2718s 0 upgraded, 181 newly installed, 0 to remove and 0 not upgraded. 2718s Need to get 151 MB/151 MB of archives. 2718s After this operation, 568 MB of additional disk space will be used. 2718s Get:1 /tmp/autopkgtest.lAT8Md/5-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [760 B] 2718s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-lato all 2.015-1 [2781 kB] 2718s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 2718s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-client-common all 257 [36.2 kB] 2718s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 ssl-cert all 1.1.2ubuntu1 [17.8 kB] 2719s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-common all 257 [162 kB] 2719s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 ca-certificates-java all 20240118 [11.6 kB] 2719s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 java-common all 0.75+exp1 [6798 B] 2719s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libavahi-common-data arm64 0.8-13ubuntu2 [29.5 kB] 2719s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libavahi-common3 arm64 0.8-13ubuntu2 [23.2 kB] 2719s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 libavahi-client3 arm64 0.8-13ubuntu2 [27.3 kB] 2719s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 libcups2 arm64 2.4.6-0ubuntu3 [270 kB] 2719s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 liblcms2-2 arm64 2.14-2 [159 kB] 2719s Get:14 http://ftpmaster.internal/ubuntu noble/main arm64 libjpeg-turbo8 arm64 2.1.5-2ubuntu1 [160 kB] 2719s Get:15 http://ftpmaster.internal/ubuntu noble/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 2719s Get:16 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 2719s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 2719s Get:18 http://ftpmaster.internal/ubuntu noble/main arm64 fontconfig-config arm64 2.15.0-1ubuntu1 [37.0 kB] 2719s Get:19 http://ftpmaster.internal/ubuntu noble/main arm64 libfontconfig1 arm64 2.15.0-1ubuntu1 [142 kB] 2719s Get:20 http://ftpmaster.internal/ubuntu noble/main arm64 libasound2-data all 1.2.10-3build1 [20.7 kB] 2719s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 libasound2 arm64 1.2.10-3build1 [386 kB] 2719s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 libgraphite2-3 arm64 1.3.14-2 [81.5 kB] 2719s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 libharfbuzz0b arm64 8.3.0-2 [463 kB] 2719s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 libpcsclite1 arm64 2.0.0-1 [21.2 kB] 2719s Get:25 http://ftpmaster.internal/ubuntu noble/main arm64 openjdk-21-jre-headless arm64 21.0.2+13-2 [45.8 MB] 2720s Get:26 http://ftpmaster.internal/ubuntu noble/main arm64 default-jre-headless arm64 2:1.21-75+exp1 [3096 B] 2720s Get:27 http://ftpmaster.internal/ubuntu noble/main arm64 libgtk2.0-common all 2.24.33-2ubuntu2 [125 kB] 2720s Get:28 http://ftpmaster.internal/ubuntu noble/main arm64 at-spi2-common all 2.50.0-1 [7864 B] 2720s Get:29 http://ftpmaster.internal/ubuntu noble/main arm64 libatk1.0-0 arm64 2.50.0-1 [53.8 kB] 2720s Get:30 http://ftpmaster.internal/ubuntu noble/main arm64 libpixman-1-0 arm64 0.42.2-1 [193 kB] 2720s Get:31 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-render0 arm64 1.15-1 [16.1 kB] 2720s Get:32 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-shm0 arm64 1.15-1 [5780 B] 2720s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 libxrender1 arm64 1:0.9.10-1.1 [19.1 kB] 2720s Get:34 http://ftpmaster.internal/ubuntu noble/main arm64 libcairo2 arm64 1.18.0-1 [550 kB] 2720s Get:35 http://ftpmaster.internal/ubuntu noble/main arm64 libgdk-pixbuf2.0-common all 2.42.10+dfsg-3 [7624 B] 2720s Get:36 http://ftpmaster.internal/ubuntu noble/main arm64 libdeflate0 arm64 1.19-1 [43.4 kB] 2720s Get:37 http://ftpmaster.internal/ubuntu noble/main arm64 libjbig0 arm64 2.1-6.1ubuntu1 [28.9 kB] 2720s Get:38 http://ftpmaster.internal/ubuntu noble/main arm64 liblerc4 arm64 4.0.0+ds-4ubuntu1 [153 kB] 2720s Get:39 http://ftpmaster.internal/ubuntu noble/main arm64 libsharpyuv0 arm64 1.3.2-0.4 [14.4 kB] 2720s Get:40 http://ftpmaster.internal/ubuntu noble/main arm64 libwebp7 arm64 1.3.2-0.4 [191 kB] 2720s Get:41 http://ftpmaster.internal/ubuntu noble/main arm64 libtiff6 arm64 4.5.1+git230720-3ubuntu1 [226 kB] 2720s Get:42 http://ftpmaster.internal/ubuntu noble/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.10+dfsg-3 [144 kB] 2720s Get:43 http://ftpmaster.internal/ubuntu noble/main arm64 fontconfig arm64 2.15.0-1ubuntu1 [190 kB] 2720s Get:44 http://ftpmaster.internal/ubuntu noble/main arm64 libthai-data all 0.1.29-2 [158 kB] 2720s Get:45 http://ftpmaster.internal/ubuntu noble/main arm64 libdatrie1 arm64 0.2.13-3 [21.7 kB] 2720s Get:46 http://ftpmaster.internal/ubuntu noble/main arm64 libthai0 arm64 0.1.29-2 [18.1 kB] 2720s Get:47 http://ftpmaster.internal/ubuntu noble/main arm64 libpango-1.0-0 arm64 1.51.0+ds-4 [226 kB] 2720s Get:48 http://ftpmaster.internal/ubuntu noble/main arm64 libpangoft2-1.0-0 arm64 1.51.0+ds-4 [41.2 kB] 2720s Get:49 http://ftpmaster.internal/ubuntu noble/main arm64 libpangocairo-1.0-0 arm64 1.51.0+ds-4 [27.6 kB] 2720s Get:50 http://ftpmaster.internal/ubuntu noble/main arm64 libxcomposite1 arm64 1:0.4.5-1build2 [7080 B] 2720s Get:51 http://ftpmaster.internal/ubuntu noble/main arm64 libxfixes3 arm64 1:6.0.0-2 [11.0 kB] 2720s Get:52 http://ftpmaster.internal/ubuntu noble/main arm64 libxcursor1 arm64 1:1.2.1-1 [21.3 kB] 2720s Get:53 http://ftpmaster.internal/ubuntu noble/main arm64 libxdamage1 arm64 1:1.1.6-1 [6032 B] 2720s Get:54 http://ftpmaster.internal/ubuntu noble/main arm64 libxi6 arm64 2:1.8.1-1 [31.9 kB] 2720s Get:55 http://ftpmaster.internal/ubuntu noble/main arm64 libxinerama1 arm64 2:1.1.4-3 [7056 B] 2720s Get:56 http://ftpmaster.internal/ubuntu noble/main arm64 libxrandr2 arm64 2:1.5.2-2 [19.6 kB] 2720s Get:57 http://ftpmaster.internal/ubuntu noble/main arm64 gtk-update-icon-cache arm64 3.24.40-2ubuntu1 [50.5 kB] 2720s Get:58 http://ftpmaster.internal/ubuntu noble/main arm64 hicolor-icon-theme all 0.17-2 [9976 B] 2720s Get:59 http://ftpmaster.internal/ubuntu noble/main arm64 humanity-icon-theme all 0.6.16 [1282 kB] 2720s Get:60 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] 2720s Get:61 http://ftpmaster.internal/ubuntu noble/main arm64 adwaita-icon-theme all 46~rc-1 [723 kB] 2720s Get:62 http://ftpmaster.internal/ubuntu noble/main arm64 libgtk2.0-0 arm64 2.24.33-2ubuntu2 [1981 kB] 2720s Get:63 http://ftpmaster.internal/ubuntu noble/main arm64 libglvnd0 arm64 1.7.0-1 [60.0 kB] 2720s Get:64 http://ftpmaster.internal/ubuntu noble/main arm64 libglapi-mesa arm64 24.0.1-1ubuntu1 [57.8 kB] 2720s Get:65 http://ftpmaster.internal/ubuntu noble/main arm64 libx11-xcb1 arm64 2:1.8.7-1 [7836 B] 2720s Get:66 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-dri2-0 arm64 1.15-1 [7244 B] 2720s Get:67 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-dri3-0 arm64 1.15-1 [7108 B] 2720s Get:68 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-glx0 arm64 1.15-1 [25.2 kB] 2720s Get:69 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-present0 arm64 1.15-1 [5732 B] 2720s Get:70 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-randr0 arm64 1.15-1 [18.2 kB] 2720s Get:71 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-sync1 arm64 1.15-1 [9412 B] 2720s Get:72 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-xfixes0 arm64 1.15-1 [10.3 kB] 2720s Get:73 http://ftpmaster.internal/ubuntu noble/main arm64 libxshmfence1 arm64 1.3-1build4 [5444 B] 2720s Get:74 http://ftpmaster.internal/ubuntu noble/main arm64 libxxf86vm1 arm64 1:1.1.4-1build3 [10.3 kB] 2720s Get:75 http://ftpmaster.internal/ubuntu noble/main arm64 libvulkan1 arm64 1.3.275.0-1 [150 kB] 2720s Get:76 http://ftpmaster.internal/ubuntu noble/main arm64 libdrm-amdgpu1 arm64 2.4.120-2 [20.4 kB] 2720s Get:77 http://ftpmaster.internal/ubuntu noble/main arm64 libdrm-nouveau2 arm64 2.4.120-2 [17.8 kB] 2720s Get:78 http://ftpmaster.internal/ubuntu noble/main arm64 libdrm-radeon1 arm64 2.4.120-2 [20.9 kB] 2720s Get:79 http://ftpmaster.internal/ubuntu noble/main arm64 libllvm17 arm64 1:17.0.6-5build1 [25.0 MB] 2721s Get:80 http://ftpmaster.internal/ubuntu noble/main arm64 libgl1-mesa-dri arm64 24.0.1-1ubuntu1 [8226 kB] 2722s Get:81 http://ftpmaster.internal/ubuntu noble/main arm64 libglx-mesa0 arm64 24.0.1-1ubuntu1 [166 kB] 2722s Get:82 http://ftpmaster.internal/ubuntu noble/main arm64 libglx0 arm64 1.7.0-1 [32.4 kB] 2722s Get:83 http://ftpmaster.internal/ubuntu noble/main arm64 libgl1 arm64 1.7.0-1 [107 kB] 2722s Get:84 http://ftpmaster.internal/ubuntu noble/main arm64 libgif7 arm64 5.2.1-2.5 [34.2 kB] 2722s Get:85 http://ftpmaster.internal/ubuntu noble/main arm64 x11-common all 1:7.7+23ubuntu2 [23.4 kB] 2722s Get:86 http://ftpmaster.internal/ubuntu noble/main arm64 libxtst6 arm64 2:1.2.3-1.1 [13.7 kB] 2722s Get:87 http://ftpmaster.internal/ubuntu noble/main arm64 openjdk-21-jre arm64 21.0.2+13-2 [226 kB] 2722s Get:88 http://ftpmaster.internal/ubuntu noble/main arm64 default-jre arm64 2:1.21-75+exp1 [922 B] 2722s Get:89 http://ftpmaster.internal/ubuntu noble/universe arm64 libhamcrest-java all 2.2-2 [117 kB] 2722s Get:90 http://ftpmaster.internal/ubuntu noble/universe arm64 junit4 all 4.13.2-4 [347 kB] 2722s Get:91 http://ftpmaster.internal/ubuntu noble/universe arm64 libcommons-cli-java all 1.6.0-1 [59.9 kB] 2722s Get:92 http://ftpmaster.internal/ubuntu noble/universe arm64 libapache-pom-java all 29-2 [5284 B] 2722s Get:93 http://ftpmaster.internal/ubuntu noble/universe arm64 libcommons-parent-java all 56-1 [10.7 kB] 2722s Get:94 http://ftpmaster.internal/ubuntu noble/universe arm64 libcommons-io-java all 2.11.0-2 [297 kB] 2722s Get:95 http://ftpmaster.internal/ubuntu noble/universe arm64 libdropwizard-metrics-java all 3.2.6-1 [240 kB] 2722s Get:96 http://ftpmaster.internal/ubuntu noble/universe arm64 libfindbugs-annotations-java all 3.1.0~preview2-3 [49.2 kB] 2722s Get:97 http://ftpmaster.internal/ubuntu noble/universe arm64 libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 2722s Get:98 http://ftpmaster.internal/ubuntu noble/universe arm64 liberror-prone-java all 2.18.0-1 [22.5 kB] 2722s Get:99 http://ftpmaster.internal/ubuntu noble/universe arm64 libjsr305-java all 0.1~+svn49-11 [27.0 kB] 2722s Get:100 http://ftpmaster.internal/ubuntu noble/universe arm64 libguava-java all 32.0.1-1 [2692 kB] 2722s Get:101 http://ftpmaster.internal/ubuntu noble/universe arm64 libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 2722s Get:102 http://ftpmaster.internal/ubuntu noble/universe arm64 libjackson2-core-java all 2.14.1-1 [432 kB] 2722s Get:103 http://ftpmaster.internal/ubuntu noble/universe arm64 libjackson2-databind-java all 2.14.0-1 [1531 kB] 2723s Get:104 http://ftpmaster.internal/ubuntu noble/universe arm64 libasm-java all 9.6~us1-0ubuntu1 [386 kB] 2723s Get:105 http://ftpmaster.internal/ubuntu noble/universe arm64 libel-api-java all 3.0.0-3 [64.9 kB] 2723s Get:106 http://ftpmaster.internal/ubuntu noble/universe arm64 libjsp-api-java all 2.3.4-3 [53.7 kB] 2723s Get:107 http://ftpmaster.internal/ubuntu noble/universe arm64 libservlet-api-java all 4.0.1-2 [81.0 kB] 2723s Get:108 http://ftpmaster.internal/ubuntu noble/universe arm64 libwebsocket-api-java all 1.1-2 [40.1 kB] 2723s Get:109 http://ftpmaster.internal/ubuntu noble/universe arm64 libjetty9-java all 9.4.53-1 [2807 kB] 2724s Get:110 http://ftpmaster.internal/ubuntu noble/universe arm64 libjnr-constants-java all 0.10.4-2 [1397 kB] 2724s Get:111 http://ftpmaster.internal/ubuntu noble/universe arm64 libjffi-jni arm64 1.3.13+ds-1 [29.8 kB] 2724s Get:112 http://ftpmaster.internal/ubuntu noble/universe arm64 libjffi-java all 1.3.13+ds-1 [112 kB] 2724s Get:113 http://ftpmaster.internal/ubuntu noble/universe arm64 libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 2724s Get:114 http://ftpmaster.internal/ubuntu noble/universe arm64 libjnr-ffi-java all 2.2.15-2 [627 kB] 2724s Get:115 http://ftpmaster.internal/ubuntu noble/universe arm64 libjnr-enxio-java all 0.32.16-1 [33.7 kB] 2724s Get:116 http://ftpmaster.internal/ubuntu noble/universe arm64 libjnr-posix-java all 3.1.18-1 [267 kB] 2724s Get:117 http://ftpmaster.internal/ubuntu noble/universe arm64 libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 2724s Get:118 http://ftpmaster.internal/ubuntu noble/universe arm64 libactivation-java all 1.2.0-2 [84.7 kB] 2724s Get:119 http://ftpmaster.internal/ubuntu noble/universe arm64 libmail-java all 1.6.5-2 [681 kB] 2724s Get:120 http://ftpmaster.internal/ubuntu noble/universe arm64 libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 2724s Get:121 http://ftpmaster.internal/ubuntu noble/universe arm64 libjaxb-api-java all 2.3.1-1 [119 kB] 2724s Get:122 http://ftpmaster.internal/ubuntu noble/universe arm64 libspring-core-java all 4.3.30-2 [1015 kB] 2724s Get:123 http://ftpmaster.internal/ubuntu noble/universe arm64 libspring-beans-java all 4.3.30-2 [675 kB] 2724s Get:124 http://ftpmaster.internal/ubuntu noble/universe arm64 libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 2724s Get:125 http://ftpmaster.internal/ubuntu noble/universe arm64 libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 2724s Get:126 http://ftpmaster.internal/ubuntu noble/universe arm64 libeclipse-jdt-core-java all 3.32.0+eclipse4.26-2 [6438 kB] 2725s Get:127 http://ftpmaster.internal/ubuntu noble/universe arm64 libtomcat9-java all 9.0.70-1ubuntu1 [6151 kB] 2725s Get:128 http://ftpmaster.internal/ubuntu noble/universe arm64 libjetty9-extra-java all 9.4.53-1 [1206 kB] 2725s Get:129 http://ftpmaster.internal/ubuntu noble/universe arm64 libjctools-java all 2.0.2-1 [188 kB] 2725s Get:130 http://ftpmaster.internal/ubuntu noble/universe arm64 libnetty-java all 1:4.1.48-9 [3603 kB] 2726s Get:131 http://ftpmaster.internal/ubuntu noble/universe arm64 libslf4j-java all 1.7.32-1 [141 kB] 2726s Get:132 http://ftpmaster.internal/ubuntu noble/main arm64 libsnappy1v5 arm64 1.1.10-1 [28.2 kB] 2726s Get:133 http://ftpmaster.internal/ubuntu noble/universe arm64 libsnappy-jni arm64 1.1.10.5-1 [6542 B] 2726s Get:134 http://ftpmaster.internal/ubuntu noble/universe arm64 libsnappy-java all 1.1.10.5-1 [83.6 kB] 2726s Get:135 http://ftpmaster.internal/ubuntu noble/main arm64 libapr1 arm64 1.7.2-3 [103 kB] 2726s Get:136 http://ftpmaster.internal/ubuntu noble/universe arm64 libnetty-tcnative-jni arm64 2.0.28-1build1 [37.6 kB] 2726s Get:137 http://ftpmaster.internal/ubuntu noble/universe arm64 libnetty-tcnative-java all 2.0.28-1build1 [24.5 kB] 2726s Get:138 http://ftpmaster.internal/ubuntu noble/universe arm64 liblog4j1.2-java all 1.2.17-11 [439 kB] 2726s Get:139 http://ftpmaster.internal/ubuntu noble/universe arm64 libzookeeper-java all 3.9.1-1build1 [1880 kB] 2726s Get:140 http://ftpmaster.internal/ubuntu noble/universe arm64 zookeeper all 3.9.1-1build1 [57.9 kB] 2726s Get:141 http://ftpmaster.internal/ubuntu noble/universe arm64 zookeeperd all 3.9.1-1build1 [6030 B] 2726s Get:142 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2726s Get:143 http://ftpmaster.internal/ubuntu noble/main arm64 libio-pty-perl arm64 1:1.20-1 [31.0 kB] 2726s Get:144 http://ftpmaster.internal/ubuntu noble/main arm64 libipc-run-perl all 20231003.0-1 [92.1 kB] 2726s Get:145 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2726s Get:146 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2726s Get:147 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-sphinxdoc all 7.2.6-4 [149 kB] 2726s Get:148 http://ftpmaster.internal/ubuntu noble/main arm64 libpq5 arm64 16.2-1 [136 kB] 2726s Get:149 http://ftpmaster.internal/ubuntu noble/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 2726s Get:150 http://ftpmaster.internal/ubuntu noble/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 2726s Get:151 http://ftpmaster.internal/ubuntu noble/main arm64 libxslt1.1 arm64 1.1.39-0exp1 [166 kB] 2726s Get:152 http://ftpmaster.internal/ubuntu noble/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 2726s Get:153 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 2726s Get:154 http://ftpmaster.internal/ubuntu noble/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 2726s Get:155 http://ftpmaster.internal/ubuntu noble/main arm64 python3-click all 8.1.6-1 [79.0 kB] 2726s Get:156 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dateutil all 2.8.2-3 [79.2 kB] 2726s Get:157 http://ftpmaster.internal/ubuntu noble/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 2726s Get:158 http://ftpmaster.internal/ubuntu noble/main arm64 python3-prettytable all 3.6.0-1 [33.1 kB] 2726s Get:159 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psutil arm64 5.9.8-1 [196 kB] 2726s Get:160 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psycopg2 arm64 2.9.9-1 [177 kB] 2726s Get:161 http://ftpmaster.internal/ubuntu noble/main arm64 python3-greenlet arm64 3.0.1-2 [168 kB] 2726s Get:162 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 2726s Get:163 http://ftpmaster.internal/ubuntu noble/main arm64 python3-eventlet all 0.35.1-0ubuntu1 [162 kB] 2726s Get:164 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 2726s Get:165 http://ftpmaster.internal/ubuntu noble/main arm64 python3-zope.interface arm64 6.1-1 [181 kB] 2726s Get:166 http://ftpmaster.internal/ubuntu noble/main arm64 libc-ares2 arm64 1.27.0-1 [74.1 kB] 2726s Get:167 http://ftpmaster.internal/ubuntu noble/universe arm64 libev4 arm64 1:4.33-2 [29.8 kB] 2726s Get:168 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-gevent arm64 23.9.1-0.2 [1175 kB] 2726s Get:169 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-kerberos arm64 1.1.14-3.1build8 [22.6 kB] 2726s Get:170 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 2726s Get:171 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 2726s Get:172 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni all 3.2.2-2 [253 kB] 2726s Get:173 http://ftpmaster.internal/ubuntu noble/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 2726s Get:174 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni-doc all 3.2.2-2 [476 kB] 2726s Get:175 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-client-16 arm64 16.2-1 [1260 kB] 2726s Get:176 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-16 arm64 16.2-1 [15.2 MB] 2727s Get:177 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql all 16+257 [11.4 kB] 2727s Get:178 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-parse all 1.19.0-0.2 [18.1 kB] 2727s Get:179 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 2727s Get:180 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 2727s Get:181 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-coverage arm64 7.3.2-0ubuntu1 [147 kB] 2728s Preconfiguring packages ... 2728s Fetched 151 MB in 10s (15.5 MB/s) 2728s Selecting previously unselected package fonts-lato. 2728s (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 ... 75467 files and directories currently installed.) 2728s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 2728s Unpacking fonts-lato (2.015-1) ... 2728s Selecting previously unselected package libjson-perl. 2728s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 2728s Unpacking libjson-perl (4.10000-1) ... 2728s Selecting previously unselected package postgresql-client-common. 2728s Preparing to unpack .../002-postgresql-client-common_257_all.deb ... 2728s Unpacking postgresql-client-common (257) ... 2728s Selecting previously unselected package ssl-cert. 2728s Preparing to unpack .../003-ssl-cert_1.1.2ubuntu1_all.deb ... 2728s Unpacking ssl-cert (1.1.2ubuntu1) ... 2728s Selecting previously unselected package postgresql-common. 2728s Preparing to unpack .../004-postgresql-common_257_all.deb ... 2728s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2728s Unpacking postgresql-common (257) ... 2729s Selecting previously unselected package ca-certificates-java. 2729s Preparing to unpack .../005-ca-certificates-java_20240118_all.deb ... 2729s Unpacking ca-certificates-java (20240118) ... 2729s Selecting previously unselected package java-common. 2729s Preparing to unpack .../006-java-common_0.75+exp1_all.deb ... 2729s Unpacking java-common (0.75+exp1) ... 2729s Selecting previously unselected package libavahi-common-data:arm64. 2729s Preparing to unpack .../007-libavahi-common-data_0.8-13ubuntu2_arm64.deb ... 2729s Unpacking libavahi-common-data:arm64 (0.8-13ubuntu2) ... 2729s Selecting previously unselected package libavahi-common3:arm64. 2729s Preparing to unpack .../008-libavahi-common3_0.8-13ubuntu2_arm64.deb ... 2729s Unpacking libavahi-common3:arm64 (0.8-13ubuntu2) ... 2729s Selecting previously unselected package libavahi-client3:arm64. 2729s Preparing to unpack .../009-libavahi-client3_0.8-13ubuntu2_arm64.deb ... 2729s Unpacking libavahi-client3:arm64 (0.8-13ubuntu2) ... 2729s Selecting previously unselected package libcups2:arm64. 2729s Preparing to unpack .../010-libcups2_2.4.6-0ubuntu3_arm64.deb ... 2729s Unpacking libcups2:arm64 (2.4.6-0ubuntu3) ... 2729s Selecting previously unselected package liblcms2-2:arm64. 2729s Preparing to unpack .../011-liblcms2-2_2.14-2_arm64.deb ... 2729s Unpacking liblcms2-2:arm64 (2.14-2) ... 2729s Selecting previously unselected package libjpeg-turbo8:arm64. 2729s Preparing to unpack .../012-libjpeg-turbo8_2.1.5-2ubuntu1_arm64.deb ... 2729s Unpacking libjpeg-turbo8:arm64 (2.1.5-2ubuntu1) ... 2729s Selecting previously unselected package libjpeg8:arm64. 2729s Preparing to unpack .../013-libjpeg8_8c-2ubuntu11_arm64.deb ... 2729s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 2729s Selecting previously unselected package fonts-dejavu-mono. 2729s Preparing to unpack .../014-fonts-dejavu-mono_2.37-8_all.deb ... 2729s Unpacking fonts-dejavu-mono (2.37-8) ... 2729s Selecting previously unselected package fonts-dejavu-core. 2729s Preparing to unpack .../015-fonts-dejavu-core_2.37-8_all.deb ... 2729s Unpacking fonts-dejavu-core (2.37-8) ... 2729s Selecting previously unselected package fontconfig-config. 2729s Preparing to unpack .../016-fontconfig-config_2.15.0-1ubuntu1_arm64.deb ... 2729s Unpacking fontconfig-config (2.15.0-1ubuntu1) ... 2729s Selecting previously unselected package libfontconfig1:arm64. 2729s Preparing to unpack .../017-libfontconfig1_2.15.0-1ubuntu1_arm64.deb ... 2729s Unpacking libfontconfig1:arm64 (2.15.0-1ubuntu1) ... 2729s Selecting previously unselected package libasound2-data. 2729s Preparing to unpack .../018-libasound2-data_1.2.10-3build1_all.deb ... 2729s Unpacking libasound2-data (1.2.10-3build1) ... 2729s Selecting previously unselected package libasound2:arm64. 2729s Preparing to unpack .../019-libasound2_1.2.10-3build1_arm64.deb ... 2729s Unpacking libasound2:arm64 (1.2.10-3build1) ... 2729s Selecting previously unselected package libgraphite2-3:arm64. 2729s Preparing to unpack .../020-libgraphite2-3_1.3.14-2_arm64.deb ... 2729s Unpacking libgraphite2-3:arm64 (1.3.14-2) ... 2729s Selecting previously unselected package libharfbuzz0b:arm64. 2729s Preparing to unpack .../021-libharfbuzz0b_8.3.0-2_arm64.deb ... 2729s Unpacking libharfbuzz0b:arm64 (8.3.0-2) ... 2729s Selecting previously unselected package libpcsclite1:arm64. 2729s Preparing to unpack .../022-libpcsclite1_2.0.0-1_arm64.deb ... 2729s Unpacking libpcsclite1:arm64 (2.0.0-1) ... 2729s Selecting previously unselected package openjdk-21-jre-headless:arm64. 2729s Preparing to unpack .../023-openjdk-21-jre-headless_21.0.2+13-2_arm64.deb ... 2729s Unpacking openjdk-21-jre-headless:arm64 (21.0.2+13-2) ... 2730s Selecting previously unselected package default-jre-headless. 2730s Preparing to unpack .../024-default-jre-headless_2%3a1.21-75+exp1_arm64.deb ... 2730s Unpacking default-jre-headless (2:1.21-75+exp1) ... 2730s Selecting previously unselected package libgtk2.0-common. 2730s Preparing to unpack .../025-libgtk2.0-common_2.24.33-2ubuntu2_all.deb ... 2730s Unpacking libgtk2.0-common (2.24.33-2ubuntu2) ... 2730s Selecting previously unselected package at-spi2-common. 2730s Preparing to unpack .../026-at-spi2-common_2.50.0-1_all.deb ... 2730s Unpacking at-spi2-common (2.50.0-1) ... 2730s Selecting previously unselected package libatk1.0-0:arm64. 2730s Preparing to unpack .../027-libatk1.0-0_2.50.0-1_arm64.deb ... 2730s Unpacking libatk1.0-0:arm64 (2.50.0-1) ... 2731s Selecting previously unselected package libpixman-1-0:arm64. 2731s Preparing to unpack .../028-libpixman-1-0_0.42.2-1_arm64.deb ... 2731s Unpacking libpixman-1-0:arm64 (0.42.2-1) ... 2731s Selecting previously unselected package libxcb-render0:arm64. 2731s Preparing to unpack .../029-libxcb-render0_1.15-1_arm64.deb ... 2731s Unpacking libxcb-render0:arm64 (1.15-1) ... 2731s Selecting previously unselected package libxcb-shm0:arm64. 2731s Preparing to unpack .../030-libxcb-shm0_1.15-1_arm64.deb ... 2731s Unpacking libxcb-shm0:arm64 (1.15-1) ... 2731s Selecting previously unselected package libxrender1:arm64. 2731s Preparing to unpack .../031-libxrender1_1%3a0.9.10-1.1_arm64.deb ... 2731s Unpacking libxrender1:arm64 (1:0.9.10-1.1) ... 2731s Selecting previously unselected package libcairo2:arm64. 2731s Preparing to unpack .../032-libcairo2_1.18.0-1_arm64.deb ... 2731s Unpacking libcairo2:arm64 (1.18.0-1) ... 2731s Selecting previously unselected package libgdk-pixbuf2.0-common. 2731s Preparing to unpack .../033-libgdk-pixbuf2.0-common_2.42.10+dfsg-3_all.deb ... 2731s Unpacking libgdk-pixbuf2.0-common (2.42.10+dfsg-3) ... 2731s Selecting previously unselected package libdeflate0:arm64. 2731s Preparing to unpack .../034-libdeflate0_1.19-1_arm64.deb ... 2731s Unpacking libdeflate0:arm64 (1.19-1) ... 2731s Selecting previously unselected package libjbig0:arm64. 2731s Preparing to unpack .../035-libjbig0_2.1-6.1ubuntu1_arm64.deb ... 2731s Unpacking libjbig0:arm64 (2.1-6.1ubuntu1) ... 2731s Selecting previously unselected package liblerc4:arm64. 2731s Preparing to unpack .../036-liblerc4_4.0.0+ds-4ubuntu1_arm64.deb ... 2731s Unpacking liblerc4:arm64 (4.0.0+ds-4ubuntu1) ... 2731s Selecting previously unselected package libsharpyuv0:arm64. 2731s Preparing to unpack .../037-libsharpyuv0_1.3.2-0.4_arm64.deb ... 2731s Unpacking libsharpyuv0:arm64 (1.3.2-0.4) ... 2731s Selecting previously unselected package libwebp7:arm64. 2731s Preparing to unpack .../038-libwebp7_1.3.2-0.4_arm64.deb ... 2731s Unpacking libwebp7:arm64 (1.3.2-0.4) ... 2731s Selecting previously unselected package libtiff6:arm64. 2731s Preparing to unpack .../039-libtiff6_4.5.1+git230720-3ubuntu1_arm64.deb ... 2731s Unpacking libtiff6:arm64 (4.5.1+git230720-3ubuntu1) ... 2731s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 2731s Preparing to unpack .../040-libgdk-pixbuf-2.0-0_2.42.10+dfsg-3_arm64.deb ... 2731s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.10+dfsg-3) ... 2731s Selecting previously unselected package fontconfig. 2731s Preparing to unpack .../041-fontconfig_2.15.0-1ubuntu1_arm64.deb ... 2731s Unpacking fontconfig (2.15.0-1ubuntu1) ... 2731s Selecting previously unselected package libthai-data. 2731s Preparing to unpack .../042-libthai-data_0.1.29-2_all.deb ... 2731s Unpacking libthai-data (0.1.29-2) ... 2731s Selecting previously unselected package libdatrie1:arm64. 2731s Preparing to unpack .../043-libdatrie1_0.2.13-3_arm64.deb ... 2731s Unpacking libdatrie1:arm64 (0.2.13-3) ... 2731s Selecting previously unselected package libthai0:arm64. 2731s Preparing to unpack .../044-libthai0_0.1.29-2_arm64.deb ... 2731s Unpacking libthai0:arm64 (0.1.29-2) ... 2731s Selecting previously unselected package libpango-1.0-0:arm64. 2731s Preparing to unpack .../045-libpango-1.0-0_1.51.0+ds-4_arm64.deb ... 2731s Unpacking libpango-1.0-0:arm64 (1.51.0+ds-4) ... 2731s Selecting previously unselected package libpangoft2-1.0-0:arm64. 2731s Preparing to unpack .../046-libpangoft2-1.0-0_1.51.0+ds-4_arm64.deb ... 2731s Unpacking libpangoft2-1.0-0:arm64 (1.51.0+ds-4) ... 2731s Selecting previously unselected package libpangocairo-1.0-0:arm64. 2731s Preparing to unpack .../047-libpangocairo-1.0-0_1.51.0+ds-4_arm64.deb ... 2731s Unpacking libpangocairo-1.0-0:arm64 (1.51.0+ds-4) ... 2731s Selecting previously unselected package libxcomposite1:arm64. 2731s Preparing to unpack .../048-libxcomposite1_1%3a0.4.5-1build2_arm64.deb ... 2731s Unpacking libxcomposite1:arm64 (1:0.4.5-1build2) ... 2731s Selecting previously unselected package libxfixes3:arm64. 2731s Preparing to unpack .../049-libxfixes3_1%3a6.0.0-2_arm64.deb ... 2731s Unpacking libxfixes3:arm64 (1:6.0.0-2) ... 2731s Selecting previously unselected package libxcursor1:arm64. 2731s Preparing to unpack .../050-libxcursor1_1%3a1.2.1-1_arm64.deb ... 2731s Unpacking libxcursor1:arm64 (1:1.2.1-1) ... 2731s Selecting previously unselected package libxdamage1:arm64. 2731s Preparing to unpack .../051-libxdamage1_1%3a1.1.6-1_arm64.deb ... 2731s Unpacking libxdamage1:arm64 (1:1.1.6-1) ... 2731s Selecting previously unselected package libxi6:arm64. 2731s Preparing to unpack .../052-libxi6_2%3a1.8.1-1_arm64.deb ... 2731s Unpacking libxi6:arm64 (2:1.8.1-1) ... 2731s Selecting previously unselected package libxinerama1:arm64. 2731s Preparing to unpack .../053-libxinerama1_2%3a1.1.4-3_arm64.deb ... 2731s Unpacking libxinerama1:arm64 (2:1.1.4-3) ... 2731s Selecting previously unselected package libxrandr2:arm64. 2731s Preparing to unpack .../054-libxrandr2_2%3a1.5.2-2_arm64.deb ... 2731s Unpacking libxrandr2:arm64 (2:1.5.2-2) ... 2731s Selecting previously unselected package gtk-update-icon-cache. 2731s Preparing to unpack .../055-gtk-update-icon-cache_3.24.40-2ubuntu1_arm64.deb ... 2731s Unpacking gtk-update-icon-cache (3.24.40-2ubuntu1) ... 2731s Selecting previously unselected package hicolor-icon-theme. 2731s Preparing to unpack .../056-hicolor-icon-theme_0.17-2_all.deb ... 2731s Unpacking hicolor-icon-theme (0.17-2) ... 2731s Selecting previously unselected package humanity-icon-theme. 2731s Preparing to unpack .../057-humanity-icon-theme_0.6.16_all.deb ... 2731s Unpacking humanity-icon-theme (0.6.16) ... 2732s Selecting previously unselected package ubuntu-mono. 2732s Preparing to unpack .../058-ubuntu-mono_24.04-0ubuntu1_all.deb ... 2732s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 2732s Selecting previously unselected package adwaita-icon-theme. 2732s Preparing to unpack .../059-adwaita-icon-theme_46~rc-1_all.deb ... 2732s Unpacking adwaita-icon-theme (46~rc-1) ... 2732s Selecting previously unselected package libgtk2.0-0:arm64. 2732s Preparing to unpack .../060-libgtk2.0-0_2.24.33-2ubuntu2_arm64.deb ... 2732s Unpacking libgtk2.0-0:arm64 (2.24.33-2ubuntu2) ... 2732s Selecting previously unselected package libglvnd0:arm64. 2732s Preparing to unpack .../061-libglvnd0_1.7.0-1_arm64.deb ... 2732s Unpacking libglvnd0:arm64 (1.7.0-1) ... 2732s Selecting previously unselected package libglapi-mesa:arm64. 2732s Preparing to unpack .../062-libglapi-mesa_24.0.1-1ubuntu1_arm64.deb ... 2732s Unpacking libglapi-mesa:arm64 (24.0.1-1ubuntu1) ... 2732s Selecting previously unselected package libx11-xcb1:arm64. 2732s Preparing to unpack .../063-libx11-xcb1_2%3a1.8.7-1_arm64.deb ... 2732s Unpacking libx11-xcb1:arm64 (2:1.8.7-1) ... 2732s Selecting previously unselected package libxcb-dri2-0:arm64. 2732s Preparing to unpack .../064-libxcb-dri2-0_1.15-1_arm64.deb ... 2732s Unpacking libxcb-dri2-0:arm64 (1.15-1) ... 2732s Selecting previously unselected package libxcb-dri3-0:arm64. 2732s Preparing to unpack .../065-libxcb-dri3-0_1.15-1_arm64.deb ... 2732s Unpacking libxcb-dri3-0:arm64 (1.15-1) ... 2732s Selecting previously unselected package libxcb-glx0:arm64. 2732s Preparing to unpack .../066-libxcb-glx0_1.15-1_arm64.deb ... 2732s Unpacking libxcb-glx0:arm64 (1.15-1) ... 2732s Selecting previously unselected package libxcb-present0:arm64. 2732s Preparing to unpack .../067-libxcb-present0_1.15-1_arm64.deb ... 2732s Unpacking libxcb-present0:arm64 (1.15-1) ... 2732s Selecting previously unselected package libxcb-randr0:arm64. 2732s Preparing to unpack .../068-libxcb-randr0_1.15-1_arm64.deb ... 2732s Unpacking libxcb-randr0:arm64 (1.15-1) ... 2732s Selecting previously unselected package libxcb-sync1:arm64. 2732s Preparing to unpack .../069-libxcb-sync1_1.15-1_arm64.deb ... 2732s Unpacking libxcb-sync1:arm64 (1.15-1) ... 2732s Selecting previously unselected package libxcb-xfixes0:arm64. 2732s Preparing to unpack .../070-libxcb-xfixes0_1.15-1_arm64.deb ... 2732s Unpacking libxcb-xfixes0:arm64 (1.15-1) ... 2732s Selecting previously unselected package libxshmfence1:arm64. 2732s Preparing to unpack .../071-libxshmfence1_1.3-1build4_arm64.deb ... 2732s Unpacking libxshmfence1:arm64 (1.3-1build4) ... 2732s Selecting previously unselected package libxxf86vm1:arm64. 2732s Preparing to unpack .../072-libxxf86vm1_1%3a1.1.4-1build3_arm64.deb ... 2732s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build3) ... 2733s Selecting previously unselected package libvulkan1:arm64. 2733s Preparing to unpack .../073-libvulkan1_1.3.275.0-1_arm64.deb ... 2733s Unpacking libvulkan1:arm64 (1.3.275.0-1) ... 2733s Selecting previously unselected package libdrm-amdgpu1:arm64. 2733s Preparing to unpack .../074-libdrm-amdgpu1_2.4.120-2_arm64.deb ... 2733s Unpacking libdrm-amdgpu1:arm64 (2.4.120-2) ... 2733s Selecting previously unselected package libdrm-nouveau2:arm64. 2733s Preparing to unpack .../075-libdrm-nouveau2_2.4.120-2_arm64.deb ... 2733s Unpacking libdrm-nouveau2:arm64 (2.4.120-2) ... 2733s Selecting previously unselected package libdrm-radeon1:arm64. 2733s Preparing to unpack .../076-libdrm-radeon1_2.4.120-2_arm64.deb ... 2733s Unpacking libdrm-radeon1:arm64 (2.4.120-2) ... 2733s Selecting previously unselected package libllvm17:arm64. 2733s Preparing to unpack .../077-libllvm17_1%3a17.0.6-5build1_arm64.deb ... 2733s Unpacking libllvm17:arm64 (1:17.0.6-5build1) ... 2733s Selecting previously unselected package libgl1-mesa-dri:arm64. 2733s Preparing to unpack .../078-libgl1-mesa-dri_24.0.1-1ubuntu1_arm64.deb ... 2733s Unpacking libgl1-mesa-dri:arm64 (24.0.1-1ubuntu1) ... 2734s Selecting previously unselected package libglx-mesa0:arm64. 2734s Preparing to unpack .../079-libglx-mesa0_24.0.1-1ubuntu1_arm64.deb ... 2734s Unpacking libglx-mesa0:arm64 (24.0.1-1ubuntu1) ... 2734s Selecting previously unselected package libglx0:arm64. 2734s Preparing to unpack .../080-libglx0_1.7.0-1_arm64.deb ... 2734s Unpacking libglx0:arm64 (1.7.0-1) ... 2734s Selecting previously unselected package libgl1:arm64. 2734s Preparing to unpack .../081-libgl1_1.7.0-1_arm64.deb ... 2734s Unpacking libgl1:arm64 (1.7.0-1) ... 2734s Selecting previously unselected package libgif7:arm64. 2734s Preparing to unpack .../082-libgif7_5.2.1-2.5_arm64.deb ... 2734s Unpacking libgif7:arm64 (5.2.1-2.5) ... 2734s Selecting previously unselected package x11-common. 2734s Preparing to unpack .../083-x11-common_1%3a7.7+23ubuntu2_all.deb ... 2734s Unpacking x11-common (1:7.7+23ubuntu2) ... 2734s Selecting previously unselected package libxtst6:arm64. 2734s Preparing to unpack .../084-libxtst6_2%3a1.2.3-1.1_arm64.deb ... 2734s Unpacking libxtst6:arm64 (2:1.2.3-1.1) ... 2734s Selecting previously unselected package openjdk-21-jre:arm64. 2734s Preparing to unpack .../085-openjdk-21-jre_21.0.2+13-2_arm64.deb ... 2734s Unpacking openjdk-21-jre:arm64 (21.0.2+13-2) ... 2734s Selecting previously unselected package default-jre. 2734s Preparing to unpack .../086-default-jre_2%3a1.21-75+exp1_arm64.deb ... 2734s Unpacking default-jre (2:1.21-75+exp1) ... 2734s Selecting previously unselected package libhamcrest-java. 2734s Preparing to unpack .../087-libhamcrest-java_2.2-2_all.deb ... 2734s Unpacking libhamcrest-java (2.2-2) ... 2734s Selecting previously unselected package junit4. 2734s Preparing to unpack .../088-junit4_4.13.2-4_all.deb ... 2734s Unpacking junit4 (4.13.2-4) ... 2734s Selecting previously unselected package libcommons-cli-java. 2734s Preparing to unpack .../089-libcommons-cli-java_1.6.0-1_all.deb ... 2734s Unpacking libcommons-cli-java (1.6.0-1) ... 2734s Selecting previously unselected package libapache-pom-java. 2734s Preparing to unpack .../090-libapache-pom-java_29-2_all.deb ... 2734s Unpacking libapache-pom-java (29-2) ... 2734s Selecting previously unselected package libcommons-parent-java. 2734s Preparing to unpack .../091-libcommons-parent-java_56-1_all.deb ... 2734s Unpacking libcommons-parent-java (56-1) ... 2734s Selecting previously unselected package libcommons-io-java. 2734s Preparing to unpack .../092-libcommons-io-java_2.11.0-2_all.deb ... 2734s Unpacking libcommons-io-java (2.11.0-2) ... 2734s Selecting previously unselected package libdropwizard-metrics-java. 2734s Preparing to unpack .../093-libdropwizard-metrics-java_3.2.6-1_all.deb ... 2734s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 2734s Selecting previously unselected package libfindbugs-annotations-java. 2734s Preparing to unpack .../094-libfindbugs-annotations-java_3.1.0~preview2-3_all.deb ... 2734s Unpacking libfindbugs-annotations-java (3.1.0~preview2-3) ... 2734s Selecting previously unselected package libatinject-jsr330-api-java. 2734s Preparing to unpack .../095-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 2734s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 2734s Selecting previously unselected package liberror-prone-java. 2734s Preparing to unpack .../096-liberror-prone-java_2.18.0-1_all.deb ... 2734s Unpacking liberror-prone-java (2.18.0-1) ... 2734s Selecting previously unselected package libjsr305-java. 2734s Preparing to unpack .../097-libjsr305-java_0.1~+svn49-11_all.deb ... 2734s Unpacking libjsr305-java (0.1~+svn49-11) ... 2734s Selecting previously unselected package libguava-java. 2734s Preparing to unpack .../098-libguava-java_32.0.1-1_all.deb ... 2734s Unpacking libguava-java (32.0.1-1) ... 2734s Selecting previously unselected package libjackson2-annotations-java. 2734s Preparing to unpack .../099-libjackson2-annotations-java_2.14.0-1_all.deb ... 2734s Unpacking libjackson2-annotations-java (2.14.0-1) ... 2734s Selecting previously unselected package libjackson2-core-java. 2734s Preparing to unpack .../100-libjackson2-core-java_2.14.1-1_all.deb ... 2734s Unpacking libjackson2-core-java (2.14.1-1) ... 2734s Selecting previously unselected package libjackson2-databind-java. 2734s Preparing to unpack .../101-libjackson2-databind-java_2.14.0-1_all.deb ... 2734s Unpacking libjackson2-databind-java (2.14.0-1) ... 2734s Selecting previously unselected package libasm-java. 2734s Preparing to unpack .../102-libasm-java_9.6~us1-0ubuntu1_all.deb ... 2734s Unpacking libasm-java (9.6~us1-0ubuntu1) ... 2734s Selecting previously unselected package libel-api-java. 2734s Preparing to unpack .../103-libel-api-java_3.0.0-3_all.deb ... 2734s Unpacking libel-api-java (3.0.0-3) ... 2734s Selecting previously unselected package libjsp-api-java. 2734s Preparing to unpack .../104-libjsp-api-java_2.3.4-3_all.deb ... 2734s Unpacking libjsp-api-java (2.3.4-3) ... 2734s Selecting previously unselected package libservlet-api-java. 2734s Preparing to unpack .../105-libservlet-api-java_4.0.1-2_all.deb ... 2734s Unpacking libservlet-api-java (4.0.1-2) ... 2734s Selecting previously unselected package libwebsocket-api-java. 2734s Preparing to unpack .../106-libwebsocket-api-java_1.1-2_all.deb ... 2734s Unpacking libwebsocket-api-java (1.1-2) ... 2734s Selecting previously unselected package libjetty9-java. 2734s Preparing to unpack .../107-libjetty9-java_9.4.53-1_all.deb ... 2734s Unpacking libjetty9-java (9.4.53-1) ... 2734s Selecting previously unselected package libjnr-constants-java. 2734s Preparing to unpack .../108-libjnr-constants-java_0.10.4-2_all.deb ... 2734s Unpacking libjnr-constants-java (0.10.4-2) ... 2735s Selecting previously unselected package libjffi-jni:arm64. 2735s Preparing to unpack .../109-libjffi-jni_1.3.13+ds-1_arm64.deb ... 2735s Unpacking libjffi-jni:arm64 (1.3.13+ds-1) ... 2735s Selecting previously unselected package libjffi-java. 2735s Preparing to unpack .../110-libjffi-java_1.3.13+ds-1_all.deb ... 2735s Unpacking libjffi-java (1.3.13+ds-1) ... 2735s Selecting previously unselected package libjnr-x86asm-java. 2735s Preparing to unpack .../111-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 2735s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 2735s Selecting previously unselected package libjnr-ffi-java. 2735s Preparing to unpack .../112-libjnr-ffi-java_2.2.15-2_all.deb ... 2735s Unpacking libjnr-ffi-java (2.2.15-2) ... 2735s Selecting previously unselected package libjnr-enxio-java. 2735s Preparing to unpack .../113-libjnr-enxio-java_0.32.16-1_all.deb ... 2735s Unpacking libjnr-enxio-java (0.32.16-1) ... 2735s Selecting previously unselected package libjnr-posix-java. 2735s Preparing to unpack .../114-libjnr-posix-java_3.1.18-1_all.deb ... 2735s Unpacking libjnr-posix-java (3.1.18-1) ... 2735s Selecting previously unselected package libjnr-unixsocket-java. 2735s Preparing to unpack .../115-libjnr-unixsocket-java_0.38.21-2_all.deb ... 2735s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 2735s Selecting previously unselected package libactivation-java. 2735s Preparing to unpack .../116-libactivation-java_1.2.0-2_all.deb ... 2735s Unpacking libactivation-java (1.2.0-2) ... 2735s Selecting previously unselected package libmail-java. 2735s Preparing to unpack .../117-libmail-java_1.6.5-2_all.deb ... 2735s Unpacking libmail-java (1.6.5-2) ... 2735s Selecting previously unselected package libcommons-logging-java. 2735s Preparing to unpack .../118-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 2735s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 2735s Selecting previously unselected package libjaxb-api-java. 2735s Preparing to unpack .../119-libjaxb-api-java_2.3.1-1_all.deb ... 2735s Unpacking libjaxb-api-java (2.3.1-1) ... 2735s Selecting previously unselected package libspring-core-java. 2735s Preparing to unpack .../120-libspring-core-java_4.3.30-2_all.deb ... 2735s Unpacking libspring-core-java (4.3.30-2) ... 2735s Selecting previously unselected package libspring-beans-java. 2735s Preparing to unpack .../121-libspring-beans-java_4.3.30-2_all.deb ... 2735s Unpacking libspring-beans-java (4.3.30-2) ... 2735s Selecting previously unselected package libtaglibs-standard-spec-java. 2735s Preparing to unpack .../122-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 2735s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 2735s Selecting previously unselected package libtaglibs-standard-impl-java. 2735s Preparing to unpack .../123-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 2735s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 2735s Selecting previously unselected package libeclipse-jdt-core-java. 2735s Preparing to unpack .../124-libeclipse-jdt-core-java_3.32.0+eclipse4.26-2_all.deb ... 2735s Unpacking libeclipse-jdt-core-java (3.32.0+eclipse4.26-2) ... 2735s Selecting previously unselected package libtomcat9-java. 2735s Preparing to unpack .../125-libtomcat9-java_9.0.70-1ubuntu1_all.deb ... 2735s Unpacking libtomcat9-java (9.0.70-1ubuntu1) ... 2735s Selecting previously unselected package libjetty9-extra-java. 2735s Preparing to unpack .../126-libjetty9-extra-java_9.4.53-1_all.deb ... 2735s Unpacking libjetty9-extra-java (9.4.53-1) ... 2735s Selecting previously unselected package libjctools-java. 2735s Preparing to unpack .../127-libjctools-java_2.0.2-1_all.deb ... 2735s Unpacking libjctools-java (2.0.2-1) ... 2735s Selecting previously unselected package libnetty-java. 2735s Preparing to unpack .../128-libnetty-java_1%3a4.1.48-9_all.deb ... 2735s Unpacking libnetty-java (1:4.1.48-9) ... 2735s Selecting previously unselected package libslf4j-java. 2735s Preparing to unpack .../129-libslf4j-java_1.7.32-1_all.deb ... 2735s Unpacking libslf4j-java (1.7.32-1) ... 2735s Selecting previously unselected package libsnappy1v5:arm64. 2735s Preparing to unpack .../130-libsnappy1v5_1.1.10-1_arm64.deb ... 2735s Unpacking libsnappy1v5:arm64 (1.1.10-1) ... 2735s Selecting previously unselected package libsnappy-jni. 2735s Preparing to unpack .../131-libsnappy-jni_1.1.10.5-1_arm64.deb ... 2735s Unpacking libsnappy-jni (1.1.10.5-1) ... 2735s Selecting previously unselected package libsnappy-java. 2735s Preparing to unpack .../132-libsnappy-java_1.1.10.5-1_all.deb ... 2735s Unpacking libsnappy-java (1.1.10.5-1) ... 2735s Selecting previously unselected package libapr1:arm64. 2735s Preparing to unpack .../133-libapr1_1.7.2-3_arm64.deb ... 2735s Unpacking libapr1:arm64 (1.7.2-3) ... 2735s Selecting previously unselected package libnetty-tcnative-jni. 2735s Preparing to unpack .../134-libnetty-tcnative-jni_2.0.28-1build1_arm64.deb ... 2735s Unpacking libnetty-tcnative-jni (2.0.28-1build1) ... 2735s Selecting previously unselected package libnetty-tcnative-java. 2735s Preparing to unpack .../135-libnetty-tcnative-java_2.0.28-1build1_all.deb ... 2735s Unpacking libnetty-tcnative-java (2.0.28-1build1) ... 2735s Selecting previously unselected package liblog4j1.2-java. 2735s Preparing to unpack .../136-liblog4j1.2-java_1.2.17-11_all.deb ... 2735s Unpacking liblog4j1.2-java (1.2.17-11) ... 2735s Selecting previously unselected package libzookeeper-java. 2735s Preparing to unpack .../137-libzookeeper-java_3.9.1-1build1_all.deb ... 2735s Unpacking libzookeeper-java (3.9.1-1build1) ... 2735s Selecting previously unselected package zookeeper. 2735s Preparing to unpack .../138-zookeeper_3.9.1-1build1_all.deb ... 2735s Unpacking zookeeper (3.9.1-1build1) ... 2735s Selecting previously unselected package zookeeperd. 2735s Preparing to unpack .../139-zookeeperd_3.9.1-1build1_all.deb ... 2735s Unpacking zookeeperd (3.9.1-1build1) ... 2735s Selecting previously unselected package fonts-font-awesome. 2736s Preparing to unpack .../140-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2736s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2736s Selecting previously unselected package libio-pty-perl. 2736s Preparing to unpack .../141-libio-pty-perl_1%3a1.20-1_arm64.deb ... 2736s Unpacking libio-pty-perl (1:1.20-1) ... 2736s Selecting previously unselected package libipc-run-perl. 2736s Preparing to unpack .../142-libipc-run-perl_20231003.0-1_all.deb ... 2736s Unpacking libipc-run-perl (20231003.0-1) ... 2736s Selecting previously unselected package libjs-jquery. 2736s Preparing to unpack .../143-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2736s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2736s Selecting previously unselected package libjs-underscore. 2736s Preparing to unpack .../144-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2736s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2736s Selecting previously unselected package libjs-sphinxdoc. 2736s Preparing to unpack .../145-libjs-sphinxdoc_7.2.6-4_all.deb ... 2736s Unpacking libjs-sphinxdoc (7.2.6-4) ... 2736s Selecting previously unselected package libpq5:arm64. 2736s Preparing to unpack .../146-libpq5_16.2-1_arm64.deb ... 2736s Unpacking libpq5:arm64 (16.2-1) ... 2736s Selecting previously unselected package libtime-duration-perl. 2736s Preparing to unpack .../147-libtime-duration-perl_1.21-2_all.deb ... 2736s Unpacking libtime-duration-perl (1.21-2) ... 2736s Selecting previously unselected package libtimedate-perl. 2736s Preparing to unpack .../148-libtimedate-perl_2.3300-2_all.deb ... 2736s Unpacking libtimedate-perl (2.3300-2) ... 2736s Selecting previously unselected package libxslt1.1:arm64. 2736s Preparing to unpack .../149-libxslt1.1_1.1.39-0exp1_arm64.deb ... 2736s Unpacking libxslt1.1:arm64 (1.1.39-0exp1) ... 2736s Selecting previously unselected package moreutils. 2736s Preparing to unpack .../150-moreutils_0.69-1_arm64.deb ... 2736s Unpacking moreutils (0.69-1) ... 2736s Selecting previously unselected package python3-cdiff. 2736s Preparing to unpack .../151-python3-cdiff_1.0-1.1_all.deb ... 2736s Unpacking python3-cdiff (1.0-1.1) ... 2736s Selecting previously unselected package python3-colorama. 2736s Preparing to unpack .../152-python3-colorama_0.4.6-4_all.deb ... 2736s Unpacking python3-colorama (0.4.6-4) ... 2736s Selecting previously unselected package python3-click. 2736s Preparing to unpack .../153-python3-click_8.1.6-1_all.deb ... 2736s Unpacking python3-click (8.1.6-1) ... 2736s Selecting previously unselected package python3-dateutil. 2736s Preparing to unpack .../154-python3-dateutil_2.8.2-3_all.deb ... 2736s Unpacking python3-dateutil (2.8.2-3) ... 2736s Selecting previously unselected package python3-wcwidth. 2736s Preparing to unpack .../155-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 2736s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 2736s Selecting previously unselected package python3-prettytable. 2736s Preparing to unpack .../156-python3-prettytable_3.6.0-1_all.deb ... 2736s Unpacking python3-prettytable (3.6.0-1) ... 2736s Selecting previously unselected package python3-psutil. 2736s Preparing to unpack .../157-python3-psutil_5.9.8-1_arm64.deb ... 2736s Unpacking python3-psutil (5.9.8-1) ... 2736s Selecting previously unselected package python3-psycopg2. 2736s Preparing to unpack .../158-python3-psycopg2_2.9.9-1_arm64.deb ... 2736s Unpacking python3-psycopg2 (2.9.9-1) ... 2736s Selecting previously unselected package python3-greenlet. 2736s Preparing to unpack .../159-python3-greenlet_3.0.1-2_arm64.deb ... 2736s Unpacking python3-greenlet (3.0.1-2) ... 2736s Selecting previously unselected package python3-dnspython. 2736s Preparing to unpack .../160-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 2736s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 2736s Selecting previously unselected package python3-eventlet. 2736s Preparing to unpack .../161-python3-eventlet_0.35.1-0ubuntu1_all.deb ... 2736s Unpacking python3-eventlet (0.35.1-0ubuntu1) ... 2736s Selecting previously unselected package python3-zope.event. 2736s Preparing to unpack .../162-python3-zope.event_5.0-0.1_all.deb ... 2736s Unpacking python3-zope.event (5.0-0.1) ... 2736s Selecting previously unselected package python3-zope.interface. 2736s Preparing to unpack .../163-python3-zope.interface_6.1-1_arm64.deb ... 2736s Unpacking python3-zope.interface (6.1-1) ... 2736s Selecting previously unselected package libc-ares2:arm64. 2736s Preparing to unpack .../164-libc-ares2_1.27.0-1_arm64.deb ... 2736s Unpacking libc-ares2:arm64 (1.27.0-1) ... 2736s Selecting previously unselected package libev4:arm64. 2736s Preparing to unpack .../165-libev4_1%3a4.33-2_arm64.deb ... 2736s Unpacking libev4:arm64 (1:4.33-2) ... 2736s Selecting previously unselected package python3-gevent. 2736s Preparing to unpack .../166-python3-gevent_23.9.1-0.2_arm64.deb ... 2736s Unpacking python3-gevent (23.9.1-0.2) ... 2736s Selecting previously unselected package python3-kerberos. 2736s Preparing to unpack .../167-python3-kerberos_1.1.14-3.1build8_arm64.deb ... 2736s Unpacking python3-kerberos (1.1.14-3.1build8) ... 2736s Selecting previously unselected package python3-pure-sasl. 2736s Preparing to unpack .../168-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 2736s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 2736s Selecting previously unselected package python3-kazoo. 2736s Preparing to unpack .../169-python3-kazoo_2.9.0-2_all.deb ... 2736s Unpacking python3-kazoo (2.9.0-2) ... 2736s Selecting previously unselected package patroni. 2736s Preparing to unpack .../170-patroni_3.2.2-2_all.deb ... 2736s Unpacking patroni (3.2.2-2) ... 2737s Selecting previously unselected package sphinx-rtd-theme-common. 2737s Preparing to unpack .../171-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 2737s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 2737s Selecting previously unselected package patroni-doc. 2737s Preparing to unpack .../172-patroni-doc_3.2.2-2_all.deb ... 2737s Unpacking patroni-doc (3.2.2-2) ... 2737s Selecting previously unselected package postgresql-client-16. 2737s Preparing to unpack .../173-postgresql-client-16_16.2-1_arm64.deb ... 2737s Unpacking postgresql-client-16 (16.2-1) ... 2737s Selecting previously unselected package postgresql-16. 2737s Preparing to unpack .../174-postgresql-16_16.2-1_arm64.deb ... 2737s Unpacking postgresql-16 (16.2-1) ... 2737s Selecting previously unselected package postgresql. 2737s Preparing to unpack .../175-postgresql_16+257_all.deb ... 2737s Unpacking postgresql (16+257) ... 2737s Selecting previously unselected package python3-parse. 2737s Preparing to unpack .../176-python3-parse_1.19.0-0.2_all.deb ... 2737s Unpacking python3-parse (1.19.0-0.2) ... 2737s Selecting previously unselected package python3-parse-type. 2737s Preparing to unpack .../177-python3-parse-type_0.6.2-1_all.deb ... 2737s Unpacking python3-parse-type (0.6.2-1) ... 2737s Selecting previously unselected package python3-behave. 2737s Preparing to unpack .../178-python3-behave_1.2.6-5_all.deb ... 2737s Unpacking python3-behave (1.2.6-5) ... 2737s Selecting previously unselected package python3-coverage. 2737s Preparing to unpack .../179-python3-coverage_7.3.2-0ubuntu1_arm64.deb ... 2737s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 2737s Selecting previously unselected package autopkgtest-satdep. 2737s Preparing to unpack .../180-5-autopkgtest-satdep.deb ... 2737s Unpacking autopkgtest-satdep (0) ... 2737s Setting up postgresql-client-common (257) ... 2737s Setting up libgraphite2-3:arm64 (1.3.14-2) ... 2737s Setting up libxcb-dri3-0:arm64 (1.15-1) ... 2737s Setting up liblcms2-2:arm64 (2.14-2) ... 2737s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 2737s Setting up libpixman-1-0:arm64 (0.42.2-1) ... 2737s Setting up libjackson2-annotations-java (2.14.0-1) ... 2737s Setting up libsharpyuv0:arm64 (1.3.2-0.4) ... 2737s Setting up libx11-xcb1:arm64 (2:1.8.7-1) ... 2737s Setting up libslf4j-java (1.7.32-1) ... 2737s Setting up libdrm-nouveau2:arm64 (2.4.120-2) ... 2737s Setting up fonts-lato (2.015-1) ... 2737s Setting up libxdamage1:arm64 (1:1.1.6-1) ... 2737s Setting up libxcb-xfixes0:arm64 (1.15-1) ... 2737s Setting up liblerc4:arm64 (4.0.0+ds-4ubuntu1) ... 2737s Setting up libjsr305-java (0.1~+svn49-11) ... 2737s Setting up hicolor-icon-theme (0.17-2) ... 2737s Setting up libxi6:arm64 (2:1.8.1-1) ... 2737s Setting up java-common (0.75+exp1) ... 2737s Setting up libxrender1:arm64 (1:0.9.10-1.1) ... 2737s Setting up libdatrie1:arm64 (0.2.13-3) ... 2737s Setting up libcommons-cli-java (1.6.0-1) ... 2737s Setting up libio-pty-perl (1:1.20-1) ... 2737s Setting up python3-colorama (0.4.6-4) ... 2738s Setting up libxcb-render0:arm64 (1.15-1) ... 2738s Setting up python3-zope.event (5.0-0.1) ... 2738s Setting up python3-zope.interface (6.1-1) ... 2738s Setting up libdrm-radeon1:arm64 (2.4.120-2) ... 2738s Setting up libglvnd0:arm64 (1.7.0-1) ... 2738s Setting up libev4:arm64 (1:4.33-2) ... 2738s Setting up libxcb-glx0:arm64 (1.15-1) ... 2738s Setting up python3-cdiff (1.0-1.1) ... 2738s Setting up libgdk-pixbuf2.0-common (2.42.10+dfsg-3) ... 2738s Setting up libasm-java (9.6~us1-0ubuntu1) ... 2738s Setting up x11-common (1:7.7+23ubuntu2) ... 2738s Setting up libpq5:arm64 (16.2-1) ... 2738s Setting up libdeflate0:arm64 (1.19-1) ... 2738s Setting up libapr1:arm64 (1.7.2-3) ... 2738s Setting up python3-kerberos (1.1.14-3.1build8) ... 2738s Setting up liblog4j1.2-java (1.2.17-11) ... 2738s Setting up libel-api-java (3.0.0-3) ... 2738s Setting up python3-coverage (7.3.2-0ubuntu1) ... 2739s Setting up libxcb-shm0:arm64 (1.15-1) ... 2739s Setting up libc-ares2:arm64 (1.27.0-1) ... 2739s Setting up python3-click (8.1.6-1) ... 2739s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 2739s Setting up libjbig0:arm64 (2.1-6.1ubuntu1) ... 2739s Setting up python3-psutil (5.9.8-1) ... 2739s Setting up libeclipse-jdt-core-java (3.32.0+eclipse4.26-2) ... 2739s Setting up libxxf86vm1:arm64 (1:1.1.4-1build3) ... 2739s Setting up libsnappy1v5:arm64 (1.1.10-1) ... 2739s Setting up libxcb-present0:arm64 (1.15-1) ... 2739s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 2739s Setting up libjctools-java (2.0.2-1) ... 2739s Setting up libdropwizard-metrics-java (3.2.6-1) ... 2739s Setting up libasound2-data (1.2.10-3build1) ... 2739s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 2739s Setting up libfindbugs-annotations-java (3.1.0~preview2-3) ... 2739s Setting up libnetty-tcnative-jni (2.0.28-1build1) ... 2739s Setting up ssl-cert (1.1.2ubuntu1) ... 2740s Created symlink /etc/systemd/system/multi-user.target.wants/ssl-cert.service → /usr/lib/systemd/system/ssl-cert.service. 2740s Setting up libxfixes3:arm64 (1:6.0.0-2) ... 2740s Setting up libxcb-sync1:arm64 (1.15-1) ... 2740s Setting up libapache-pom-java (29-2) ... 2740s Setting up libavahi-common-data:arm64 (0.8-13ubuntu2) ... 2740s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 2740s Setting up libwebsocket-api-java (1.1-2) ... 2740s Setting up python3-greenlet (3.0.1-2) ... 2741s Setting up libxinerama1:arm64 (2:1.1.4-3) ... 2741s Setting up fonts-dejavu-mono (2.37-8) ... 2741s Setting up libxrandr2:arm64 (2:1.5.2-2) ... 2741s Setting up python3-psycopg2 (2.9.9-1) ... 2741s Setting up fonts-dejavu-core (2.37-8) ... 2741s Setting up libipc-run-perl (20231003.0-1) ... 2741s Setting up libpcsclite1:arm64 (2.0.0-1) ... 2741s Setting up libjpeg-turbo8:arm64 (2.1.5-2ubuntu1) ... 2741s Setting up libactivation-java (1.2.0-2) ... 2741s Setting up libtomcat9-java (9.0.70-1ubuntu1) ... 2741s Setting up libhamcrest-java (2.2-2) ... 2741s Setting up libglapi-mesa:arm64 (24.0.1-1ubuntu1) ... 2741s Setting up libjsp-api-java (2.3.4-3) ... 2741s Setting up libvulkan1:arm64 (1.3.275.0-1) ... 2741s Setting up libtime-duration-perl (1.21-2) ... 2741s Setting up libwebp7:arm64 (1.3.2-0.4) ... 2741s Setting up libtimedate-perl (2.3300-2) ... 2741s Setting up libxcb-dri2-0:arm64 (1.15-1) ... 2741s Setting up libgif7:arm64 (5.2.1-2.5) ... 2741s Setting up libxshmfence1:arm64 (1.3-1build4) ... 2741s Setting up libmail-java (1.6.5-2) ... 2741s Setting up at-spi2-common (2.50.0-1) ... 2741s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 2741s Setting up libnetty-java (1:4.1.48-9) ... 2741s Setting up libxcb-randr0:arm64 (1.15-1) ... 2741s Setting up python3-parse (1.19.0-0.2) ... 2741s Setting up libjson-perl (4.10000-1) ... 2741s Setting up libasound2:arm64 (1.2.10-3build1) ... 2741s Setting up libxslt1.1:arm64 (1.1.39-0exp1) ... 2741s Setting up libservlet-api-java (4.0.1-2) ... 2741s Setting up libjackson2-core-java (2.14.1-1) ... 2741s Setting up libharfbuzz0b:arm64 (8.3.0-2) ... 2741s Setting up libthai-data (0.1.29-2) ... 2741s Setting up python3-dateutil (2.8.2-3) ... 2741s Setting up libgtk2.0-common (2.24.33-2ubuntu2) ... 2741s Setting up libjffi-jni:arm64 (1.3.13+ds-1) ... 2741s Setting up libatk1.0-0:arm64 (2.50.0-1) ... 2741s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2741s Setting up ca-certificates-java (20240118) ... 2741s No JRE found. Skipping Java certificates setup. 2741s Setting up python3-prettytable (3.6.0-1) ... 2742s Setting up libllvm17:arm64 (1:17.0.6-5build1) ... 2742s Setting up libsnappy-jni (1.1.10.5-1) ... 2742s Setting up libxcomposite1:arm64 (1:0.4.5-1build2) ... 2742s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2742s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 2742s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2742s Setting up libdrm-amdgpu1:arm64 (2.4.120-2) ... 2742s Setting up libjnr-constants-java (0.10.4-2) ... 2742s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 2742s Setting up libjaxb-api-java (2.3.1-1) ... 2742s Setting up libjffi-java (1.3.13+ds-1) ... 2742s Setting up libjetty9-java (9.4.53-1) ... 2742s Setting up moreutils (0.69-1) ... 2742s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 2742s Setting up fontconfig-config (2.15.0-1ubuntu1) ... 2742s Setting up libxtst6:arm64 (2:1.2.3-1.1) ... 2742s Setting up libxcursor1:arm64 (1:1.2.1-1) ... 2742s Setting up postgresql-client-16 (16.2-1) ... 2742s 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 2742s Setting up libgl1-mesa-dri:arm64 (24.0.1-1ubuntu1) ... 2742s Setting up libcommons-parent-java (56-1) ... 2742s Setting up libavahi-common3:arm64 (0.8-13ubuntu2) ... 2742s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 2742s Setting up python3-gevent (23.9.1-0.2) ... 2743s Setting up libjackson2-databind-java (2.14.0-1) ... 2743s Setting up libthai0:arm64 (0.1.29-2) ... 2743s Setting up python3-parse-type (0.6.2-1) ... 2743s Setting up python3-eventlet (0.35.1-0ubuntu1) ... 2743s Setting up python3-kazoo (2.9.0-2) ... 2743s Setting up postgresql-common (257) ... 2743s 2743s Creating config file /etc/postgresql-common/createcluster.conf with new version 2744s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2744s Removing obsolete dictionary files: 2744s Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. 2745s Setting up libjs-sphinxdoc (7.2.6-4) ... 2745s Setting up libtiff6:arm64 (4.5.1+git230720-3ubuntu1) ... 2745s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.10+dfsg-3) ... 2745s Setting up python3-behave (1.2.6-5) ... 2745s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2745s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2745s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2745s """Registers a custom type that will be available to "parse" 2745s Setting up libsnappy-java (1.1.10.5-1) ... 2745s Setting up libfontconfig1:arm64 (2.15.0-1ubuntu1) ... 2745s Setting up patroni (3.2.2-2) ... 2745s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 2746s Setting up libavahi-client3:arm64 (0.8-13ubuntu2) ... 2746s Setting up libjnr-ffi-java (2.2.15-2) ... 2746s Setting up gtk-update-icon-cache (3.24.40-2ubuntu1) ... 2746s Setting up fontconfig (2.15.0-1ubuntu1) ... 2748s Regenerating fonts cache... done. 2748s Setting up libglx-mesa0:arm64 (24.0.1-1ubuntu1) ... 2748s Setting up postgresql-16 (16.2-1) ... 2748s Creating new PostgreSQL cluster 16/main ... 2748s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2748s The files belonging to this database system will be owned by user "postgres". 2748s This user must also own the server process. 2748s 2748s The database cluster will be initialized with locale "C.UTF-8". 2748s The default database encoding has accordingly been set to "UTF8". 2748s The default text search configuration will be set to "english". 2748s 2748s Data page checksums are disabled. 2748s 2748s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2748s creating subdirectories ... ok 2748s selecting dynamic shared memory implementation ... posix 2748s selecting default max_connections ... 100 2748s selecting default shared_buffers ... 128MB 2748s selecting default time zone ... Etc/UTC 2748s creating configuration files ... ok 2748s running bootstrap script ... ok 2749s performing post-bootstrap initialization ... ok 2749s syncing data to disk ... ok 2752s Setting up libglx0:arm64 (1.7.0-1) ... 2752s Setting up libspring-core-java (4.3.30-2) ... 2752s Setting up libcommons-io-java (2.11.0-2) ... 2752s Setting up patroni-doc (3.2.2-2) ... 2752s Setting up libpango-1.0-0:arm64 (1.51.0+ds-4) ... 2752s Setting up libcairo2:arm64 (1.18.0-1) ... 2752s Setting up libjnr-enxio-java (0.32.16-1) ... 2752s Setting up libgl1:arm64 (1.7.0-1) ... 2752s Setting up libcups2:arm64 (2.4.6-0ubuntu3) ... 2752s Setting up postgresql (16+257) ... 2752s Setting up libpangoft2-1.0-0:arm64 (1.51.0+ds-4) ... 2752s Setting up libjnr-posix-java (3.1.18-1) ... 2752s Setting up libpangocairo-1.0-0:arm64 (1.51.0+ds-4) ... 2752s Setting up libspring-beans-java (4.3.30-2) ... 2752s Setting up openjdk-21-jre-headless:arm64 (21.0.2+13-2) ... 2752s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/java to provide /usr/bin/java (java) in auto mode 2752s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 2752s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 2752s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 2752s update-alternatives: using /usr/lib/jvm/java-21-openjdk-arm64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 2752s Setting up libjnr-unixsocket-java (0.38.21-2) ... 2752s Setting up libjetty9-extra-java (9.4.53-1) ... 2752s Setting up libguava-java (32.0.1-1) ... 2752s Setting up adwaita-icon-theme (46~rc-1) ... 2752s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 2752s Setting up liberror-prone-java (2.18.0-1) ... 2752s Setting up libgtk2.0-0:arm64 (2.24.33-2ubuntu2) ... 2752s Setting up humanity-icon-theme (0.6.16) ... 2752s Setting up ubuntu-mono (24.04-0ubuntu1) ... 2752s Processing triggers for man-db (2.12.0-3) ... 2753s Processing triggers for libc-bin (2.39-0ubuntu6) ... 2753s Processing triggers for ca-certificates-java (20240118) ... 2753s Adding debian:ACCVRAIZ1.pem 2753s Adding debian:AC_RAIZ_FNMT-RCM.pem 2753s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 2753s Adding debian:ANF_Secure_Server_Root_CA.pem 2753s Adding debian:Actalis_Authentication_Root_CA.pem 2753s Adding debian:AffirmTrust_Commercial.pem 2753s Adding debian:AffirmTrust_Networking.pem 2753s Adding debian:AffirmTrust_Premium.pem 2753s Adding debian:AffirmTrust_Premium_ECC.pem 2753s Adding debian:Amazon_Root_CA_1.pem 2753s Adding debian:Amazon_Root_CA_2.pem 2753s Adding debian:Amazon_Root_CA_3.pem 2753s Adding debian:Amazon_Root_CA_4.pem 2753s Adding debian:Atos_TrustedRoot_2011.pem 2753s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 2753s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 2753s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 2753s Adding debian:BJCA_Global_Root_CA1.pem 2753s Adding debian:BJCA_Global_Root_CA2.pem 2753s Adding debian:Baltimore_CyberTrust_Root.pem 2753s Adding debian:Buypass_Class_2_Root_CA.pem 2753s Adding debian:Buypass_Class_3_Root_CA.pem 2753s Adding debian:CA_Disig_Root_R2.pem 2753s Adding debian:CFCA_EV_ROOT.pem 2753s Adding debian:COMODO_Certification_Authority.pem 2753s Adding debian:COMODO_ECC_Certification_Authority.pem 2753s Adding debian:COMODO_RSA_Certification_Authority.pem 2753s Adding debian:Certainly_Root_E1.pem 2753s Adding debian:Certainly_Root_R1.pem 2753s Adding debian:Certigna.pem 2753s Adding debian:Certigna_Root_CA.pem 2753s Adding debian:Certum_EC-384_CA.pem 2753s Adding debian:Certum_Trusted_Network_CA.pem 2753s Adding debian:Certum_Trusted_Network_CA_2.pem 2753s Adding debian:Certum_Trusted_Root_CA.pem 2753s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 2753s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 2753s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 2753s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 2753s Adding debian:Comodo_AAA_Services_root.pem 2753s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 2753s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 2753s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 2753s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 2753s Adding debian:DigiCert_Assured_ID_Root_CA.pem 2753s Adding debian:DigiCert_Assured_ID_Root_G2.pem 2753s Adding debian:DigiCert_Assured_ID_Root_G3.pem 2753s Adding debian:DigiCert_Global_Root_CA.pem 2753s Adding debian:DigiCert_Global_Root_G2.pem 2753s Adding debian:DigiCert_Global_Root_G3.pem 2753s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 2753s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 2753s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 2753s Adding debian:DigiCert_Trusted_Root_G4.pem 2753s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 2753s Adding debian:Entrust_Root_Certification_Authority.pem 2753s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 2753s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 2753s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 2753s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 2753s Adding debian:GLOBALTRUST_2020.pem 2753s Adding debian:GTS_Root_R1.pem 2753s Adding debian:GTS_Root_R2.pem 2753s Adding debian:GTS_Root_R3.pem 2753s Adding debian:GTS_Root_R4.pem 2753s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 2753s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 2753s Adding debian:GlobalSign_Root_CA.pem 2753s Adding debian:GlobalSign_Root_CA_-_R3.pem 2753s Adding debian:GlobalSign_Root_CA_-_R6.pem 2753s Adding debian:GlobalSign_Root_E46.pem 2753s Adding debian:GlobalSign_Root_R46.pem 2753s Adding debian:Go_Daddy_Class_2_CA.pem 2753s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 2753s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 2753s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 2753s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 2753s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 2753s Adding debian:HiPKI_Root_CA_-_G1.pem 2753s Adding debian:Hongkong_Post_Root_CA_3.pem 2753s Adding debian:ISRG_Root_X1.pem 2753s Adding debian:ISRG_Root_X2.pem 2753s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 2753s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 2753s Adding debian:Izenpe.com.pem 2753s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 2753s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 2753s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 2753s Adding debian:NAVER_Global_Root_Certification_Authority.pem 2753s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 2753s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 2753s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 2753s Adding debian:QuoVadis_Root_CA_1_G3.pem 2753s Adding debian:QuoVadis_Root_CA_2.pem 2753s Adding debian:QuoVadis_Root_CA_2_G3.pem 2753s Adding debian:QuoVadis_Root_CA_3.pem 2753s Adding debian:QuoVadis_Root_CA_3_G3.pem 2753s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 2753s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 2753s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 2753s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 2753s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 2753s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 2753s Adding debian:SZAFIR_ROOT_CA2.pem 2753s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 2753s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 2753s Adding debian:SecureSign_RootCA11.pem 2753s Adding debian:SecureTrust_CA.pem 2753s Adding debian:Secure_Global_CA.pem 2753s Adding debian:Security_Communication_ECC_RootCA1.pem 2753s Adding debian:Security_Communication_RootCA2.pem 2753s Adding debian:Security_Communication_RootCA3.pem 2753s Adding debian:Security_Communication_Root_CA.pem 2753s Adding debian:Starfield_Class_2_CA.pem 2753s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 2753s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 2753s Adding debian:SwissSign_Gold_CA_-_G2.pem 2753s Adding debian:SwissSign_Silver_CA_-_G2.pem 2753s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 2753s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 2753s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 2753s Adding debian:TWCA_Global_Root_CA.pem 2753s Adding debian:TWCA_Root_Certification_Authority.pem 2753s Adding debian:TeliaSonera_Root_CA_v1.pem 2753s Adding debian:Telia_Root_CA_v2.pem 2753s Adding debian:TrustAsia_Global_Root_CA_G3.pem 2753s Adding debian:TrustAsia_Global_Root_CA_G4.pem 2753s Adding debian:Trustwave_Global_Certification_Authority.pem 2754s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 2754s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 2754s Adding debian:TunTrust_Root_CA.pem 2754s Adding debian:UCA_Extended_Validation_Root.pem 2754s Adding debian:UCA_Global_G2_Root.pem 2754s Adding debian:USERTrust_ECC_Certification_Authority.pem 2754s Adding debian:USERTrust_RSA_Certification_Authority.pem 2754s Adding debian:XRamp_Global_CA_Root.pem 2754s Adding debian:certSIGN_ROOT_CA.pem 2754s Adding debian:certSIGN_Root_CA_G2.pem 2754s Adding debian:e-Szigno_Root_CA_2017.pem 2754s Adding debian:ePKI_Root_Certification_Authority.pem 2754s Adding debian:emSign_ECC_Root_CA_-_C3.pem 2754s Adding debian:emSign_ECC_Root_CA_-_G3.pem 2754s Adding debian:emSign_Root_CA_-_C1.pem 2754s Adding debian:emSign_Root_CA_-_G1.pem 2754s Adding debian:vTrus_ECC_Root_CA.pem 2754s Adding debian:vTrus_Root_CA.pem 2754s done. 2754s Setting up openjdk-21-jre:arm64 (21.0.2+13-2) ... 2754s Setting up junit4 (4.13.2-4) ... 2754s Setting up default-jre-headless (2:1.21-75+exp1) ... 2754s Setting up default-jre (2:1.21-75+exp1) ... 2754s Setting up libnetty-tcnative-java (2.0.28-1build1) ... 2754s Setting up libzookeeper-java (3.9.1-1build1) ... 2754s Setting up zookeeper (3.9.1-1build1) ... 2754s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 2754s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 2754s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 2754s Setting up zookeeperd (3.9.1-1build1) ... 2754s Setting up autopkgtest-satdep (0) ... 2762s (Reading database ... 95126 files and directories currently installed.) 2762s Removing autopkgtest-satdep (0) ... 2764s autopkgtest [06:10:46]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 2764s autopkgtest [06:10:46]: test acceptance-zookeeper: [----------------------- 2769s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2769s ++ ls -1r /usr/lib/postgresql/ 2769s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2769s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 2769s + '[' 16 == 10 ']' 2769s + SKIP= 2769s + 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' 2769s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 2770s Mar 24 06:10:52 Feature: basic replication # features/basic_replication.feature:1 2770s Mar 24 06:10:52 We should check that the basic bootstrapping, replication and failover works. 2770s Mar 24 06:10:52 Scenario: check replication of a single table # features/basic_replication.feature:4 2770s Mar 24 06:10:52 Given I start postgres0 # features/steps/basic_replication.py:8 2773s Mar 24 06:10:55 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2773s Mar 24 06:10:55 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2773s Mar 24 06:10:55 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 2773s Mar 24 06:10:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 2773s Mar 24 06:10:55 When I start postgres1 # features/steps/basic_replication.py:8 2776s Mar 24 06:10:58 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2779s Mar 24 06:11:01 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2779s Mar 24 06:11:01 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 2779s Mar 24 06:11:01 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 2780s Mar 24 06:11:02 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 2784s Mar 24 06:11:06 2784s Mar 24 06:11:06 Scenario: check restart of sync replica # features/basic_replication.feature:17 2784s Mar 24 06:11:06 Given I shut down postgres2 # features/steps/basic_replication.py:29 2785s Mar 24 06:11:07 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2785s Mar 24 06:11:07 When I start postgres2 # features/steps/basic_replication.py:8 2788s Mar 24 06:11:09 And I shut down postgres1 # features/steps/basic_replication.py:29 2792s Mar 24 06:11:12 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2792s Mar 24 06:11:13 When I start postgres1 # features/steps/basic_replication.py:8 2794s Mar 24 06:11:16 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2794s Mar 24 06:11:16 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2794s Mar 24 06:11:16 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2794s Mar 24 06:11:16 2794s Mar 24 06:11:16 Scenario: check stuck sync replica # features/basic_replication.feature:28 2794s Mar 24 06:11:16 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": true, "maximum_lag_on_syncnode": 15000000, "postgresql": {"parameters": {"synchronous_commit": "remote_apply"}}} # features/steps/patroni_api.py:71 2794s Mar 24 06:11:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 2794s Mar 24 06:11:16 And I create table on postgres0 # features/steps/basic_replication.py:69 2794s Mar 24 06:11:16 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 2795s Mar 24 06:11:17 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 2795s Mar 24 06:11:17 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 2795s Mar 24 06:11:17 And I load data on postgres0 # features/steps/basic_replication.py:80 2796s Mar 24 06:11:18 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2799s Mar 24 06:11:21 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 2799s Mar 24 06:11:21 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2800s Mar 24 06:11:22 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2800s Mar 24 06:11: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 2800s Mar 24 06:11:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2800s Mar 24 06:11:22 And I drop table on postgres0 # features/steps/basic_replication.py:69 2800s Mar 24 06:11:22 2800s Mar 24 06:11:22 Scenario: check multi sync replication # features/basic_replication.feature:44 2800s Mar 24 06:11: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 2800s Mar 24 06:11:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2800s Mar 24 06:11:22 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2804s Mar 24 06:11:26 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2804s Mar 24 06:11:26 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2804s Mar 24 06:11: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 2804s Mar 24 06:11:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 2804s Mar 24 06:11:26 And I shut down postgres1 # features/steps/basic_replication.py:29 2807s Mar 24 06:11:29 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2808s Mar 24 06:11:30 When I start postgres1 # features/steps/basic_replication.py:8 2810s Mar 24 06:11:32 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2811s Mar 24 06:11:33 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2811s Mar 24 06:11:33 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2811s Mar 24 06:11:33 2811s Mar 24 06:11:33 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2811s Mar 24 06:11:33 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2813s Mar 24 06:11:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2813s Mar 24 06:11:35 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2815s Mar 24 06:11:37 And I shut down postgres0 # features/steps/basic_replication.py:29 2816s Mar 24 06:11:38 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2817s Mar 24 06:11:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2817s Mar 24 06:11:39 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 2837s Mar 24 06:11:59 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2840s Mar 24 06:12:02 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2840s Mar 24 06:12:02 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 2840s Mar 24 06:12:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 2840s Mar 24 06:12:02 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 2840s Mar 24 06:12:02 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 2843s Mar 24 06:12: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 2843s Mar 24 06:12:05 2843s Mar 24 06:12:05 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2843s Mar 24 06:12:05 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 2843s Mar 24 06:12:05 And I start postgres0 # features/steps/basic_replication.py:8 2843s Mar 24 06:12:05 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 2849s Mar 24 06:12:11 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 2849s Mar 24 06:12:11 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 2850s Mar 24 06:12:12 2850s Mar 24 06:12:12 @reject-duplicate-name 2850s Mar 24 06:12:12 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2850s Mar 24 06:12:12 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 2853s Mar 24 06:12:14 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:117 2857s Mar 24 06:12:19 2857s Mar 24 06:12:19 Feature: cascading replication # features/cascading_replication.feature:1 2857s Mar 24 06:12:19 We should check that patroni can do base backup and streaming from the replica 2857s Mar 24 06:12:19 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2857s Mar 24 06:12:19 Given I start postgres0 # features/steps/basic_replication.py:8 2860s Mar 24 06:12:22 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2860s Mar 24 06:12:22 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2863s Mar 24 06:12:25 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 2864s Mar 24 06:12:26 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2864s Mar 24 06:12:26 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2864s Mar 24 06:12:26 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2864s Mar 24 06:12:26 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2866s Mar 24 06:12:28 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:108 2871s Mar 24 06:12:33 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2876s Mar 24 06:12:38 2876s SKIP FEATURE citus: Citus extenstion isn't available 2876s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2876s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2876s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2876s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2876s 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 2876s Mar 24 06:12:38 Feature: citus # features/citus.feature:1 2876s Mar 24 06:12:38 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2876s Mar 24 06:12:38 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2876s Mar 24 06:12:38 Given I start postgres0 in citus group 0 # None 2876s Mar 24 06:12:38 And I start postgres2 in citus group 1 # None 2876s Mar 24 06:12:38 Then postgres0 is a leader in a group 0 after 10 seconds # None 2876s Mar 24 06:12:38 And postgres2 is a leader in a group 1 after 10 seconds # None 2876s Mar 24 06:12:38 When I start postgres1 in citus group 0 # None 2876s Mar 24 06:12:38 And I start postgres3 in citus group 1 # None 2876s Mar 24 06:12:38 Then replication works from postgres0 to postgres1 after 15 seconds # None 2876s Mar 24 06:12:38 Then replication works from postgres2 to postgres3 after 15 seconds # None 2876s Mar 24 06:12:38 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2876s Mar 24 06:12:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2876s Mar 24 06:12:38 2876s Mar 24 06:12:38 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2876s Mar 24 06:12:38 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2876s Mar 24 06:12:38 Then postgres1 role is the primary after 10 seconds # None 2876s Mar 24 06:12:38 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2876s Mar 24 06:12:38 And replication works from postgres1 to postgres0 after 15 seconds # None 2876s Mar 24 06:12:38 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2876s Mar 24 06:12:38 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2876s Mar 24 06:12:38 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2876s Mar 24 06:12:38 Then postgres0 role is the primary after 10 seconds # None 2876s Mar 24 06:12:38 And replication works from postgres0 to postgres1 after 15 seconds # None 2876s Mar 24 06:12:38 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2876s Mar 24 06:12:38 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2876s Mar 24 06:12:38 2876s Mar 24 06:12:38 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2876s Mar 24 06:12:38 Given I create a distributed table on postgres0 # None 2876s Mar 24 06:12:38 And I start a thread inserting data on postgres0 # None 2876s Mar 24 06:12:38 When I run patronictl.py switchover batman --group 1 --force # None 2876s Mar 24 06:12:38 Then I receive a response returncode 0 # None 2876s Mar 24 06:12:38 And postgres3 role is the primary after 10 seconds # None 2876s Mar 24 06:12:38 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2876s Mar 24 06:12:38 And replication works from postgres3 to postgres2 after 15 seconds # None 2876s Mar 24 06:12:38 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2876s Mar 24 06:12:38 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2876s Mar 24 06:12:38 And a thread is still alive # None 2876s Mar 24 06:12:38 When I run patronictl.py switchover batman --group 1 --force # None 2876s Mar 24 06:12:38 Then I receive a response returncode 0 # None 2876s Mar 24 06:12:38 And postgres2 role is the primary after 10 seconds # None 2876s Mar 24 06:12:38 And replication works from postgres2 to postgres3 after 15 seconds # None 2876s Mar 24 06:12:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2876s Mar 24 06:12:38 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2876s Mar 24 06:12:38 And a thread is still alive # None 2876s Mar 24 06:12:38 When I stop a thread # None 2876s Mar 24 06:12:38 Then a distributed table on postgres0 has expected rows # None 2876s Mar 24 06:12:38 2876s Mar 24 06:12:38 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2876s Mar 24 06:12:38 Given I cleanup a distributed table on postgres0 # None 2876s Mar 24 06:12:38 And I start a thread inserting data on postgres0 # None 2876s Mar 24 06:12:38 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2876s Mar 24 06:12:38 Then I receive a response returncode 0 # None 2876s Mar 24 06:12:38 And postgres2 role is the primary after 10 seconds # None 2876s Mar 24 06:12:38 And replication works from postgres2 to postgres3 after 15 seconds # None 2876s Mar 24 06:12:38 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2876s Mar 24 06:12:38 And a thread is still alive # None 2876s Mar 24 06:12:38 When I stop a thread # None 2876s Mar 24 06:12:38 Then a distributed table on postgres0 has expected rows # None 2876s Mar 24 06:12:38 2876s Mar 24 06:12:38 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2876s Mar 24 06:12:38 Given I start postgres4 in citus group 2 # None 2876s Mar 24 06:12:38 Then postgres4 is a leader in a group 2 after 10 seconds # None 2876s Mar 24 06:12:38 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2876s Mar 24 06:12:38 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2876s Mar 24 06:12:38 Then I receive a response returncode 0 # None 2876s Mar 24 06:12:38 And I receive a response output "+ttl: 20" # None 2876s Mar 24 06:12:38 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2876s Mar 24 06:12:38 When I shut down postgres4 # None 2876s Mar 24 06:12:38 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2876s Mar 24 06:12:38 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2876s Mar 24 06:12:38 Then a transaction finishes in 20 seconds # None 2876s Mar 24 06:12:38 2876s Mar 24 06:12:38 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2876s Mar 24 06:12:38 We should check that patroni can bootstrap a new cluster from a backup 2876s Mar 24 06:12:38 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2876s Mar 24 06:12:38 Given I start postgres0 # features/steps/basic_replication.py:8 2879s Mar 24 06:12:41 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2879s Mar 24 06:12:41 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 2879s Mar 24 06:12:41 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2883s Mar 24 06:12:45 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2884s Mar 24 06:12:46 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:89 2884s Mar 24 06:12:46 2884s Mar 24 06:12:46 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2884s Mar 24 06:12:46 Given I add the table bar to postgres1 # features/steps/basic_replication.py:49 2884s Mar 24 06:12:46 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2885s Mar 24 06:12:46 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2889s Mar 24 06:12:51 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2889s Mar 24 06:12:51 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:89 2895s Mar 24 06:12:57 2895s Mar 24 06:12:57 Feature: ignored slots # features/ignored_slots.feature:1 2895s Mar 24 06:12:57 2895s Mar 24 06:12:57 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2895s Mar 24 06:12:57 Given I start postgres1 # features/steps/basic_replication.py:8 2898s Mar 24 06:13:00 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2898s Mar 24 06:13:00 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2898s Mar 24 06:13:00 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 2898s Mar 24 06:13:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2898s Mar 24 06:13:00 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2898s Mar 24 06:13:00 When I shut down postgres1 # features/steps/basic_replication.py:29 2900s Mar 24 06:13:02 And I start postgres1 # features/steps/basic_replication.py:8 2902s Mar 24 06:13:04 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2902s Mar 24 06:13:04 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2903s Mar 24 06:13:05 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:101 2903s Mar 24 06:13:05 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2903s Mar 24 06:13:05 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2903s Mar 24 06:13:05 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2903s Mar 24 06:13:05 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2903s Mar 24 06:13:05 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2903s Mar 24 06:13:05 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2903s Mar 24 06:13:05 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2903s Mar 24 06:13:05 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2903s Mar 24 06:13:05 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2903s Mar 24 06:13:05 When I start postgres0 # features/steps/basic_replication.py:8 2906s Mar 24 06:13:08 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2907s Mar 24 06:13:09 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 2907s Mar 24 06:13:09 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 2908s Mar 24 06:13:10 When I shut down postgres1 # features/steps/basic_replication.py:29 2910s Mar 24 06:13:12 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2911s Mar 24 06:13:13 When I start postgres1 # features/steps/basic_replication.py:8 2913s Mar 24 06:13:15 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 2913s Mar 24 06:13:15 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2913s Mar 24 06:13:15 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2915s Mar 24 06:13:17 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2915s Mar 24 06:13:17 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2915s Mar 24 06:13:17 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2915s Mar 24 06:13:17 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2915s Mar 24 06:13:17 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2915s Mar 24 06:13:17 When I shut down postgres0 # features/steps/basic_replication.py:29 2917s Mar 24 06:13:19 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2918s Mar 24 06:13:20 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2918s Mar 24 06:13:20 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2918s Mar 24 06:13:20 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2918s Mar 24 06:13:20 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2920s Mar 24 06:13:22 2920s Mar 24 06:13:22 Feature: patroni api # features/patroni_api.feature:1 2920s Mar 24 06:13:22 We should check that patroni correctly responds to valid and not-valid API requests. 2920s Mar 24 06:13:22 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2920s Mar 24 06:13:22 Given I start postgres0 # features/steps/basic_replication.py:8 2923s Mar 24 06:13:25 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2923s Mar 24 06:13:25 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2923s Mar 24 06:13:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2923s Mar 24 06:13:25 And I receive a response state running # features/steps/patroni_api.py:98 2923s Mar 24 06:13:25 And I receive a response role master # features/steps/patroni_api.py:98 2923s Mar 24 06:13:25 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2924s Mar 24 06:13:25 Then I receive a response code 503 # features/steps/patroni_api.py:98 2924s Mar 24 06:13:25 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2924s Mar 24 06:13:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 2924s Mar 24 06:13:26 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2924s Mar 24 06:13:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 2924s Mar 24 06:13:26 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2924s Mar 24 06:13:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 2924s Mar 24 06:13:26 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2924s Mar 24 06:13:26 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2925s Mar 24 06:13:27 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2925s Mar 24 06:13:27 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2925s Mar 24 06:13:27 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2925s Mar 24 06:13:27 Then I receive a response code 412 # features/steps/patroni_api.py:98 2925s Mar 24 06:13:27 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2925s Mar 24 06:13:27 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2925s Mar 24 06:13:27 Then I receive a response code 400 # features/steps/patroni_api.py:98 2925s Mar 24 06:13:27 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2925s Mar 24 06:13:27 Then I receive a response code 400 # features/steps/patroni_api.py:98 2925s Mar 24 06:13:27 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2925s Mar 24 06:13:27 2925s Mar 24 06:13:27 Scenario: check local configuration reload # features/patroni_api.feature:32 2925s Mar 24 06:13:27 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2925s Mar 24 06:13:27 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2925s Mar 24 06:13:27 Then I receive a response code 202 # features/steps/patroni_api.py:98 2925s Mar 24 06:13:27 2925s Mar 24 06:13:27 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2925s Mar 24 06:13:27 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 2925s Mar 24 06:13:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 2925s Mar 24 06:13:27 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2926s Mar 24 06:13:28 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2926s Mar 24 06:13:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2926s Mar 24 06:13:28 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2926s Mar 24 06:13:28 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2926s Mar 24 06:13:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2926s Mar 24 06:13:28 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2926s Mar 24 06:13:28 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2930s Mar 24 06:13:32 2930s Mar 24 06:13:32 Scenario: check the scheduled restart # features/patroni_api.feature:49 2930s Mar 24 06:13:32 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2932s Mar 24 06:13:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2932s Mar 24 06:13:34 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2932s Mar 24 06:13:34 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2932s Mar 24 06:13:34 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 2932s Mar 24 06:13:34 Then I receive a response code 202 # features/steps/patroni_api.py:98 2932s Mar 24 06:13:34 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2940s Mar 24 06:13:42 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2940s Mar 24 06:13:42 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 2940s Mar 24 06:13:42 Then I receive a response code 202 # features/steps/patroni_api.py:98 2940s Mar 24 06:13:42 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 2946s Mar 24 06:13:48 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2947s Mar 24 06:13:49 2947s Mar 24 06:13:49 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2947s Mar 24 06:13:49 Given I start postgres1 # features/steps/basic_replication.py:8 2950s Mar 24 06:13:52 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 2952s Mar 24 06:13:54 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2953s Mar 24 06:13:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2953s Mar 24 06:13:55 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2953s Mar 24 06:13:55 waiting for server to shut down.... done 2953s Mar 24 06:13:55 server stopped 2953s Mar 24 06:13:55 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2953s Mar 24 06:13:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 2953s Mar 24 06:13:55 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2954s Mar 24 06:13:56 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2957s Mar 24 06:13:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2957s Mar 24 06:13:59 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 2958s Mar 24 06:14:00 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2960s Mar 24 06:14:02 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2960s Mar 24 06:14:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 2960s Mar 24 06:14:02 And I receive a response state running # features/steps/patroni_api.py:98 2960s Mar 24 06:14:02 And I receive a response role replica # features/steps/patroni_api.py:98 2960s Mar 24 06:14:02 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2963s Mar 24 06:14:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2963s Mar 24 06:14:05 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2963s Mar 24 06:14:05 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:101 2964s Mar 24 06:14:06 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 2965s Mar 24 06:14:07 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2967s Mar 24 06:14:09 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2967s Mar 24 06:14:09 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2967s Mar 24 06:14:09 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:101 2968s Mar 24 06:14:10 2968s Mar 24 06:14:10 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2968s Mar 24 06:14:10 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 2970s Mar 24 06:14:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 2970s Mar 24 06:14:12 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2970s Mar 24 06:14:12 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2970s Mar 24 06:14:12 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 2972s Mar 24 06:14:14 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 2974s Mar 24 06:14:16 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2975s Mar 24 06:14:17 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2975s Mar 24 06:14:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 2975s Mar 24 06:14:17 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2975s Mar 24 06:14:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 2975s Mar 24 06:14:17 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2975s Mar 24 06:14:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 2975s Mar 24 06:14:17 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2976s Mar 24 06:14:17 Then I receive a response code 503 # features/steps/patroni_api.py:98 2976s Mar 24 06:14:17 2976s Mar 24 06:14:17 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2976s Mar 24 06:14:17 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2977s Mar 24 06:14:19 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2977s Mar 24 06:14:19 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2977s Mar 24 06:14:19 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2978s Mar 24 06:14:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2978s Mar 24 06:14:20 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2979s Mar 24 06:14:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2979s Mar 24 06:14:21 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2989s Mar 24 06:14:31 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 2989s Mar 24 06:14:31 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 2992s Mar 24 06:14:34 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:108 2992s Mar 24 06:14:34 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2992s Mar 24 06:14:34 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2993s Mar 24 06:14:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 2993s Mar 24 06:14:34 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2993s Mar 24 06:14:35 Then I receive a response code 503 # features/steps/patroni_api.py:98 2993s Mar 24 06:14:35 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2993s Mar 24 06:14:35 Then I receive a response code 503 # features/steps/patroni_api.py:98 2993s Mar 24 06:14:35 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2993s Mar 24 06:14:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 2997s Mar 24 06:14:39 2997s Mar 24 06:14:39 Feature: permanent slots # features/permanent_slots.feature:1 2997s Mar 24 06:14:39 2997s Mar 24 06:14:39 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2997s Mar 24 06:14:39 Given I start postgres0 # features/steps/basic_replication.py:8 3000s Mar 24 06:14:42 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3000s Mar 24 06:14:42 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3000s Mar 24 06:14:42 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 3000s Mar 24 06:14:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 3000s Mar 24 06:14:42 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3000s Mar 24 06:14:42 When I start postgres1 # features/steps/basic_replication.py:8 3003s Mar 24 06:14:45 And I start postgres2 # features/steps/basic_replication.py:8 3006s Mar 24 06:14:48 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 3009s Mar 24 06:14:51 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3009s Mar 24 06:14:51 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 3009s Mar 24 06:14:51 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 3009s Mar 24 06:14:51 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3009s Mar 24 06:14:51 3009s Mar 24 06:14:51 @slot-advance 3009s Mar 24 06:14:51 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 3009s Mar 24 06:14:51 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 3011s Mar 24 06:14:53 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 3011s Mar 24 06:14:53 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3012s Mar 24 06:14:54 3012s Mar 24 06:14:54 @slot-advance 3012s Mar 24 06:14:54 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 3012s Mar 24 06:14:54 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 3017s Mar 24 06:14:59 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3017s Mar 24 06:14:59 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3018s Mar 24 06:15:00 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3019s Mar 24 06:15:01 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3019s Mar 24 06:15:01 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3019s Mar 24 06:15:01 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 3019s Mar 24 06:15:01 3019s Mar 24 06:15:01 @slot-advance 3019s Mar 24 06:15:01 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 3019s Mar 24 06:15:01 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3019s Mar 24 06:15:01 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3019s Mar 24 06:15:01 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3019s Mar 24 06:15:01 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 3019s Mar 24 06:15:01 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 3019s Mar 24 06:15:01 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 3019s Mar 24 06:15:01 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3019s Mar 24 06:15:01 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3019s Mar 24 06:15:01 3019s Mar 24 06:15:01 @slot-advance 3019s Mar 24 06:15:01 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 3019s Mar 24 06:15:01 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:49 3019s Mar 24 06:15:01 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 3019s Mar 24 06:15:01 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 3019s Mar 24 06:15:01 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3023s Mar 24 06:15:05 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3023s Mar 24 06:15:05 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3023s Mar 24 06:15:05 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3023s Mar 24 06:15:05 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3023s Mar 24 06:15:05 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 3023s Mar 24 06:15:05 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 3023s Mar 24 06:15:05 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 3023s Mar 24 06:15:05 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 3023s Mar 24 06:15:05 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 3023s Mar 24 06:15:05 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 3023s Mar 24 06:15:05 3023s Mar 24 06:15:05 @slot-advance 3023s Mar 24 06:15:05 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 3023s Mar 24 06:15:05 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 3023s Mar 24 06:15:05 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 3023s Mar 24 06:15:05 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 3023s Mar 24 06:15:05 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 3023s Mar 24 06:15:05 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 3023s Mar 24 06:15:05 3023s Mar 24 06:15:05 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 3023s Mar 24 06:15:05 Given I shut down postgres3 # features/steps/basic_replication.py:29 3024s Mar 24 06:15:06 And I shut down postgres2 # features/steps/basic_replication.py:29 3025s Mar 24 06:15:07 And I shut down postgres0 # features/steps/basic_replication.py:29 3027s Mar 24 06:15:09 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 3027s Mar 24 06:15:09 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 3027s Mar 24 06:15:09 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 3030s Mar 24 06:15:12 3030s Mar 24 06:15:12 Feature: priority replication # features/priority_failover.feature:1 3030s Mar 24 06:15:12 We should check that we can give nodes priority during failover 3030s Mar 24 06:15:12 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 3030s Mar 24 06:15:12 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3033s Mar 24 06:15:15 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 3035s Mar 24 06:15:17 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 3036s Mar 24 06:15:18 When I shut down postgres0 # features/steps/basic_replication.py:29 3038s Mar 24 06:15:20 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:117 3040s Mar 24 06:15:22 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 3040s Mar 24 06:15:22 When I start postgres0 # features/steps/basic_replication.py:8 3042s Mar 24 06:15:24 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3042s Mar 24 06:15:24 3042s Mar 24 06:15:24 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 3042s Mar 24 06:15:24 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 3045s Mar 24 06:15:27 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 3048s Mar 24 06:15:30 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:108 3050s Mar 24 06:15:32 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:108 3050s Mar 24 06:15:32 When I shut down postgres0 # features/steps/basic_replication.py:29 3052s Mar 24 06:15:34 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3052s Mar 24 06:15:34 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:117 3052s Mar 24 06:15:34 3052s Mar 24 06:15:34 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 3052s Mar 24 06:15:34 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 3052s Mar 24 06:15:34 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 3052s Mar 24 06:15:34 Then I receive a response code 202 # features/steps/patroni_api.py:98 3052s Mar 24 06:15:34 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:117 3054s Mar 24 06:15:36 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 3055s Mar 24 06:15:37 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 3055s Mar 24 06:15:37 Then I receive a response code 412 # features/steps/patroni_api.py:98 3055s Mar 24 06:15:37 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 3055s Mar 24 06:15:37 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 3055s Mar 24 06:15:37 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 3055s Mar 24 06:15:37 Then I receive a response code 202 # features/steps/patroni_api.py:98 3055s Mar 24 06:15:37 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:117 3056s Mar 24 06:15:38 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 3057s Mar 24 06:15:39 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 3060s Mar 24 06:15:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 3060s Mar 24 06:15:42 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3066s Mar 24 06:15:48 3066s Mar 24 06:15:48 Feature: recovery # features/recovery.feature:1 3066s Mar 24 06:15:48 We want to check that crashed postgres is started back 3066s Mar 24 06:15:48 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 3066s Mar 24 06:15:48 Given I start postgres0 # features/steps/basic_replication.py:8 3069s Mar 24 06:15:51 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3069s Mar 24 06:15:51 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3069s Mar 24 06:15:51 When I start postgres1 # features/steps/basic_replication.py:8 3072s Mar 24 06:15:54 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 3072s Mar 24 06:15:54 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 3077s Mar 24 06:15:59 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3077s Mar 24 06:15:59 waiting for server to shut down.... done 3077s Mar 24 06:15:59 server stopped 3077s Mar 24 06:15:59 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3079s Mar 24 06:16:01 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3079s Mar 24 06:16:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 3079s Mar 24 06:16:01 And I receive a response role master # features/steps/patroni_api.py:98 3079s Mar 24 06:16:01 And I receive a response timeline 1 # features/steps/patroni_api.py:98 3079s Mar 24 06:16:01 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3080s Mar 24 06:16:02 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 3081s Mar 24 06:16:03 3081s Mar 24 06:16:03 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 3081s Mar 24 06:16:03 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 3081s Mar 24 06:16:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 3081s Mar 24 06:16:03 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3081s Mar 24 06:16:03 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 3082s Mar 24 06:16:04 waiting for server to shut down.... done 3082s Mar 24 06:16:04 server stopped 3082s Mar 24 06:16:04 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3084s Mar 24 06:16:06 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3088s Mar 24 06:16:10 3088s Mar 24 06:16:10 Feature: standby cluster # features/standby_cluster.feature:1 3088s Mar 24 06:16:10 3088s Mar 24 06:16:10 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 3088s Mar 24 06:16:10 Given I start postgres1 # features/steps/basic_replication.py:8 3091s Mar 24 06:16:13 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3091s Mar 24 06:16:13 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3091s Mar 24 06:16:13 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 3091s Mar 24 06:16:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 3091s Mar 24 06:16:13 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 3091s Mar 24 06:16:13 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3094s Mar 24 06:16:16 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 3094s Mar 24 06:16:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 3094s Mar 24 06:16:16 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3094s Mar 24 06:16:16 When I start postgres0 # features/steps/basic_replication.py:8 3096s Mar 24 06:16:18 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3097s Mar 24 06:16:19 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:108 3098s Mar 24 06:16:20 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 3098s Mar 24 06:16:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 3098s Mar 24 06:16:20 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3098s Mar 24 06:16:20 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 3098s Mar 24 06:16:20 3098s Mar 24 06:16:20 @slot-advance 3098s Mar 24 06:16:20 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 3098s Mar 24 06:16:20 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 3100s Mar 24 06:16:22 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3107s Mar 24 06:16:29 3107s Mar 24 06:16:29 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 3107s Mar 24 06:16:29 When I shut down postgres1 # features/steps/basic_replication.py:29 3109s Mar 24 06:16:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3109s Mar 24 06:16:31 And "members/postgres0" key in DCS has role=master after 3 seconds # features/steps/cascading_replication.py:23 3110s Mar 24 06:16:32 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 3110s Mar 24 06:16:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 3110s Mar 24 06:16:32 3110s Mar 24 06:16:32 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 3110s Mar 24 06:16:32 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 3112s Mar 24 06:16:34 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3112s Mar 24 06:16:34 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 3112s Mar 24 06:16:34 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 3113s Mar 24 06:16:35 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 3114s Mar 24 06:16:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 3114s Mar 24 06:16:36 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3114s Mar 24 06:16:36 And I sleep for 3 seconds # features/steps/patroni_api.py:39 3117s Mar 24 06:16:39 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3117s Mar 24 06:16:39 Then I receive a response code 503 # features/steps/patroni_api.py:98 3117s Mar 24 06:16:39 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 3117s Mar 24 06:16:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 3117s Mar 24 06:16:39 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3117s Mar 24 06:16:39 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 3117s Mar 24 06:16:39 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 3119s Mar 24 06:16:41 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:101 3119s Mar 24 06:16:41 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 3120s Mar 24 06:16:42 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 3120s Mar 24 06:16:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 3120s Mar 24 06:16:42 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 3120s Mar 24 06:16:42 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 3120s Mar 24 06:16:42 3120s Mar 24 06:16:42 Scenario: check switchover # features/standby_cluster.feature:56 3120s Mar 24 06:16:42 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 3123s Mar 24 06:16:45 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3123s Mar 24 06:16:45 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 3125s Mar 24 06:16:47 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 3125s Mar 24 06:16:47 3125s Mar 24 06:16:47 Scenario: check failover # features/standby_cluster.feature:62 3125s Mar 24 06:16:47 When I kill postgres2 # features/steps/basic_replication.py:34 3126s Mar 24 06:16:48 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 3126s Mar 24 06:16:48 waiting for server to shut down.... done 3126s Mar 24 06:16:48 server stopped 3126s Mar 24 06:16:48 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 3147s Mar 24 06:17:09 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 3147s Mar 24 06:17:09 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 3148s Mar 24 06:17:10 Then I receive a response code 503 # features/steps/patroni_api.py:98 3148s Mar 24 06:17:10 And I receive a response role standby_leader # features/steps/patroni_api.py:98 3148s Mar 24 06:17:10 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 3149s Mar 24 06:17:11 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 3153s Mar 24 06:17:15 3153s Mar 24 06:17:15 Feature: watchdog # features/watchdog.feature:1 3153s Mar 24 06:17:15 Verify that watchdog gets pinged and triggered under appropriate circumstances. 3153s Mar 24 06:17:15 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 3153s Mar 24 06:17:15 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 3156s Mar 24 06:17:18 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3156s Mar 24 06:17:18 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3156s Mar 24 06:17:18 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3157s Mar 24 06:17:19 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 3157s Mar 24 06:17:19 3157s Mar 24 06:17:19 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 3157s Mar 24 06:17:19 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 3158s Mar 24 06:17:20 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3158s Mar 24 06:17:20 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 3158s Mar 24 06:17:20 When I sleep for 4 seconds # features/steps/patroni_api.py:39 3162s Mar 24 06:17:24 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 3162s Mar 24 06:17:24 3162s Mar 24 06:17:24 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 3162s Mar 24 06:17:24 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3163s Mar 24 06:17:25 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3163s Mar 24 06:17:25 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3165s Mar 24 06:17:27 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3165s Mar 24 06:17:27 3165s Mar 24 06:17:27 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 3165s Mar 24 06:17:27 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3165s Mar 24 06:17:27 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3168s Mar 24 06:17:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3168s Mar 24 06:17:29 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 3168s Mar 24 06:17:29 3168s Mar 24 06:17:29 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 3168s Mar 24 06:17:29 Given I shut down postgres0 # features/steps/basic_replication.py:29 3169s Mar 24 06:17:31 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 3169s Mar 24 06:17:31 3169s Mar 24 06:17:31 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 3169s Mar 24 06:17:31 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 3169s Mar 24 06:17:31 And I start postgres0 with watchdog # features/steps/watchdog.py:16 3171s Mar 24 06:17:33 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3171s Mar 24 06:17:33 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 3171s Mar 24 06:17:33 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 3196s Mar 24 06:17:58 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6909.415592 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7761.866343 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8583.051580 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6612.925267 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6059.992955 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6360.748290 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6725.574241 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6001.401914 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8341.537203 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8536.381765 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7610.584068 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8261.871394 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7566.123542 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7376.572714 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8436.297412 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7144.420334 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7152.113151 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8595.188657 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.5776.207879 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6655.784778 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7999.685182 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6556.922746 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7301.739376 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8043.134984 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8611.211285 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8590.527240 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6171.372293 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7709.708218 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6267.457358 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6872.211655 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7419.845765 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.5812.244808 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7016.809170 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6803.253634 3196s Mar 24 06:17:58 Skipping duplicate data .coverage.autopkgtest.6950.840664 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6462.460508 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6185.379845 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8219.615024 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7665.127472 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.5961.667905 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.5897.679221 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6006.688817 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7140.253872 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6957.948180 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7254.231364 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.7339.124576 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6229.711463 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6404.936875 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.5863.476859 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.8157.985176 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6982.949539 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.5728.269042 3196s Mar 24 06:17:58 Combined data file .coverage.autopkgtest.6853.915230 3198s Mar 24 06:18:00 Name Stmts Miss Cover 3198s Mar 24 06:18:00 -------------------------------------------------------------------------------------------- 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 75 66% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/api.py 768 289 62% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/config.py 416 89 79% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 96 86% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 287 69 76% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/ha.py 1239 372 70% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/log.py 155 31 80% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 181 78% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 63 75% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 193 25% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 217 73% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 169 59% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 36 89% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 19 85% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/request.py 62 7 89% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/tags.py 35 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/utils.py 318 110 65% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/validator.py 284 194 32% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/six.py 504 249 51% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 3198s Mar 24 06:18:00 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 3198s Mar 24 06:18:00 patroni/__init__.py 13 2 85% 3198s Mar 24 06:18:00 patroni/__main__.py 199 199 0% 3198s Mar 24 06:18:00 patroni/api.py 768 768 0% 3198s Mar 24 06:18:00 patroni/async_executor.py 96 69 28% 3198s Mar 24 06:18:00 patroni/collections.py 43 11 74% 3198s Mar 24 06:18:00 patroni/config.py 416 204 51% 3198s Mar 24 06:18:00 patroni/config_generator.py 210 210 0% 3198s Mar 24 06:18:00 patroni/ctl.py 940 409 56% 3198s Mar 24 06:18:00 patroni/daemon.py 76 76 0% 3198s Mar 24 06:18:00 patroni/dcs/__init__.py 667 265 60% 3198s Mar 24 06:18:00 patroni/dcs/consul.py 482 482 0% 3198s Mar 24 06:18:00 patroni/dcs/etcd3.py 683 683 0% 3198s Mar 24 06:18:00 patroni/dcs/etcd.py 602 602 0% 3198s Mar 24 06:18:00 patroni/dcs/exhibitor.py 60 60 0% 3198s Mar 24 06:18:00 patroni/dcs/kubernetes.py 935 935 0% 3198s Mar 24 06:18:00 patroni/dcs/raft.py 318 318 0% 3198s Mar 24 06:18:00 patroni/dcs/zookeeper.py 287 149 48% 3198s Mar 24 06:18:00 patroni/exceptions.py 16 1 94% 3198s Mar 24 06:18:00 patroni/file_perm.py 43 15 65% 3198s Mar 24 06:18:00 patroni/ha.py 1239 1239 0% 3198s Mar 24 06:18:00 patroni/log.py 155 155 0% 3198s Mar 24 06:18:00 patroni/postgresql/__init__.py 826 655 21% 3198s Mar 24 06:18:00 patroni/postgresql/bootstrap.py 253 224 11% 3198s Mar 24 06:18:00 patroni/postgresql/callback_executor.py 55 34 38% 3198s Mar 24 06:18:00 patroni/postgresql/cancellable.py 104 84 19% 3198s Mar 24 06:18:00 patroni/postgresql/citus.py 258 217 16% 3198s Mar 24 06:18:00 patroni/postgresql/config.py 806 693 14% 3198s Mar 24 06:18:00 patroni/postgresql/connection.py 75 50 33% 3198s Mar 24 06:18:00 patroni/postgresql/misc.py 41 29 29% 3198s Mar 24 06:18:00 patroni/postgresql/postmaster.py 170 139 18% 3198s Mar 24 06:18:00 patroni/postgresql/rewind.py 415 415 0% 3198s Mar 24 06:18:00 patroni/postgresql/slots.py 332 285 14% 3198s Mar 24 06:18:00 patroni/postgresql/sync.py 129 96 26% 3198s Mar 24 06:18:00 patroni/postgresql/validator.py 165 53 68% 3198s Mar 24 06:18:00 patroni/psycopg.py 41 27 34% 3198s Mar 24 06:18:00 patroni/raft_controller.py 22 22 0% 3198s Mar 24 06:18:00 patroni/request.py 62 6 90% 3198s Mar 24 06:18:00 patroni/scripts/__init__.py 0 0 100% 3198s Mar 24 06:18:00 patroni/scripts/aws.py 59 59 0% 3198s Mar 24 06:18:00 patroni/scripts/wale_restore.py 207 207 0% 3198s Mar 24 06:18:00 patroni/tags.py 35 10 71% 3198s Mar 24 06:18:00 patroni/utils.py 318 201 37% 3198s Mar 24 06:18:00 patroni/validator.py 284 201 29% 3198s Mar 24 06:18:00 patroni/version.py 1 0 100% 3198s Mar 24 06:18:00 patroni/watchdog/__init__.py 2 2 0% 3198s Mar 24 06:18:00 patroni/watchdog/base.py 203 203 0% 3198s Mar 24 06:18:00 patroni/watchdog/linux.py 135 135 0% 3198s Mar 24 06:18:00 -------------------------------------------------------------------------------------------- 3198s Mar 24 06:18:00 TOTAL 39235 23586 40% 3198s Mar 24 06:18:00 10 features passed, 0 failed, 1 skipped 3198s Mar 24 06:18:00 42 scenarios passed, 0 failed, 5 skipped 3198s Mar 24 06:18:00 431 steps passed, 0 failed, 61 skipped, 0 undefined 3198s Mar 24 06:18:00 Took 6m26.153s 3198s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 3198s + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 3198s + rm -f '/tmp/pgpass?' 3198s ++ id -u 3198s + '[' 0 -eq 0 ']' 3198s + '[' -x /etc/init.d/zookeeper ']' 3198s + /etc/init.d/zookeeper stop 3198s Stopping zookeeper (via systemctl): zookeeper.service. 3198s autopkgtest [06:18:00]: test acceptance-zookeeper: -----------------------] 3199s autopkgtest [06:18:01]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 3199s acceptance-zookeeper PASS 3200s autopkgtest [06:18:01]: test acceptance-raft: preparing testbed 3321s autopkgtest [06:20:03]: testbed dpkg architecture: arm64 3321s autopkgtest [06:20:03]: testbed apt version: 2.7.12 3321s autopkgtest [06:20:03]: @@@@@@@@@@@@@@@@@@@@ test bed setup 3322s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 3323s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 3323s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [4009 kB] 3324s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 3324s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 3324s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [707 kB] 3324s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 3324s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 3324s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 3324s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4359 kB] 3324s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 3324s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 3324s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 3331s Fetched 9865 kB in 3s (3241 kB/s) 3332s Reading package lists... 3336s Reading package lists... 3336s Building dependency tree... 3336s Reading state information... 3338s Calculating upgrade... 3339s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3339s Reading package lists... 3339s Building dependency tree... 3339s Reading state information... 3341s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3342s sh: Attempting to set up Debian/Ubuntu apt sources automatically 3342s sh: Distribution appears to be Ubuntu 3344s Reading package lists... 3345s Building dependency tree... 3345s Reading state information... 3346s eatmydata is already the newest version (131-1). 3346s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3346s Reading package lists... 3347s Building dependency tree... 3347s Reading state information... 3348s dbus is already the newest version (1.14.10-4ubuntu1). 3348s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3348s Reading package lists... 3349s Building dependency tree... 3349s Reading state information... 3350s rng-tools-debian is already the newest version (2.4). 3350s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3350s Reading package lists... 3350s Building dependency tree... 3350s Reading state information... 3352s The following packages will be REMOVED: 3352s cloud-init* python3-configobj* python3-debconf* 3353s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 3353s After this operation, 3256 kB disk space will be freed. 3353s (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 ... 75911 files and directories currently installed.) 3353s Removing cloud-init (24.1.2-0ubuntu1) ... 3354s Removing python3-configobj (5.0.8-3) ... 3354s Removing python3-debconf (1.5.86) ... 3354s Processing triggers for man-db (2.12.0-3) ... 3355s (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 ... 75522 files and directories currently installed.) 3355s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 3357s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 3357s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 3357s invoke-rc.d: policy-rc.d denied execution of try-restart. 3357s Reading package lists... 3358s Building dependency tree... 3358s Reading state information... 3359s linux-generic is already the newest version (6.8.0-11.11+1). 3359s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3360s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 3360s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 3360s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 3367s Reading package lists... 3367s Reading package lists... 3367s Building dependency tree... 3367s Reading state information... 3368s Calculating upgrade... 3369s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3369s Reading package lists... 3370s Building dependency tree... 3370s Reading state information... 3371s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 3371s autopkgtest [06:20:53]: rebooting testbed after setup commands that affected boot 3543s Reading package lists... 3544s Building dependency tree... 3544s Reading state information... 3544s Starting pkgProblemResolver with broken count: 0 3545s Starting 2 pkgProblemResolver with broken count: 0 3545s Done 3546s The following additional packages will be installed: 3546s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 3546s libjs-sphinxdoc libjs-underscore libjson-perl libllvm17 libpq5 3546s libtime-duration-perl libtimedate-perl libxslt1.1 moreutils patroni 3546s patroni-doc postgresql postgresql-16 postgresql-client-16 3546s postgresql-client-common postgresql-common python3-behave python3-cdiff 3546s python3-click python3-colorama python3-coverage python3-dateutil 3546s python3-parse python3-parse-type python3-prettytable python3-psutil 3546s python3-psycopg2 python3-pysyncobj python3-wcwidth sphinx-rtd-theme-common 3546s ssl-cert 3546s Suggested packages: 3546s etcd-server | consul | zookeeperd vip-manager haproxy postgresql-doc 3546s postgresql-doc-16 python-coverage-doc python-psycopg2-doc 3546s Recommended packages: 3546s javascript-common libjson-xs-perl 3546s The following NEW packages will be installed: 3546s autopkgtest-satdep fonts-font-awesome fonts-lato libio-pty-perl 3546s libipc-run-perl libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl 3546s libllvm17 libpq5 libtime-duration-perl libtimedate-perl libxslt1.1 moreutils 3546s patroni patroni-doc postgresql postgresql-16 postgresql-client-16 3546s postgresql-client-common postgresql-common python3-behave python3-cdiff 3546s python3-click python3-colorama python3-coverage python3-dateutil 3546s python3-parse python3-parse-type python3-prettytable python3-psutil 3546s python3-psycopg2 python3-pysyncobj python3-wcwidth sphinx-rtd-theme-common 3546s ssl-cert 3546s 0 upgraded, 37 newly installed, 0 to remove and 0 not upgraded. 3546s Need to get 48.9 MB/48.9 MB of archives. 3546s After this operation, 206 MB of additional disk space will be used. 3546s Get:1 /tmp/autopkgtest.lAT8Md/6-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [752 B] 3546s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-lato all 2.015-1 [2781 kB] 3547s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 3547s Get:4 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-client-common all 257 [36.2 kB] 3547s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 ssl-cert all 1.1.2ubuntu1 [17.8 kB] 3547s Get:6 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-common all 257 [162 kB] 3547s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 3547s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 libio-pty-perl arm64 1:1.20-1 [31.0 kB] 3547s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libipc-run-perl all 20231003.0-1 [92.1 kB] 3547s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 3547s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 3547s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-sphinxdoc all 7.2.6-4 [149 kB] 3547s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 libllvm17 arm64 1:17.0.6-5build1 [25.0 MB] 3548s Get:14 http://ftpmaster.internal/ubuntu noble/main arm64 libpq5 arm64 16.2-1 [136 kB] 3548s Get:15 http://ftpmaster.internal/ubuntu noble/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 3548s Get:16 http://ftpmaster.internal/ubuntu noble/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 3548s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 libxslt1.1 arm64 1.1.39-0exp1 [166 kB] 3548s Get:18 http://ftpmaster.internal/ubuntu noble/universe arm64 moreutils arm64 0.69-1 [56.7 kB] 3548s Get:19 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 3548s Get:20 http://ftpmaster.internal/ubuntu noble/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 3548s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 python3-click all 8.1.6-1 [79.0 kB] 3548s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dateutil all 2.8.2-3 [79.2 kB] 3548s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 3548s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 python3-prettytable all 3.6.0-1 [33.1 kB] 3548s Get:25 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psutil arm64 5.9.8-1 [196 kB] 3548s Get:26 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psycopg2 arm64 2.9.9-1 [177 kB] 3548s Get:27 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 3548s Get:28 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni all 3.2.2-2 [253 kB] 3548s Get:29 http://ftpmaster.internal/ubuntu noble/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 3548s Get:30 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni-doc all 3.2.2-2 [476 kB] 3548s Get:31 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-client-16 arm64 16.2-1 [1260 kB] 3548s Get:32 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql-16 arm64 16.2-1 [15.2 MB] 3549s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 postgresql all 16+257 [11.4 kB] 3549s Get:34 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-parse all 1.19.0-0.2 [18.1 kB] 3549s Get:35 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-parse-type all 0.6.2-1 [22.7 kB] 3549s Get:36 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-behave all 1.2.6-5 [98.4 kB] 3549s Get:37 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-coverage arm64 7.3.2-0ubuntu1 [147 kB] 3549s Preconfiguring packages ... 3550s Fetched 48.9 MB in 2s (20.0 MB/s) 3550s Selecting previously unselected package fonts-lato. 3550s (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 ... 75467 files and directories currently installed.) 3550s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 3550s Unpacking fonts-lato (2.015-1) ... 3550s Selecting previously unselected package libjson-perl. 3550s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 3550s Unpacking libjson-perl (4.10000-1) ... 3550s Selecting previously unselected package postgresql-client-common. 3550s Preparing to unpack .../02-postgresql-client-common_257_all.deb ... 3550s Unpacking postgresql-client-common (257) ... 3550s Selecting previously unselected package ssl-cert. 3551s Preparing to unpack .../03-ssl-cert_1.1.2ubuntu1_all.deb ... 3551s Unpacking ssl-cert (1.1.2ubuntu1) ... 3551s Selecting previously unselected package postgresql-common. 3551s Preparing to unpack .../04-postgresql-common_257_all.deb ... 3551s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 3551s Unpacking postgresql-common (257) ... 3551s Selecting previously unselected package fonts-font-awesome. 3551s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 3551s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3551s Selecting previously unselected package libio-pty-perl. 3551s Preparing to unpack .../06-libio-pty-perl_1%3a1.20-1_arm64.deb ... 3551s Unpacking libio-pty-perl (1:1.20-1) ... 3551s Selecting previously unselected package libipc-run-perl. 3551s Preparing to unpack .../07-libipc-run-perl_20231003.0-1_all.deb ... 3551s Unpacking libipc-run-perl (20231003.0-1) ... 3551s Selecting previously unselected package libjs-jquery. 3551s Preparing to unpack .../08-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 3551s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3551s Selecting previously unselected package libjs-underscore. 3551s Preparing to unpack .../09-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 3551s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3551s Selecting previously unselected package libjs-sphinxdoc. 3551s Preparing to unpack .../10-libjs-sphinxdoc_7.2.6-4_all.deb ... 3551s Unpacking libjs-sphinxdoc (7.2.6-4) ... 3551s Selecting previously unselected package libllvm17:arm64. 3551s Preparing to unpack .../11-libllvm17_1%3a17.0.6-5build1_arm64.deb ... 3551s Unpacking libllvm17:arm64 (1:17.0.6-5build1) ... 3553s Selecting previously unselected package libpq5:arm64. 3553s Preparing to unpack .../12-libpq5_16.2-1_arm64.deb ... 3553s Unpacking libpq5:arm64 (16.2-1) ... 3553s Selecting previously unselected package libtime-duration-perl. 3553s Preparing to unpack .../13-libtime-duration-perl_1.21-2_all.deb ... 3553s Unpacking libtime-duration-perl (1.21-2) ... 3553s Selecting previously unselected package libtimedate-perl. 3553s Preparing to unpack .../14-libtimedate-perl_2.3300-2_all.deb ... 3553s Unpacking libtimedate-perl (2.3300-2) ... 3553s Selecting previously unselected package libxslt1.1:arm64. 3553s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1_arm64.deb ... 3553s Unpacking libxslt1.1:arm64 (1.1.39-0exp1) ... 3553s Selecting previously unselected package moreutils. 3553s Preparing to unpack .../16-moreutils_0.69-1_arm64.deb ... 3553s Unpacking moreutils (0.69-1) ... 3553s Selecting previously unselected package python3-cdiff. 3553s Preparing to unpack .../17-python3-cdiff_1.0-1.1_all.deb ... 3553s Unpacking python3-cdiff (1.0-1.1) ... 3553s Selecting previously unselected package python3-colorama. 3553s Preparing to unpack .../18-python3-colorama_0.4.6-4_all.deb ... 3553s Unpacking python3-colorama (0.4.6-4) ... 3553s Selecting previously unselected package python3-click. 3553s Preparing to unpack .../19-python3-click_8.1.6-1_all.deb ... 3553s Unpacking python3-click (8.1.6-1) ... 3553s Selecting previously unselected package python3-dateutil. 3553s Preparing to unpack .../20-python3-dateutil_2.8.2-3_all.deb ... 3553s Unpacking python3-dateutil (2.8.2-3) ... 3553s Selecting previously unselected package python3-wcwidth. 3553s Preparing to unpack .../21-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 3553s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 3553s Selecting previously unselected package python3-prettytable. 3553s Preparing to unpack .../22-python3-prettytable_3.6.0-1_all.deb ... 3553s Unpacking python3-prettytable (3.6.0-1) ... 3553s Selecting previously unselected package python3-psutil. 3553s Preparing to unpack .../23-python3-psutil_5.9.8-1_arm64.deb ... 3553s Unpacking python3-psutil (5.9.8-1) ... 3553s Selecting previously unselected package python3-psycopg2. 3553s Preparing to unpack .../24-python3-psycopg2_2.9.9-1_arm64.deb ... 3553s Unpacking python3-psycopg2 (2.9.9-1) ... 3553s Selecting previously unselected package python3-pysyncobj. 3553s Preparing to unpack .../25-python3-pysyncobj_0.3.12-1_all.deb ... 3553s Unpacking python3-pysyncobj (0.3.12-1) ... 3554s Selecting previously unselected package patroni. 3554s Preparing to unpack .../26-patroni_3.2.2-2_all.deb ... 3554s Unpacking patroni (3.2.2-2) ... 3554s Selecting previously unselected package sphinx-rtd-theme-common. 3554s Preparing to unpack .../27-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 3554s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 3554s Selecting previously unselected package patroni-doc. 3554s Preparing to unpack .../28-patroni-doc_3.2.2-2_all.deb ... 3554s Unpacking patroni-doc (3.2.2-2) ... 3554s Selecting previously unselected package postgresql-client-16. 3554s Preparing to unpack .../29-postgresql-client-16_16.2-1_arm64.deb ... 3554s Unpacking postgresql-client-16 (16.2-1) ... 3554s Selecting previously unselected package postgresql-16. 3554s Preparing to unpack .../30-postgresql-16_16.2-1_arm64.deb ... 3554s Unpacking postgresql-16 (16.2-1) ... 3555s Selecting previously unselected package postgresql. 3555s Preparing to unpack .../31-postgresql_16+257_all.deb ... 3555s Unpacking postgresql (16+257) ... 3555s Selecting previously unselected package python3-parse. 3555s Preparing to unpack .../32-python3-parse_1.19.0-0.2_all.deb ... 3555s Unpacking python3-parse (1.19.0-0.2) ... 3555s Selecting previously unselected package python3-parse-type. 3555s Preparing to unpack .../33-python3-parse-type_0.6.2-1_all.deb ... 3555s Unpacking python3-parse-type (0.6.2-1) ... 3555s Selecting previously unselected package python3-behave. 3555s Preparing to unpack .../34-python3-behave_1.2.6-5_all.deb ... 3555s Unpacking python3-behave (1.2.6-5) ... 3555s Selecting previously unselected package python3-coverage. 3555s Preparing to unpack .../35-python3-coverage_7.3.2-0ubuntu1_arm64.deb ... 3555s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 3555s Selecting previously unselected package autopkgtest-satdep. 3555s Preparing to unpack .../36-6-autopkgtest-satdep.deb ... 3555s Unpacking autopkgtest-satdep (0) ... 3556s Setting up postgresql-client-common (257) ... 3556s Setting up fonts-lato (2.015-1) ... 3556s Setting up libio-pty-perl (1:1.20-1) ... 3556s Setting up python3-pysyncobj (0.3.12-1) ... 3556s Setting up python3-colorama (0.4.6-4) ... 3556s Setting up python3-cdiff (1.0-1.1) ... 3557s Setting up libpq5:arm64 (16.2-1) ... 3557s Setting up python3-coverage (7.3.2-0ubuntu1) ... 3557s Setting up python3-click (8.1.6-1) ... 3558s Setting up python3-psutil (5.9.8-1) ... 3559s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 3559s Setting up ssl-cert (1.1.2ubuntu1) ... 3561s Created symlink /etc/systemd/system/multi-user.target.wants/ssl-cert.service → /usr/lib/systemd/system/ssl-cert.service. 3561s Setting up python3-psycopg2 (2.9.9-1) ... 3562s Setting up libipc-run-perl (20231003.0-1) ... 3562s Setting up libtime-duration-perl (1.21-2) ... 3562s Setting up libtimedate-perl (2.3300-2) ... 3562s Setting up python3-parse (1.19.0-0.2) ... 3562s Setting up libjson-perl (4.10000-1) ... 3562s Setting up libxslt1.1:arm64 (1.1.39-0exp1) ... 3562s Setting up python3-dateutil (2.8.2-3) ... 3563s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 3563s Setting up python3-prettytable (3.6.0-1) ... 3563s Setting up libllvm17:arm64 (1:17.0.6-5build1) ... 3563s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 3563s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 3563s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 3563s Setting up moreutils (0.69-1) ... 3563s Setting up postgresql-client-16 (16.2-1) ... 3564s 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 3564s Setting up python3-parse-type (0.6.2-1) ... 3565s Setting up postgresql-common (257) ... 3566s 3566s Creating config file /etc/postgresql-common/createcluster.conf with new version 3566s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 3566s Removing obsolete dictionary files: 3568s Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service. 3569s Setting up libjs-sphinxdoc (7.2.6-4) ... 3569s Setting up python3-behave (1.2.6-5) ... 3569s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 3569s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 3570s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 3570s """Registers a custom type that will be available to "parse" 3570s Setting up patroni (3.2.2-2) ... 3570s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 3572s Setting up postgresql-16 (16.2-1) ... 3572s Creating new PostgreSQL cluster 16/main ... 3572s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 3572s The files belonging to this database system will be owned by user "postgres". 3572s This user must also own the server process. 3572s 3572s The database cluster will be initialized with locale "C.UTF-8". 3572s The default database encoding has accordingly been set to "UTF8". 3572s The default text search configuration will be set to "english". 3572s 3572s Data page checksums are disabled. 3572s 3572s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 3572s creating subdirectories ... ok 3572s selecting dynamic shared memory implementation ... posix 3572s selecting default max_connections ... 100 3572s selecting default shared_buffers ... 128MB 3573s selecting default time zone ... Etc/UTC 3573s creating configuration files ... ok 3573s running bootstrap script ... ok 3574s performing post-bootstrap initialization ... ok 3574s syncing data to disk ... ok 3580s Setting up patroni-doc (3.2.2-2) ... 3580s Setting up postgresql (16+257) ... 3580s Setting up autopkgtest-satdep (0) ... 3580s Processing triggers for man-db (2.12.0-3) ... 3582s Processing triggers for libc-bin (2.39-0ubuntu6) ... 3588s (Reading database ... 78421 files and directories currently installed.) 3588s Removing autopkgtest-satdep (0) ... 3590s autopkgtest [06:24:32]: test acceptance-raft: debian/tests/acceptance raft 3590s autopkgtest [06:24:32]: test acceptance-raft: [----------------------- 3591s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 3591s ++ ls -1r /usr/lib/postgresql/ 3591s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 3591s + echo '### PostgreSQL 16 acceptance-raft ###' 3591s + '[' 16 == 10 ']' 3591s + SKIP= 3591s + 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' 3591s ### PostgreSQL 16 acceptance-raft ### 3598s Mar 24 06:24:40 Feature: basic replication # features/basic_replication.feature:1 3598s Mar 24 06:24:40 We should check that the basic bootstrapping, replication and failover works. 3598s Mar 24 06:24:40 Scenario: check replication of a single table # features/basic_replication.feature:4 3598s Mar 24 06:24:40 Given I start postgres0 # features/steps/basic_replication.py:8 3606s Mar 24 06:24:48 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3606s Mar 24 06:24:48 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3606s Mar 24 06:24:48 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 3606s Mar 24 06:24:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 3606s Mar 24 06:24:48 When I start postgres1 # features/steps/basic_replication.py:8 3615s Mar 24 06:24:57 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 3625s Mar 24 06:25:07 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 3625s Mar 24 06:25:07 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 3625s Mar 24 06:25:07 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 3626s Mar 24 06:25:08 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 3626s Mar 24 06:25:08 3626s Mar 24 06:25:08 Scenario: check restart of sync replica # features/basic_replication.feature:17 3626s Mar 24 06:25:08 Given I shut down postgres2 # features/steps/basic_replication.py:29 3627s Mar 24 06:25:09 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 3627s Mar 24 06:25:09 When I start postgres2 # features/steps/basic_replication.py:8 3634s Mar 24 06:25:16 And I shut down postgres1 # features/steps/basic_replication.py:29 3637s Mar 24 06:25:19 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3638s Mar 24 06:25:20 When I start postgres1 # features/steps/basic_replication.py:8 3645s Mar 24 06:25:27 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3645s Mar 24 06:25:27 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3645s Mar 24 06:25:27 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3645s Mar 24 06:25:27 3645s Mar 24 06:25:27 Scenario: check stuck sync replica # features/basic_replication.feature:28 3645s Mar 24 06:25:27 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 3645s Mar 24 06:25:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 3645s Mar 24 06:25:27 And I create table on postgres0 # features/steps/basic_replication.py:69 3645s Mar 24 06:25:27 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:89 3646s Mar 24 06:25:28 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:89 3646s Mar 24 06:25:28 When I pause wal replay on postgres2 # features/steps/basic_replication.py:58 3646s Mar 24 06:25:28 And I load data on postgres0 # features/steps/basic_replication.py:80 3650s Mar 24 06:25:32 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 3652s Mar 24 06:25:34 And I resume wal replay on postgres2 # features/steps/basic_replication.py:58 3652s Mar 24 06:25:34 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3652s Mar 24 06:25:34 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3652s Mar 24 06:25:34 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 3652s Mar 24 06:25:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 3652s Mar 24 06:25:34 And I drop table on postgres0 # features/steps/basic_replication.py:69 3652s Mar 24 06:25:34 3652s Mar 24 06:25:34 Scenario: check multi sync replication # features/basic_replication.feature:44 3652s Mar 24 06:25:34 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 3653s Mar 24 06:25:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 3653s Mar 24 06:25:35 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3657s Mar 24 06:25:39 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3657s Mar 24 06:25:39 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3657s Mar 24 06:25:39 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 3657s Mar 24 06:25:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 3657s Mar 24 06:25:39 And I shut down postgres1 # features/steps/basic_replication.py:29 3660s Mar 24 06:25:42 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 3661s Mar 24 06:25:43 When I start postgres1 # features/steps/basic_replication.py:8 3669s Mar 24 06:25:51 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3669s Mar 24 06:25:51 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 3669s Mar 24 06:25:51 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 3669s Mar 24 06:25:51 3669s Mar 24 06:25:51 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 3669s Mar 24 06:25:51 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 3675s Mar 24 06:25:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3675s Mar 24 06:25:57 When I sleep for 2 seconds # features/steps/patroni_api.py:39 3677s Mar 24 06:25:59 And I shut down postgres0 # features/steps/basic_replication.py:29 3678s Mar 24 06:26:00 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 3683s Mar 24 06:26:05 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 3683s Mar 24 06:26:05 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:101 3698s Mar 24 06:26:20 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 3700s Mar 24 06:26:22 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 3700s Mar 24 06:26:22 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 3701s Mar 24 06:26:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 3701s Mar 24 06:26:23 When I add the table bar to postgres2 # features/steps/basic_replication.py:49 3701s Mar 24 06:26:23 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 3703s Mar 24 06:26:25 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 3703s Mar 24 06:26:25 3703s Mar 24 06:26:25 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 3703s Mar 24 06:26:25 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:49 3703s Mar 24 06:26:25 And I start postgres0 # features/steps/basic_replication.py:8 3703s Mar 24 06:26:25 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 3712s Mar 24 06:26:34 When I add the table buz to postgres2 # features/steps/basic_replication.py:49 3712s Mar 24 06:26:34 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:89 3719s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 3735s Mar 24 06:26:57 3735s Mar 24 06:26:57 @reject-duplicate-name 3735s Mar 24 06:26:57 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 3735s Mar 24 06:26:57 Given I start duplicate postgres0 on port 8011 # None 3735s Mar 24 06:26:57 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 3735s Mar 24 06:26:57 3735s Mar 24 06:26:57 Feature: cascading replication # features/cascading_replication.feature:1 3735s Mar 24 06:26:57 We should check that patroni can do base backup and streaming from the replica 3735s Mar 24 06:26:57 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 3735s Mar 24 06:26:57 Given I start postgres0 # features/steps/basic_replication.py:8 3742s Mar 24 06:27:04 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3742s Mar 24 06:27:04 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 3749s Mar 24 06:27:11 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 3750s Mar 24 06:27:12 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 3750s Mar 24 06:27:12 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 3750s Mar 24 06:27:12 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 3750s Mar 24 06:27:12 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 3757s Mar 24 06:27:19 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:108 3757s Mar 24 06:27:19 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 3774s Mar 24 06:27:35 3774s SKIP FEATURE citus: Citus extenstion isn't available 3774s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 3774s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 3774s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 3774s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 3774s 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 3774s Mar 24 06:27:35 Feature: citus # features/citus.feature:1 3774s Mar 24 06:27:36 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 3774s Mar 24 06:27:36 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 3774s Mar 24 06:27:36 Given I start postgres0 in citus group 0 # None 3774s Mar 24 06:27:36 And I start postgres2 in citus group 1 # None 3774s Mar 24 06:27:36 Then postgres0 is a leader in a group 0 after 10 seconds # None 3774s Mar 24 06:27:36 And postgres2 is a leader in a group 1 after 10 seconds # None 3774s Mar 24 06:27:36 When I start postgres1 in citus group 0 # None 3774s Mar 24 06:27:36 And I start postgres3 in citus group 1 # None 3774s Mar 24 06:27:36 Then replication works from postgres0 to postgres1 after 15 seconds # None 3774s Mar 24 06:27:36 Then replication works from postgres2 to postgres3 after 15 seconds # None 3774s Mar 24 06:27:36 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 3774s Mar 24 06:27:36 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3774s Mar 24 06:27:36 3774s Mar 24 06:27:36 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 3774s Mar 24 06:27:36 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 3774s Mar 24 06:27:36 Then postgres1 role is the primary after 10 seconds # None 3774s Mar 24 06:27:36 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 3774s Mar 24 06:27:36 And replication works from postgres1 to postgres0 after 15 seconds # None 3774s Mar 24 06:27:36 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3774s Mar 24 06:27:36 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 3774s Mar 24 06:27:36 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 3774s Mar 24 06:27:36 Then postgres0 role is the primary after 10 seconds # None 3774s Mar 24 06:27:36 And replication works from postgres0 to postgres1 after 15 seconds # None 3774s Mar 24 06:27:36 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 3774s Mar 24 06:27:36 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 3774s Mar 24 06:27:36 3774s Mar 24 06:27:36 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 3774s Mar 24 06:27:36 Given I create a distributed table on postgres0 # None 3774s Mar 24 06:27:36 And I start a thread inserting data on postgres0 # None 3774s Mar 24 06:27:36 When I run patronictl.py switchover batman --group 1 --force # None 3774s Mar 24 06:27:36 Then I receive a response returncode 0 # None 3774s Mar 24 06:27:36 And postgres3 role is the primary after 10 seconds # None 3774s Mar 24 06:27:36 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 3774s Mar 24 06:27:36 And replication works from postgres3 to postgres2 after 15 seconds # None 3774s Mar 24 06:27:36 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3774s Mar 24 06:27:36 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 3774s Mar 24 06:27:36 And a thread is still alive # None 3774s Mar 24 06:27:36 When I run patronictl.py switchover batman --group 1 --force # None 3774s Mar 24 06:27:36 Then I receive a response returncode 0 # None 3774s Mar 24 06:27:36 And postgres2 role is the primary after 10 seconds # None 3774s Mar 24 06:27:36 And replication works from postgres2 to postgres3 after 15 seconds # None 3774s Mar 24 06:27:36 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3774s Mar 24 06:27:36 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 3774s Mar 24 06:27:36 And a thread is still alive # None 3774s Mar 24 06:27:36 When I stop a thread # None 3774s Mar 24 06:27:36 Then a distributed table on postgres0 has expected rows # None 3774s Mar 24 06:27:36 3774s Mar 24 06:27:36 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 3774s Mar 24 06:27:36 Given I cleanup a distributed table on postgres0 # None 3774s Mar 24 06:27:36 And I start a thread inserting data on postgres0 # None 3774s Mar 24 06:27:36 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3774s Mar 24 06:27:36 Then I receive a response returncode 0 # None 3774s Mar 24 06:27:36 And postgres2 role is the primary after 10 seconds # None 3774s Mar 24 06:27:36 And replication works from postgres2 to postgres3 after 15 seconds # None 3774s Mar 24 06:27:36 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 3774s Mar 24 06:27:36 And a thread is still alive # None 3774s Mar 24 06:27:36 When I stop a thread # None 3774s Mar 24 06:27:36 Then a distributed table on postgres0 has expected rows # None 3780s Mar 24 06:27:42 3780s Mar 24 06:27:42 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 3780s Mar 24 06:27:42 Given I start postgres4 in citus group 2 # None 3780s Mar 24 06:27:42 Then postgres4 is a leader in a group 2 after 10 seconds # None 3780s Mar 24 06:27:42 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 3780s Mar 24 06:27:42 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 3780s Mar 24 06:27:42 Then I receive a response returncode 0 # None 3780s Mar 24 06:27:42 And I receive a response output "+ttl: 20" # None 3780s Mar 24 06:27:42 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 3780s Mar 24 06:27:42 When I shut down postgres4 # None 3780s Mar 24 06:27:42 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 3780s Mar 24 06:27:42 When I run patronictl.py restart batman postgres2 --group 1 --force # None 3780s Mar 24 06:27:42 Then a transaction finishes in 20 seconds # None 3780s Mar 24 06:27:42 3780s Mar 24 06:27:42 Feature: custom bootstrap # features/custom_bootstrap.feature:1 3780s Mar 24 06:27:42 We should check that patroni can bootstrap a new cluster from a backup 3780s Mar 24 06:27:42 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 3780s Mar 24 06:27:42 Given I start postgres0 # features/steps/basic_replication.py:8 3787s Mar 24 06:27:49 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3787s Mar 24 06:27:49 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 3787s Mar 24 06:27:49 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 3795s Mar 24 06:27:57 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 3796s Mar 24 06:27:58 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:89 3796s Mar 24 06:27:58 3796s Mar 24 06:27:58 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 3796s Mar 24 06:27:58 Given I add the table bar to postgres1 # features/steps/basic_replication.py:49 3796s Mar 24 06:27:58 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 3798s Mar 24 06:28:00 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 3809s Mar 24 06:28:11 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 3809s Mar 24 06:28:11 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:89 3827s Mar 24 06:28:28 3827s Mar 24 06:28:28 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 3827s Mar 24 06:28:28 We should check the basic dcs failsafe mode functioning 3827s Mar 24 06:28:28 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 3827s Mar 24 06:28:28 Given I start postgres0 # features/steps/basic_replication.py:8 3833s Mar 24 06:28:35 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 3834s Mar 24 06:28:36 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 3834s Mar 24 06:28:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"loop_wait": 2, "ttl": 20, "retry_timeout": 3, "failsafe_mode": true} # features/steps/patroni_api.py:71 3834s Mar 24 06:28:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 3834s Mar 24 06:28:36 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 3834s Mar 24 06:28:36 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 3834s Mar 24 06:28:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 3834s Mar 24 06:28:36 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 3834s Mar 24 06:28:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}},"slots":{"dcs_slot_1": null,"postgres0":null}} # features/steps/patroni_api.py:71 3834s Mar 24 06:28:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 3834s Mar 24 06:28:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots": {"dcs_slot_0": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 3834s Mar 24 06:28:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 3834s Mar 24 06:28:36 3834s Mar 24 06:28:36 @dcs-failsafe 3834s Mar 24 06:28:36 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 3834s Mar 24 06:28:36 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3834s Mar 24 06:28:36 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 3838s Mar 24 06:28:40 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3838s Mar 24 06:28:40 3838s Mar 24 06:28:40 @dcs-failsafe 3838s Mar 24 06:28:40 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 3838s Mar 24 06:28:40 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 3838s Mar 24 06:28:40 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 3840s Mar 24 06:28:42 And I shut down postgres0 # features/steps/basic_replication.py:29 3844s Mar 24 06:28:44 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 3848s Mar 24 06:28:50 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:101 3848s Mar 24 06:28:50 3848s Mar 24 06:28:50 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 3848s Mar 24 06:28:50 Given I start postgres0 # features/steps/basic_replication.py:8 3855s Mar 24 06:28:57 And I start postgres1 # features/steps/basic_replication.py:8 3855s Mar 24 06:28:57 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3855s Mar 24 06:28:57 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 3855s Mar 24 06:28:57 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 3860s Mar 24 06:29:02 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 3860s Mar 24 06:29:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 3860s Mar 24 06:29:02 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 3860s Mar 24 06:29:02 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 3860s Mar 24 06:29:02 3860s Mar 24 06:29:02 @dcs-failsafe @slot-advance 3860s Mar 24 06:29:02 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 3860s Mar 24 06:29:02 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 3860s Mar 24 06:29:02 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3866s Mar 24 06:29:06 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3866s Mar 24 06:29:06 And DCS is down # features/steps/dcs_failsafe_mode.py:4 3866s Mar 24 06:29:06 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # features/steps/patroni_api.py:156 3870s Mar 24 06:29:12 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3870s Mar 24 06:29:12 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:101 3870s Mar 24 06:29:12 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:108 3871s Mar 24 06:29:13 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 3871s Mar 24 06:29:13 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 3871s Mar 24 06:29:13 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 3877s Mar 24 06:29:19 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 3877s Mar 24 06:29:19 3877s Mar 24 06:29:19 @dcs-failsafe 3877s Mar 24 06:29:19 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 3877s Mar 24 06:29:19 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3877s Mar 24 06:29:19 And I kill postgres1 # features/steps/basic_replication.py:34 3878s Mar 24 06:29:20 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 3878s Mar 24 06:29:20 waiting for server to shut down.... done 3878s Mar 24 06:29:20 server stopped 3878s Mar 24 06:29:20 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:101 3880s Mar 24 06:29:22 3880s Mar 24 06:29:22 @dcs-failsafe 3880s Mar 24 06:29:22 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 3880s Mar 24 06:29:22 Given I kill postgres0 # features/steps/basic_replication.py:34 3881s Mar 24 06:29:23 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 3881s Mar 24 06:29:23 waiting for server to shut down.... done 3881s Mar 24 06:29:23 server stopped 3881s Mar 24 06:29:23 And DCS is up # features/steps/dcs_failsafe_mode.py:9 3881s Mar 24 06:29:23 When I start postgres1 # features/steps/basic_replication.py:8 3887s Mar 24 06:29:29 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3887s Mar 24 06:29:29 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:101 3890s Mar 24 06:29:32 3890s Mar 24 06:29:32 @dcs-failsafe 3890s Mar 24 06:29:32 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 3890s Mar 24 06:29:32 Given I start postgres0 # features/steps/basic_replication.py:8 3898s Mar 24 06:29:40 And I start postgres2 # features/steps/basic_replication.py:8 3907s Mar 24 06:29:48 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 3909s Mar 24 06:29:51 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 3909s Mar 24 06:29:51 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 3909s Mar 24 06:29:51 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:108 3909s Mar 24 06:29:51 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:108 3910s Mar 24 06:29:52 3910s Mar 24 06:29:52 @dcs-failsafe @slot-advance 3910s Mar 24 06:29:52 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 3910s Mar 24 06:29:52 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 3910s Mar 24 06:29:52 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 3917s Mar 24 06:29:59 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 3918s Mar 24 06:30:00 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 3918s Mar 24 06:30:00 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 3920s Mar 24 06:30:02 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3920s Mar 24 06:30:02 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3920s Mar 24 06:30:02 3920s Mar 24 06:30:02 @dcs-failsafe 3920s Mar 24 06:30:02 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:98 3920s Mar 24 06:30:02 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 3920s Mar 24 06:30:02 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 3925s Mar 24 06:30:07 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 3925s Mar 24 06:30:07 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:101 3925s Mar 24 06:30:07 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:101 3925s Mar 24 06:30:07 3925s Mar 24 06:30:07 @dcs-failsafe @slot-advance 3925s Mar 24 06:30:07 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:107 3925s Mar 24 06:30:07 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:108 3925s Mar 24 06:30:07 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:108 3925s Mar 24 06:30:07 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 3925s Mar 24 06:30:07 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 3925s Mar 24 06:30:07 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 3932s Mar 24 06:30:14 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 3932s Mar 24 06:30:14 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 3932s Mar 24 06:30:14 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3932s Mar 24 06:30:14 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 3946s Mar 24 06:30:28 3946s Mar 24 06:30:28 Feature: ignored slots # features/ignored_slots.feature:1 3946s Mar 24 06:30:28 3946s Mar 24 06:30:28 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 3946s Mar 24 06:30:28 Given I start postgres1 # features/steps/basic_replication.py:8 3952s Mar 24 06:30:34 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3954s Mar 24 06:30:35 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 3954s Mar 24 06:30:35 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 3954s Mar 24 06:30:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 3954s Mar 24 06:30:36 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 3954s Mar 24 06:30:36 When I shut down postgres1 # features/steps/basic_replication.py:29 3956s Mar 24 06:30:38 And I start postgres1 # features/steps/basic_replication.py:8 3961s Mar 24 06:30:43 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 3963s Mar 24 06:30:45 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3964s Mar 24 06:30:46 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:101 3964s Mar 24 06:30:46 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3964s Mar 24 06:30:46 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3964s Mar 24 06:30:46 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3964s Mar 24 06:30:46 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3964s Mar 24 06:30:46 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 3964s Mar 24 06:30:46 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3964s Mar 24 06:30:46 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3964s Mar 24 06:30:46 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3964s Mar 24 06:30:46 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3964s Mar 24 06:30:46 When I start postgres0 # features/steps/basic_replication.py:8 3970s Mar 24 06:30:52 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3970s Mar 24 06:30:52 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 3970s Mar 24 06:30:52 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 3971s Mar 24 06:30:53 When I shut down postgres1 # features/steps/basic_replication.py:29 3974s Mar 24 06:30:56 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3974s Mar 24 06:30:56 When I start postgres1 # features/steps/basic_replication.py:8 3979s Mar 24 06:31:01 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:101 3979s Mar 24 06:31:01 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 3979s Mar 24 06:31:01 And I sleep for 2 seconds # features/steps/patroni_api.py:39 3981s Mar 24 06:31:03 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3981s Mar 24 06:31:03 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3981s Mar 24 06:31:03 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3981s Mar 24 06:31:03 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3981s Mar 24 06:31:03 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 3981s Mar 24 06:31:03 When I shut down postgres0 # features/steps/basic_replication.py:29 3983s Mar 24 06:31:05 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 3984s Mar 24 06:31:06 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3984s Mar 24 06:31:06 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3984s Mar 24 06:31:06 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3984s Mar 24 06:31:06 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 3995s Mar 24 06:31:15 3995s Mar 24 06:31:15 Feature: patroni api # features/patroni_api.feature:1 3995s Mar 24 06:31:15 We should check that patroni correctly responds to valid and not-valid API requests. 3995s Mar 24 06:31:15 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 3995s Mar 24 06:31:15 Given I start postgres0 # features/steps/basic_replication.py:8 3999s Mar 24 06:31:21 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4000s Mar 24 06:31:22 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 4000s Mar 24 06:31:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 4000s Mar 24 06:31:22 And I receive a response state running # features/steps/patroni_api.py:98 4000s Mar 24 06:31:22 And I receive a response role master # features/steps/patroni_api.py:98 4000s Mar 24 06:31:22 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 4000s Mar 24 06:31:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 4000s Mar 24 06:31:22 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 4000s Mar 24 06:31:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 4000s Mar 24 06:31:22 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 4000s Mar 24 06:31:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 4000s Mar 24 06:31:22 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 4000s Mar 24 06:31:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 4000s Mar 24 06:31:22 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 4000s Mar 24 06:31:22 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 4004s Mar 24 06:31:26 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 4004s Mar 24 06:31:26 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 4004s Mar 24 06:31:26 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 4004s Mar 24 06:31:26 Then I receive a response code 412 # features/steps/patroni_api.py:98 4004s Mar 24 06:31:26 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 4004s Mar 24 06:31:26 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 4004s Mar 24 06:31:26 Then I receive a response code 400 # features/steps/patroni_api.py:98 4004s Mar 24 06:31:26 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 4004s Mar 24 06:31:26 Then I receive a response code 400 # features/steps/patroni_api.py:98 4004s Mar 24 06:31:26 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 4004s Mar 24 06:31:26 4004s Mar 24 06:31:26 Scenario: check local configuration reload # features/patroni_api.feature:32 4004s Mar 24 06:31:26 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 4004s Mar 24 06:31:26 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 4004s Mar 24 06:31:26 Then I receive a response code 202 # features/steps/patroni_api.py:98 4004s Mar 24 06:31:26 4004s Mar 24 06:31:26 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 4004s Mar 24 06:31:26 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 4004s Mar 24 06:31:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 4004s Mar 24 06:31:26 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 4005s Mar 24 06:31:27 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 4005s Mar 24 06:31:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 4005s Mar 24 06:31:27 And I receive a response ttl 20 # features/steps/patroni_api.py:98 4005s Mar 24 06:31:27 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 4006s Mar 24 06:31:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 4006s Mar 24 06:31:28 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 4006s Mar 24 06:31:28 And I sleep for 4 seconds # features/steps/patroni_api.py:39 4010s Mar 24 06:31:32 4010s Mar 24 06:31:32 Scenario: check the scheduled restart # features/patroni_api.feature:49 4010s Mar 24 06:31:32 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 4013s Mar 24 06:31:35 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4013s Mar 24 06:31:35 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 4013s Mar 24 06:31:35 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 4013s Mar 24 06:31:35 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"role": "replica"} # features/steps/patroni_api.py:124 4013s Mar 24 06:31:35 Then I receive a response code 202 # features/steps/patroni_api.py:98 4013s Mar 24 06:31:35 And I sleep for 8 seconds # features/steps/patroni_api.py:39 4021s Mar 24 06:31:43 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 4022s Mar 24 06:31:43 Given I issue a scheduled restart at http://127.0.0.1:8008 in 5 seconds with {"restart_pending": "True"} # features/steps/patroni_api.py:124 4022s Mar 24 06:31:44 Then I receive a response code 202 # features/steps/patroni_api.py:98 4022s Mar 24 06:31:44 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 4029s Mar 24 06:31:51 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4030s Mar 24 06:31:52 4030s Mar 24 06:31:52 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 4030s Mar 24 06:31:52 Given I start postgres1 # features/steps/basic_replication.py:8 4037s Mar 24 06:31:59 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 4038s Mar 24 06:32:00 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 4042s Mar 24 06:32:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4042s Mar 24 06:32:04 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 4043s Mar 24 06:32:05 waiting for server to shut down.... done 4043s Mar 24 06:32:05 server stopped 4043s Mar 24 06:32:05 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4043s Mar 24 06:32:05 Then I receive a response code 503 # features/steps/patroni_api.py:98 4043s Mar 24 06:32:05 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 4044s Mar 24 06:32:06 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 4049s Mar 24 06:32:11 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4049s Mar 24 06:32:11 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 4050s Mar 24 06:32:12 And I sleep for 2 seconds # features/steps/patroni_api.py:39 4052s Mar 24 06:32:14 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4052s Mar 24 06:32:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 4052s Mar 24 06:32:14 And I receive a response state running # features/steps/patroni_api.py:98 4052s Mar 24 06:32:14 And I receive a response role replica # features/steps/patroni_api.py:98 4052s Mar 24 06:32:14 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 4060s Mar 24 06:32:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4060s Mar 24 06:32:22 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 4060s Mar 24 06:32:22 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:101 4061s Mar 24 06:32:23 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 4062s Mar 24 06:32:24 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 4067s Mar 24 06:32:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4067s Mar 24 06:32:29 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 4067s Mar 24 06:32:29 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:101 4068s Mar 24 06:32:30 4068s Mar 24 06:32:30 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 4068s Mar 24 06:32:30 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 4071s Mar 24 06:32:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 4071s Mar 24 06:32:33 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 4071s Mar 24 06:32:33 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4071s Mar 24 06:32:33 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 4074s Mar 24 06:32:36 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:108 4079s Mar 24 06:32:41 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4080s Mar 24 06:32:42 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 4080s Mar 24 06:32:42 Then I receive a response code 503 # features/steps/patroni_api.py:98 4080s Mar 24 06:32:42 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 4080s Mar 24 06:32:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 4080s Mar 24 06:32:42 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 4080s Mar 24 06:32:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 4080s Mar 24 06:32:42 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4080s Mar 24 06:32:42 Then I receive a response code 503 # features/steps/patroni_api.py:98 4080s Mar 24 06:32:42 4080s Mar 24 06:32:42 Scenario: check the scheduled switchover # features/patroni_api.feature:107 4080s Mar 24 06:32:42 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 4084s Mar 24 06:32:46 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 4084s Mar 24 06:32:46 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 4084s Mar 24 06:32:46 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 4090s Mar 24 06:32:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4090s Mar 24 06:32:51 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 4094s Mar 24 06:32:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4094s Mar 24 06:32:56 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 4101s Mar 24 06:33:03 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4101s Mar 24 06:33:03 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 4104s Mar 24 06:33:06 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:108 4104s Mar 24 06:33:06 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4105s Mar 24 06:33:07 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 4105s Mar 24 06:33:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 4105s Mar 24 06:33:07 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 4105s Mar 24 06:33:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 4105s Mar 24 06:33:07 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 4105s Mar 24 06:33:07 Then I receive a response code 503 # features/steps/patroni_api.py:98 4105s Mar 24 06:33:07 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 4105s Mar 24 06:33:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 4117s Mar 24 06:33:19 4117s Mar 24 06:33:19 Feature: permanent slots # features/permanent_slots.feature:1 4117s Mar 24 06:33:19 4117s Mar 24 06:33:19 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 4117s Mar 24 06:33:19 Given I start postgres0 # features/steps/basic_replication.py:8 4124s Mar 24 06:33:26 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4125s Mar 24 06:33:27 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 4125s Mar 24 06:33:27 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 4125s Mar 24 06:33:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 4125s Mar 24 06:33:27 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 4125s Mar 24 06:33:27 When I start postgres1 # features/steps/basic_replication.py:8 4132s Mar 24 06:33:34 And I start postgres2 # features/steps/basic_replication.py:8 4139s Mar 24 06:33:41 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 4148s Mar 24 06:33:50 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 4148s Mar 24 06:33:50 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 4148s Mar 24 06:33:50 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 4148s Mar 24 06:33:50 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 4148s Mar 24 06:33:50 4148s Mar 24 06:33:50 @slot-advance 4148s Mar 24 06:33:50 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:18 4148s Mar 24 06:33:50 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 4155s Mar 24 06:33:57 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 4155s Mar 24 06:33:57 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 4156s Mar 24 06:33:58 4156s Mar 24 06:33:58 @slot-advance 4156s Mar 24 06:33:58 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:24 4156s Mar 24 06:33:58 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 4164s Mar 24 06:34:06 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4164s Mar 24 06:34:06 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 4165s Mar 24 06:34:07 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 4166s Mar 24 06:34:08 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 4166s Mar 24 06:34:08 And postgres2 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 4166s Mar 24 06:34:08 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 4166s Mar 24 06:34:08 4166s Mar 24 06:34:08 @slot-advance 4166s Mar 24 06:34:08 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 4166s Mar 24 06:34:08 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 4166s Mar 24 06:34:08 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 4166s Mar 24 06:34:08 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 4166s Mar 24 06:34:08 And postgres2 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 4166s Mar 24 06:34:08 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 4166s Mar 24 06:34:08 And postgres2 has a physical replication slot named postgres1 after 2 seconds # features/steps/slots.py:80 4166s Mar 24 06:34:08 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 4166s Mar 24 06:34:08 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 4166s Mar 24 06:34:08 4166s Mar 24 06:34:08 @slot-advance 4166s Mar 24 06:34:08 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 4166s Mar 24 06:34:08 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:49 4166s Mar 24 06:34:08 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 4166s Mar 24 06:34:08 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 4166s Mar 24 06:34:08 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4168s Mar 24 06:34:10 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4168s Mar 24 06:34:10 And Logical slot test_logical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 4168s Mar 24 06:34:10 And Physical slot test_physical is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 4168s Mar 24 06:34:10 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 4170s Mar 24 06:34:12 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 4170s Mar 24 06:34:12 And Physical slot postgres1 is in sync between postgres0 and postgres2 after 10 seconds # features/steps/slots.py:51 4170s Mar 24 06:34:12 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 4172s Mar 24 06:34:14 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 4172s Mar 24 06:34:14 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 4172s Mar 24 06:34:14 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 4172s Mar 24 06:34:14 4172s Mar 24 06:34:14 @slot-advance 4172s Mar 24 06:34:14 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:62 4172s Mar 24 06:34:14 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:96 4172s Mar 24 06:34:14 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:96 4172s Mar 24 06:34:14 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:96 4172s Mar 24 06:34:14 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:102 4172s Mar 24 06:34:14 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:96 4172s Mar 24 06:34:14 4172s Mar 24 06:34:14 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:69 4172s Mar 24 06:34:14 Given I shut down postgres3 # features/steps/basic_replication.py:29 4173s Mar 24 06:34:15 And I shut down postgres2 # features/steps/basic_replication.py:29 4174s Mar 24 06:34:16 And I shut down postgres0 # features/steps/basic_replication.py:29 4176s Mar 24 06:34:18 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 4176s Mar 24 06:34:18 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 4176s Mar 24 06:34:18 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 4188s Mar 24 06:34:30 4188s Mar 24 06:34:30 Feature: priority replication # features/priority_failover.feature:1 4188s Mar 24 06:34:30 We should check that we can give nodes priority during failover 4188s Mar 24 06:34:30 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 4188s Mar 24 06:34:30 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 4195s Mar 24 06:34:37 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 4201s Mar 24 06:34:43 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:108 4202s Mar 24 06:34:44 When I shut down postgres0 # features/steps/basic_replication.py:29 4204s Mar 24 06:34:46 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:117 4206s Mar 24 06:34:48 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:101 4206s Mar 24 06:34:48 When I start postgres0 # features/steps/basic_replication.py:8 4211s Mar 24 06:34:53 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4213s Mar 24 06:34:55 4213s Mar 24 06:34:55 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 4213s Mar 24 06:34:55 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 4221s Mar 24 06:35:03 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 4234s Mar 24 06:35:16 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:108 4236s Mar 24 06:35:17 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:108 4237s Mar 24 06:35:19 When I shut down postgres0 # features/steps/basic_replication.py:29 4241s Mar 24 06:35:23 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4241s Mar 24 06:35:23 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:117 4241s Mar 24 06:35:23 4241s Mar 24 06:35:23 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 4241s Mar 24 06:35:23 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 4241s Mar 24 06:35:23 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 4241s Mar 24 06:35:23 Then I receive a response code 202 # features/steps/patroni_api.py:98 4241s Mar 24 06:35:23 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:117 4243s Mar 24 06:35:25 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 4244s Mar 24 06:35:26 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 4244s Mar 24 06:35:26 Then I receive a response code 412 # features/steps/patroni_api.py:98 4244s Mar 24 06:35:26 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 4244s Mar 24 06:35:26 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 4244s Mar 24 06:35:26 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 4244s Mar 24 06:35:26 Then I receive a response code 202 # features/steps/patroni_api.py:98 4244s Mar 24 06:35:26 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:117 4246s Mar 24 06:35:28 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 4247s Mar 24 06:35:29 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 4250s Mar 24 06:35:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 4250s Mar 24 06:35:32 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4266s Mar 24 06:35:48 4266s Mar 24 06:35:48 Feature: recovery # features/recovery.feature:1 4266s Mar 24 06:35:48 We want to check that crashed postgres is started back 4266s Mar 24 06:35:48 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 4266s Mar 24 06:35:48 Given I start postgres0 # features/steps/basic_replication.py:8 4272s Mar 24 06:35:54 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4273s Mar 24 06:35:55 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 4273s Mar 24 06:35:55 When I start postgres1 # features/steps/basic_replication.py:8 4285s Mar 24 06:36:07 And I add the table foo to postgres0 # features/steps/basic_replication.py:49 4285s Mar 24 06:36:07 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 4286s Mar 24 06:36:08 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 4286s Mar 24 06:36:08 waiting for server to shut down.... done 4286s Mar 24 06:36:08 server stopped 4286s Mar 24 06:36:08 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4290s Mar 24 06:36:12 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 4290s Mar 24 06:36:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 4290s Mar 24 06:36:12 And I receive a response role master # features/steps/patroni_api.py:98 4290s Mar 24 06:36:12 And I receive a response timeline 1 # features/steps/patroni_api.py:98 4290s Mar 24 06:36:12 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 4291s Mar 24 06:36:13 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 4292s Mar 24 06:36:14 4292s Mar 24 06:36:14 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 4292s Mar 24 06:36:14 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 4292s Mar 24 06:36:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 4292s Mar 24 06:36:14 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 4292s Mar 24 06:36:14 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 4292s Mar 24 06:36:14 waiting for server to shut down.... done 4292s Mar 24 06:36:14 server stopped 4292s Mar 24 06:36:14 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 4295s Mar 24 06:36:17 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4305s Mar 24 06:36:27 4305s Mar 24 06:36:27 Feature: standby cluster # features/standby_cluster.feature:1 4305s Mar 24 06:36:27 4305s Mar 24 06:36:27 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 4305s Mar 24 06:36:27 Given I start postgres1 # features/steps/basic_replication.py:8 4312s Mar 24 06:36:34 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 4312s Mar 24 06:36:34 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 4312s Mar 24 06:36:34 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 4312s Mar 24 06:36:34 Then I receive a response code 200 # features/steps/patroni_api.py:98 4312s Mar 24 06:36:34 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 4312s Mar 24 06:36:34 And I sleep for 3 seconds # features/steps/patroni_api.py:39 4315s Mar 24 06:36:37 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 4315s Mar 24 06:36:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 4315s Mar 24 06:36:37 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 4317s Mar 24 06:36:39 When I start postgres0 # features/steps/basic_replication.py:8 4323s Mar 24 06:36:45 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 4325s Mar 24 06:36:47 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:108 4326s Mar 24 06:36:48 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 4326s Mar 24 06:36:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 4326s Mar 24 06:36:48 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 4326s Mar 24 06:36:48 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 4326s Mar 24 06:36:48 4326s Mar 24 06:36:48 @slot-advance 4326s Mar 24 06:36:48 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 4326s Mar 24 06:36:48 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 4331s Mar 24 06:36:53 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 4336s Mar 24 06:36:58 4336s Mar 24 06:36:58 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 4336s Mar 24 06:36:58 When I shut down postgres1 # features/steps/basic_replication.py:29 4339s Mar 24 06:37:01 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4339s Mar 24 06:37:01 And "members/postgres0" key in DCS has role=master after 3 seconds # features/steps/cascading_replication.py:23 4339s Mar 24 06:37:01 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 4339s Mar 24 06:37:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 4339s Mar 24 06:37:01 4339s Mar 24 06:37:01 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 4339s Mar 24 06:37:01 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 4346s Mar 24 06:37:06 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 4346s Mar 24 06:37:08 When I add the table foo to postgres0 # features/steps/basic_replication.py:49 4346s Mar 24 06:37:08 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:89 4347s Mar 24 06:37:09 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 4347s Mar 24 06:37:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 4347s Mar 24 06:37:09 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 4347s Mar 24 06:37:09 And I sleep for 3 seconds # features/steps/patroni_api.py:39 4350s Mar 24 06:37:12 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 4351s Mar 24 06:37:13 Then I receive a response code 503 # features/steps/patroni_api.py:98 4351s Mar 24 06:37:13 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 4351s Mar 24 06:37:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 4351s Mar 24 06:37:13 And I receive a response role standby_leader # features/steps/patroni_api.py:98 4351s Mar 24 06:37:13 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 4351s Mar 24 06:37:13 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 4357s Mar 24 06:37:19 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:101 4357s Mar 24 06:37:19 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:89 4358s Mar 24 06:37:20 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 4358s Mar 24 06:37:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 4358s Mar 24 06:37:20 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 4358s Mar 24 06:37:20 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 4358s Mar 24 06:37:20 4358s Mar 24 06:37:20 Scenario: check switchover # features/standby_cluster.feature:56 4358s Mar 24 06:37:20 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 4364s Mar 24 06:37:26 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 4364s Mar 24 06:37:26 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 4367s Mar 24 06:37:29 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 4367s Mar 24 06:37:29 4367s Mar 24 06:37:29 Scenario: check failover # features/standby_cluster.feature:62 4367s Mar 24 06:37:29 When I kill postgres2 # features/steps/basic_replication.py:34 4368s Mar 24 06:37:30 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 4368s Mar 24 06:37:30 waiting for server to shut down.... done 4368s Mar 24 06:37:30 server stopped 4368s Mar 24 06:37:30 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 4387s Mar 24 06:37:49 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 4387s Mar 24 06:37:49 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 4387s Mar 24 06:37:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 4387s Mar 24 06:37:49 And I receive a response role standby_leader # features/steps/patroni_api.py:98 4387s Mar 24 06:37:49 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:108 4388s Mar 24 06:37:50 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 4403s Mar 24 06:38:05 4403s Mar 24 06:38:05 Feature: watchdog # features/watchdog.feature:1 4403s Mar 24 06:38:05 Verify that watchdog gets pinged and triggered under appropriate circumstances. 4403s Mar 24 06:38:05 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 4403s Mar 24 06:38:05 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 4409s Mar 24 06:38:11 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 4409s Mar 24 06:38:11 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4409s Mar 24 06:38:11 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 4410s Mar 24 06:38:12 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 4410s Mar 24 06:38:12 4410s Mar 24 06:38:12 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 4410s Mar 24 06:38:12 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 4414s Mar 24 06:38:16 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4414s Mar 24 06:38:16 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 4414s Mar 24 06:38:16 When I sleep for 4 seconds # features/steps/patroni_api.py:39 4418s Mar 24 06:38:20 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 4418s Mar 24 06:38:20 4418s Mar 24 06:38:20 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 4418s Mar 24 06:38:20 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 4421s Mar 24 06:38:23 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4421s Mar 24 06:38:23 When I sleep for 2 seconds # features/steps/patroni_api.py:39 4423s Mar 24 06:38:25 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 4423s Mar 24 06:38:25 4423s Mar 24 06:38:25 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 4423s Mar 24 06:38:25 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 4423s Mar 24 06:38:25 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 4427s Mar 24 06:38:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 4427s Mar 24 06:38:29 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 4427s Mar 24 06:38:29 4427s Mar 24 06:38:29 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 4427s Mar 24 06:38:29 Given I shut down postgres0 # features/steps/basic_replication.py:29 4429s Mar 24 06:38:31 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 4429s Mar 24 06:38:31 4429s Mar 24 06:38:31 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 4429s Mar 24 06:38:31 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 4429s Mar 24 06:38:31 And I start postgres0 with watchdog # features/steps/watchdog.py:16 4433s Mar 24 06:38:35 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:101 4435s Mar 24 06:38:37 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 4435s Mar 24 06:38:37 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 4466s Mar 24 06:39:08 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6741.125318 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4030.926837 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4900.254060 4468s Mar 24 06:39:10 Skipping duplicate data .coverage.autopkgtest.4115.987251 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3773.352646 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5195.338878 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6031.147118 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5181.113116 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5454.145205 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6808.374785 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5674.118554 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4996.831947 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3588.324156 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6488.296975 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5836.888081 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4676.022745 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6382.195546 4468s Mar 24 06:39:10 Skipping duplicate data .coverage.autopkgtest.6229.830122 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5555.481117 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3620.307978 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6853.732487 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5602.978794 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6232.573073 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3815.043478 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5273.632251 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3541.012217 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6566.935745 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4161.178248 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5930.975059 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5879.764064 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6787.764027 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5131.638522 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6792.361612 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6784.839442 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5330.201424 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5461.631267 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4903.600610 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3950.704795 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4118.090075 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4736.550742 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5639.864478 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6379.457046 4468s Mar 24 06:39:10 Skipping duplicate data .coverage.autopkgtest.5128.236803 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3947.016981 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5295.288411 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4218.507246 4468s Mar 24 06:39:10 Skipping duplicate data .coverage.autopkgtest.5267.580387 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3679.290614 4468s Mar 24 06:39:10 Skipping duplicate data .coverage.autopkgtest.5833.972287 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4602.691788 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3993.072588 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3870.282548 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6649.037705 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3712.959389 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3544.276263 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5451.970500 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6444.195653 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5978.011291 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5059.512967 4468s Mar 24 06:39:10 Skipping duplicate data .coverage.autopkgtest.6737.987668 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.6275.513181 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.3811.959145 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4312.076352 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4955.979982 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5231.633810 4468s Mar 24 06:39:10 Skipping duplicate data .coverage.autopkgtest.4111.296735 4468s Mar 24 06:39:10 Skipping duplicate data .coverage.autopkgtest.5552.197221 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.4315.988541 4468s Mar 24 06:39:10 Combined data file .coverage.autopkgtest.5707.762680 4473s Mar 24 06:39:15 Name Stmts Miss Cover 4473s Mar 24 06:39:15 ------------------------------------------------------------------------------------------------------------- 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 126 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py 213 187 12% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 919 710 23% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py 125 50 60% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/cmac.py 47 35 26% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ec.py 150 114 24% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/rsa.py 262 217 17% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/utils.py 35 28 20% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 73 32 56% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 73 13 82% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 18 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 80 35 56% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 118 47 60% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 134 57 57% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 219 56 74% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 45 12 73% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 47 20 57% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 184 106 42% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 43 12 72% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 129 30 77% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 138 57 59% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 128 20 84% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 117 27 77% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 22 12 45% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/pkcs12.py 82 49 40% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 761 605 20% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/utils.py 76 23 70% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/x509/base.py 458 224 51% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1038 569 45% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/x509/name.py 233 142 39% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/__init__.py 5 2 60% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/_version.py 2 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 813 436 46% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 185 150 19% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 241 206 15% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 161 121 25% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 800 626 22% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/api.py 768 288 62% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/collections.py 43 5 88% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/config.py 416 95 77% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/config_generator.py 210 153 27% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 667 88 87% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 318 44 86% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/ha.py 1239 303 76% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/log.py 155 31 80% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 826 176 79% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 253 63 75% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/citus.py 258 193 25% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 806 217 73% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 41 8 80% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 415 169 59% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 332 34 90% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 129 19 85% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 165 25 85% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/psycopg.py 41 15 63% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/request.py 62 6 90% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/tags.py 35 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/utils.py 318 110 65% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/validator.py 284 194 32% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 133 20% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 491 53% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 9 85% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/six.py 504 250 50% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 108 54% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 4473s Mar 24 06:39:15 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 4473s Mar 24 06:39:15 patroni/__init__.py 13 2 85% 4473s Mar 24 06:39:15 patroni/__main__.py 199 199 0% 4473s Mar 24 06:39:15 patroni/api.py 768 768 0% 4473s Mar 24 06:39:15 patroni/async_executor.py 96 69 28% 4473s Mar 24 06:39:15 patroni/collections.py 43 11 74% 4473s Mar 24 06:39:15 patroni/config.py 416 199 52% 4473s Mar 24 06:39:15 patroni/config_generator.py 210 210 0% 4473s Mar 24 06:39:15 patroni/ctl.py 940 409 56% 4473s Mar 24 06:39:15 patroni/daemon.py 76 6 92% 4473s Mar 24 06:39:15 patroni/dcs/__init__.py 667 264 60% 4473s Mar 24 06:39:15 patroni/dcs/consul.py 482 482 0% 4473s Mar 24 06:39:15 patroni/dcs/etcd3.py 683 683 0% 4473s Mar 24 06:39:15 patroni/dcs/etcd.py 602 602 0% 4473s Mar 24 06:39:15 patroni/dcs/exhibitor.py 60 60 0% 4473s Mar 24 06:39:15 patroni/dcs/kubernetes.py 935 935 0% 4473s Mar 24 06:39:15 patroni/dcs/raft.py 318 73 77% 4473s Mar 24 06:39:15 patroni/dcs/zookeeper.py 287 287 0% 4473s Mar 24 06:39:15 patroni/exceptions.py 16 1 94% 4473s Mar 24 06:39:15 patroni/file_perm.py 43 15 65% 4473s Mar 24 06:39:15 patroni/ha.py 1239 1239 0% 4473s Mar 24 06:39:15 patroni/log.py 155 55 65% 4473s Mar 24 06:39:15 patroni/postgresql/__init__.py 826 655 21% 4473s Mar 24 06:39:15 patroni/postgresql/bootstrap.py 253 224 11% 4473s Mar 24 06:39:15 patroni/postgresql/callback_executor.py 55 34 38% 4473s Mar 24 06:39:15 patroni/postgresql/cancellable.py 104 84 19% 4473s Mar 24 06:39:15 patroni/postgresql/citus.py 258 217 16% 4473s Mar 24 06:39:15 patroni/postgresql/config.py 806 693 14% 4473s Mar 24 06:39:15 patroni/postgresql/connection.py 75 50 33% 4473s Mar 24 06:39:15 patroni/postgresql/misc.py 41 29 29% 4473s Mar 24 06:39:15 patroni/postgresql/postmaster.py 170 139 18% 4473s Mar 24 06:39:15 patroni/postgresql/rewind.py 415 415 0% 4473s Mar 24 06:39:15 patroni/postgresql/slots.py 332 285 14% 4473s Mar 24 06:39:15 patroni/postgresql/sync.py 129 96 26% 4473s Mar 24 06:39:15 patroni/postgresql/validator.py 165 53 68% 4473s Mar 24 06:39:15 patroni/psycopg.py 41 27 34% 4473s Mar 24 06:39:15 patroni/raft_controller.py 22 1 95% 4473s Mar 24 06:39:15 patroni/request.py 62 6 90% 4473s Mar 24 06:39:15 patroni/scripts/__init__.py 0 0 100% 4473s Mar 24 06:39:15 patroni/scripts/aws.py 59 59 0% 4473s Mar 24 06:39:15 patroni/scripts/wale_restore.py 207 207 0% 4473s Mar 24 06:39:15 patroni/tags.py 35 10 71% 4473s Mar 24 06:39:15 patroni/utils.py 318 193 39% 4473s Mar 24 06:39:15 patroni/validator.py 284 201 29% 4473s Mar 24 06:39:15 patroni/version.py 1 0 100% 4473s Mar 24 06:39:15 patroni/watchdog/__init__.py 2 2 0% 4473s Mar 24 06:39:15 patroni/watchdog/base.py 203 203 0% 4473s Mar 24 06:39:15 patroni/watchdog/linux.py 135 135 0% 4473s Mar 24 06:39:15 ------------------------------------------------------------------------------------------------------------- 4473s Mar 24 06:39:15 TOTAL 45066 25953 42% 4473s Mar 24 06:39:15 11 features passed, 0 failed, 1 skipped 4473s Mar 24 06:39:15 52 scenarios passed, 0 failed, 6 skipped 4473s Mar 24 06:39:15 509 steps passed, 0 failed, 63 skipped, 0 undefined 4473s Mar 24 06:39:15 Took 11m51.329s 4473s ### End 16 acceptance-raft ### 4473s + echo '### End 16 acceptance-raft ###' 4473s + rm -f '/tmp/pgpass?' 4473s ++ id -u 4473s + '[' 1000 -eq 0 ']' 4473s autopkgtest [06:39:15]: test acceptance-raft: -----------------------] 4474s autopkgtest [06:39:16]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 4474s acceptance-raft PASS 4474s autopkgtest [06:39:16]: test test: preparing testbed 4657s autopkgtest [06:42:19]: testbed dpkg architecture: arm64 4658s autopkgtest [06:42:20]: testbed apt version: 2.7.12 4658s autopkgtest [06:42:20]: @@@@@@@@@@@@@@@@@@@@ test bed setup 4659s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 4659s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 4659s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 4659s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [4009 kB] 4660s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 4660s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [707 kB] 4660s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 4660s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 4660s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 4660s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4359 kB] 4660s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 4660s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 4660s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 4666s Fetched 9865 kB in 3s (3243 kB/s) 4667s Reading package lists... 4670s Reading package lists... 4671s Building dependency tree... 4671s Reading state information... 4672s Calculating upgrade... 4673s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4673s Reading package lists... 4674s Building dependency tree... 4674s Reading state information... 4675s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4676s sh: Attempting to set up Debian/Ubuntu apt sources automatically 4676s sh: Distribution appears to be Ubuntu 4678s Reading package lists... 4679s Building dependency tree... 4679s Reading state information... 4680s eatmydata is already the newest version (131-1). 4680s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4680s Reading package lists... 4680s Building dependency tree... 4680s Reading state information... 4682s dbus is already the newest version (1.14.10-4ubuntu1). 4682s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4682s Reading package lists... 4682s Building dependency tree... 4682s Reading state information... 4684s rng-tools-debian is already the newest version (2.4). 4684s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4684s Reading package lists... 4684s Building dependency tree... 4684s Reading state information... 4685s The following packages will be REMOVED: 4686s cloud-init* python3-configobj* python3-debconf* 4686s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 4686s After this operation, 3256 kB disk space will be freed. 4686s (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 ... 75911 files and directories currently installed.) 4686s Removing cloud-init (24.1.2-0ubuntu1) ... 4688s Removing python3-configobj (5.0.8-3) ... 4688s Removing python3-debconf (1.5.86) ... 4688s Processing triggers for man-db (2.12.0-3) ... 4689s (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 ... 75522 files and directories currently installed.) 4689s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 4690s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 4690s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 4690s invoke-rc.d: policy-rc.d denied execution of try-restart. 4691s Reading package lists... 4691s Building dependency tree... 4691s Reading state information... 4693s linux-generic is already the newest version (6.8.0-11.11+1). 4693s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4693s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 4693s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 4693s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 4699s Reading package lists... 4699s Reading package lists... 4699s Building dependency tree... 4699s Reading state information... 4700s Calculating upgrade... 4701s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4701s Reading package lists... 4702s Building dependency tree... 4702s Reading state information... 4703s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 4703s autopkgtest [06:43:05]: rebooting testbed after setup commands that affected boot 4871s Reading package lists... 4871s Building dependency tree... 4871s Reading state information... 4872s Starting pkgProblemResolver with broken count: 0 4872s Starting 2 pkgProblemResolver with broken count: 0 4872s Done 4873s The following additional packages will be installed: 4873s fonts-font-awesome fonts-lato libc-ares2 libev4 libjs-jquery 4873s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 4873s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 4873s libjs-underscore libpq5 patroni patroni-doc python3-boto3 python3-botocore 4873s python3-cachetools python3-cdiff python3-click python3-colorama 4873s python3-consul python3-coverage python3-dateutil python3-dnspython 4873s python3-etcd python3-eventlet python3-flake8 python3-gevent 4873s python3-google-auth python3-greenlet python3-iniconfig python3-jmespath 4873s python3-kazoo python3-kerberos python3-kubernetes python3-mccabe 4873s python3-mock python3-packaging python3-pluggy python3-prettytable 4873s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 4873s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 4873s python3-pysyncobj python3-pytest python3-pytest-cov 4873s python3-requests-oauthlib python3-rsa python3-s3transfer python3-wcwidth 4873s python3-websocket python3-zope.event python3-zope.interface 4873s sphinx-rtd-theme-common 4873s Suggested packages: 4873s postgresql etcd-server | consul | zookeeperd vip-manager haproxy 4873s python3-tornado python3-twisted python-coverage-doc python3-trio 4873s python3-aioquic python3-h2 python3-httpx python3-httpcore etcd 4873s python-eventlet-doc python-gevent-doc python-greenlet-dev 4873s python-greenlet-doc python-kazoo-doc python-mock-doc python-psycopg2-doc 4873s Recommended packages: 4873s javascript-common pyflakes3 4873s The following NEW packages will be installed: 4873s autopkgtest-satdep fonts-font-awesome fonts-lato libc-ares2 libev4 4873s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 4873s libjs-jquery-metadata libjs-jquery-tablesorter 4873s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libpq5 4873s patroni patroni-doc python3-boto3 python3-botocore python3-cachetools 4873s python3-cdiff python3-click python3-colorama python3-consul python3-coverage 4873s python3-dateutil python3-dnspython python3-etcd python3-eventlet 4873s python3-flake8 python3-gevent python3-google-auth python3-greenlet 4873s python3-iniconfig python3-jmespath python3-kazoo python3-kerberos 4873s python3-kubernetes python3-mccabe python3-mock python3-packaging 4873s python3-pluggy python3-prettytable python3-psutil python3-psycopg2 4873s python3-pure-sasl python3-pyasn1 python3-pyasn1-modules python3-pycodestyle 4873s python3-pyflakes python3-pysyncobj python3-pytest python3-pytest-cov 4873s python3-requests-oauthlib python3-rsa python3-s3transfer python3-wcwidth 4873s python3-websocket python3-zope.event python3-zope.interface 4873s sphinx-rtd-theme-common 4873s 0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded. 4873s Need to get 16.5 MB/16.5 MB of archives. 4873s After this operation, 154 MB of additional disk space will be used. 4873s Get:1 /tmp/autopkgtest.lAT8Md/7-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [788 B] 4874s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-lato all 2.015-1 [2781 kB] 4874s Get:3 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 4874s Get:4 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2ubuntu2 [11.5 kB] 4874s Get:5 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 4874s Get:6 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 4874s Get:7 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-3 [193 kB] 4874s Get:8 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 4874s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 4874s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-sphinxdoc all 7.2.6-4 [149 kB] 4874s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 libpq5 arm64 16.2-1 [136 kB] 4874s Get:12 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-cdiff all 1.0-1.1 [16.4 kB] 4874s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 4874s Get:14 http://ftpmaster.internal/ubuntu noble/main arm64 python3-click all 8.1.6-1 [79.0 kB] 4874s Get:15 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dateutil all 2.8.2-3 [79.2 kB] 4874s Get:16 http://ftpmaster.internal/ubuntu noble/main arm64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 4874s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 python3-prettytable all 3.6.0-1 [33.1 kB] 4874s Get:18 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psutil arm64 5.9.8-1 [196 kB] 4874s Get:19 http://ftpmaster.internal/ubuntu noble/main arm64 python3-psycopg2 arm64 2.9.9-1 [177 kB] 4874s Get:20 http://ftpmaster.internal/ubuntu noble/main arm64 python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 4874s Get:21 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-etcd all 0.4.5-4 [31.9 kB] 4874s Get:22 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-consul all 0.7.1-2 [21.6 kB] 4874s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 python3-greenlet arm64 3.0.1-2 [168 kB] 4874s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 python3-eventlet all 0.35.1-0ubuntu1 [162 kB] 4874s Get:25 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-zope.event all 5.0-0.1 [7512 B] 4874s Get:26 http://ftpmaster.internal/ubuntu noble/main arm64 python3-zope.interface arm64 6.1-1 [181 kB] 4874s Get:27 http://ftpmaster.internal/ubuntu noble/main arm64 libc-ares2 arm64 1.27.0-1 [74.1 kB] 4874s Get:28 http://ftpmaster.internal/ubuntu noble/universe arm64 libev4 arm64 1:4.33-2 [29.8 kB] 4874s Get:29 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-gevent arm64 23.9.1-0.2 [1175 kB] 4874s Get:30 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-kerberos arm64 1.1.14-3.1build8 [22.6 kB] 4874s Get:31 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pure-sasl all 0.5.1+dfsg1-4 [11.4 kB] 4874s Get:32 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-kazoo all 2.9.0-2 [103 kB] 4874s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 python3-cachetools all 5.3.0-2 [10.6 kB] 4874s Get:34 http://ftpmaster.internal/ubuntu noble/main arm64 python3-pyasn1 all 0.4.8-4 [51.2 kB] 4874s Get:35 http://ftpmaster.internal/ubuntu noble/main arm64 python3-pyasn1-modules all 0.2.8-1 [68.0 kB] 4874s Get:36 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-rsa all 4.9-2 [28.2 kB] 4874s Get:37 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-google-auth all 1.5.1-3 [35.7 kB] 4874s Get:38 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 4875s Get:39 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-websocket all 1.7.0-1 [38.1 kB] 4875s Get:40 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-kubernetes all 22.6.0-2 [330 kB] 4875s Get:41 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pysyncobj all 0.3.12-1 [38.9 kB] 4875s Get:42 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni all 3.2.2-2 [253 kB] 4875s Get:43 http://ftpmaster.internal/ubuntu noble/main arm64 sphinx-rtd-theme-common all 2.0.0+dfsg-1 [1012 kB] 4875s Get:44 http://ftpmaster.internal/ubuntu noble/universe arm64 patroni-doc all 3.2.2-2 [476 kB] 4875s Get:45 http://ftpmaster.internal/ubuntu noble/main arm64 python3-jmespath all 1.0.1-1 [21.3 kB] 4875s Get:46 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-botocore all 1.34.46+repack-1 [6211 kB] 4875s Get:47 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-s3transfer all 0.10.0-1 [53.9 kB] 4875s Get:48 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-boto3 all 1.34.18+dfsg-1 [72.3 kB] 4875s Get:49 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-coverage arm64 7.3.2-0ubuntu1 [147 kB] 4875s Get:50 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-mccabe all 0.7.0-1 [8678 B] 4875s Get:51 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pycodestyle all 2.11.1-1 [29.9 kB] 4875s Get:52 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pyflakes all 3.1.0-1 [52.6 kB] 4875s Get:53 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-flake8 all 5.0.4-4 [47.0 kB] 4875s Get:54 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 4875s Get:55 http://ftpmaster.internal/ubuntu noble/main arm64 python3-packaging all 23.2-1 [40.6 kB] 4875s Get:56 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pluggy all 1.4.0-1 [20.4 kB] 4875s Get:57 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 4875s Get:58 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 4875s Get:59 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pytest-cov all 4.1.0-1 [21.5 kB] 4875s Get:60 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-mock all 5.1.0-1 [64.1 kB] 4876s Fetched 16.5 MB in 2s (10.3 MB/s) 4876s Selecting previously unselected package fonts-lato. 4876s (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 ... 75467 files and directories currently installed.) 4876s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 4876s Unpacking fonts-lato (2.015-1) ... 4877s Selecting previously unselected package libjs-jquery. 4877s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 4877s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4877s Selecting previously unselected package libjs-jquery-hotkeys. 4877s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2ubuntu2_all.deb ... 4877s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2ubuntu2) ... 4877s Selecting previously unselected package fonts-font-awesome. 4877s Preparing to unpack .../03-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 4877s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4877s Selecting previously unselected package libjs-jquery-metadata. 4877s Preparing to unpack .../04-libjs-jquery-metadata_12-4_all.deb ... 4877s Unpacking libjs-jquery-metadata (12-4) ... 4877s Selecting previously unselected package libjs-jquery-tablesorter. 4877s Preparing to unpack .../05-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-3_all.deb ... 4877s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ... 4877s Selecting previously unselected package libjs-jquery-throttle-debounce. 4877s Preparing to unpack .../06-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 4877s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 4877s Selecting previously unselected package libjs-underscore. 4877s Preparing to unpack .../07-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 4877s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4877s Selecting previously unselected package libjs-sphinxdoc. 4877s Preparing to unpack .../08-libjs-sphinxdoc_7.2.6-4_all.deb ... 4877s Unpacking libjs-sphinxdoc (7.2.6-4) ... 4877s Selecting previously unselected package libpq5:arm64. 4877s Preparing to unpack .../09-libpq5_16.2-1_arm64.deb ... 4877s Unpacking libpq5:arm64 (16.2-1) ... 4877s Selecting previously unselected package python3-cdiff. 4877s Preparing to unpack .../10-python3-cdiff_1.0-1.1_all.deb ... 4877s Unpacking python3-cdiff (1.0-1.1) ... 4877s Selecting previously unselected package python3-colorama. 4877s Preparing to unpack .../11-python3-colorama_0.4.6-4_all.deb ... 4877s Unpacking python3-colorama (0.4.6-4) ... 4877s Selecting previously unselected package python3-click. 4877s Preparing to unpack .../12-python3-click_8.1.6-1_all.deb ... 4877s Unpacking python3-click (8.1.6-1) ... 4877s Selecting previously unselected package python3-dateutil. 4877s Preparing to unpack .../13-python3-dateutil_2.8.2-3_all.deb ... 4877s Unpacking python3-dateutil (2.8.2-3) ... 4877s Selecting previously unselected package python3-wcwidth. 4877s Preparing to unpack .../14-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 4877s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 4878s Selecting previously unselected package python3-prettytable. 4878s Preparing to unpack .../15-python3-prettytable_3.6.0-1_all.deb ... 4878s Unpacking python3-prettytable (3.6.0-1) ... 4878s Selecting previously unselected package python3-psutil. 4878s Preparing to unpack .../16-python3-psutil_5.9.8-1_arm64.deb ... 4878s Unpacking python3-psutil (5.9.8-1) ... 4878s Selecting previously unselected package python3-psycopg2. 4878s Preparing to unpack .../17-python3-psycopg2_2.9.9-1_arm64.deb ... 4878s Unpacking python3-psycopg2 (2.9.9-1) ... 4878s Selecting previously unselected package python3-dnspython. 4878s Preparing to unpack .../18-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 4878s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 4878s Selecting previously unselected package python3-etcd. 4878s Preparing to unpack .../19-python3-etcd_0.4.5-4_all.deb ... 4878s Unpacking python3-etcd (0.4.5-4) ... 4878s Selecting previously unselected package python3-consul. 4878s Preparing to unpack .../20-python3-consul_0.7.1-2_all.deb ... 4878s Unpacking python3-consul (0.7.1-2) ... 4878s Selecting previously unselected package python3-greenlet. 4878s Preparing to unpack .../21-python3-greenlet_3.0.1-2_arm64.deb ... 4878s Unpacking python3-greenlet (3.0.1-2) ... 4878s Selecting previously unselected package python3-eventlet. 4878s Preparing to unpack .../22-python3-eventlet_0.35.1-0ubuntu1_all.deb ... 4878s Unpacking python3-eventlet (0.35.1-0ubuntu1) ... 4878s Selecting previously unselected package python3-zope.event. 4878s Preparing to unpack .../23-python3-zope.event_5.0-0.1_all.deb ... 4878s Unpacking python3-zope.event (5.0-0.1) ... 4878s Selecting previously unselected package python3-zope.interface. 4878s Preparing to unpack .../24-python3-zope.interface_6.1-1_arm64.deb ... 4878s Unpacking python3-zope.interface (6.1-1) ... 4878s Selecting previously unselected package libc-ares2:arm64. 4878s Preparing to unpack .../25-libc-ares2_1.27.0-1_arm64.deb ... 4878s Unpacking libc-ares2:arm64 (1.27.0-1) ... 4878s Selecting previously unselected package libev4:arm64. 4878s Preparing to unpack .../26-libev4_1%3a4.33-2_arm64.deb ... 4878s Unpacking libev4:arm64 (1:4.33-2) ... 4878s Selecting previously unselected package python3-gevent. 4878s Preparing to unpack .../27-python3-gevent_23.9.1-0.2_arm64.deb ... 4878s Unpacking python3-gevent (23.9.1-0.2) ... 4879s Selecting previously unselected package python3-kerberos. 4879s Preparing to unpack .../28-python3-kerberos_1.1.14-3.1build8_arm64.deb ... 4879s Unpacking python3-kerberos (1.1.14-3.1build8) ... 4879s Selecting previously unselected package python3-pure-sasl. 4879s Preparing to unpack .../29-python3-pure-sasl_0.5.1+dfsg1-4_all.deb ... 4879s Unpacking python3-pure-sasl (0.5.1+dfsg1-4) ... 4879s Selecting previously unselected package python3-kazoo. 4879s Preparing to unpack .../30-python3-kazoo_2.9.0-2_all.deb ... 4879s Unpacking python3-kazoo (2.9.0-2) ... 4879s Selecting previously unselected package python3-cachetools. 4879s Preparing to unpack .../31-python3-cachetools_5.3.0-2_all.deb ... 4879s Unpacking python3-cachetools (5.3.0-2) ... 4879s Selecting previously unselected package python3-pyasn1. 4879s Preparing to unpack .../32-python3-pyasn1_0.4.8-4_all.deb ... 4879s Unpacking python3-pyasn1 (0.4.8-4) ... 4879s Selecting previously unselected package python3-pyasn1-modules. 4879s Preparing to unpack .../33-python3-pyasn1-modules_0.2.8-1_all.deb ... 4879s Unpacking python3-pyasn1-modules (0.2.8-1) ... 4879s Selecting previously unselected package python3-rsa. 4879s Preparing to unpack .../34-python3-rsa_4.9-2_all.deb ... 4879s Unpacking python3-rsa (4.9-2) ... 4879s Selecting previously unselected package python3-google-auth. 4879s Preparing to unpack .../35-python3-google-auth_1.5.1-3_all.deb ... 4879s Unpacking python3-google-auth (1.5.1-3) ... 4879s Selecting previously unselected package python3-requests-oauthlib. 4879s Preparing to unpack .../36-python3-requests-oauthlib_1.3.1-1_all.deb ... 4879s Unpacking python3-requests-oauthlib (1.3.1-1) ... 4879s Selecting previously unselected package python3-websocket. 4879s Preparing to unpack .../37-python3-websocket_1.7.0-1_all.deb ... 4879s Unpacking python3-websocket (1.7.0-1) ... 4879s Selecting previously unselected package python3-kubernetes. 4879s Preparing to unpack .../38-python3-kubernetes_22.6.0-2_all.deb ... 4879s Unpacking python3-kubernetes (22.6.0-2) ... 4879s Selecting previously unselected package python3-pysyncobj. 4880s Preparing to unpack .../39-python3-pysyncobj_0.3.12-1_all.deb ... 4880s Unpacking python3-pysyncobj (0.3.12-1) ... 4880s Selecting previously unselected package patroni. 4880s Preparing to unpack .../40-patroni_3.2.2-2_all.deb ... 4880s Unpacking patroni (3.2.2-2) ... 4880s Selecting previously unselected package sphinx-rtd-theme-common. 4880s Preparing to unpack .../41-sphinx-rtd-theme-common_2.0.0+dfsg-1_all.deb ... 4880s Unpacking sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 4880s Selecting previously unselected package patroni-doc. 4880s Preparing to unpack .../42-patroni-doc_3.2.2-2_all.deb ... 4880s Unpacking patroni-doc (3.2.2-2) ... 4880s Selecting previously unselected package python3-jmespath. 4880s Preparing to unpack .../43-python3-jmespath_1.0.1-1_all.deb ... 4880s Unpacking python3-jmespath (1.0.1-1) ... 4880s Selecting previously unselected package python3-botocore. 4880s Preparing to unpack .../44-python3-botocore_1.34.46+repack-1_all.deb ... 4880s Unpacking python3-botocore (1.34.46+repack-1) ... 4882s Selecting previously unselected package python3-s3transfer. 4882s Preparing to unpack .../45-python3-s3transfer_0.10.0-1_all.deb ... 4882s Unpacking python3-s3transfer (0.10.0-1) ... 4882s Selecting previously unselected package python3-boto3. 4882s Preparing to unpack .../46-python3-boto3_1.34.18+dfsg-1_all.deb ... 4882s Unpacking python3-boto3 (1.34.18+dfsg-1) ... 4882s Selecting previously unselected package python3-coverage. 4882s Preparing to unpack .../47-python3-coverage_7.3.2-0ubuntu1_arm64.deb ... 4882s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 4882s Selecting previously unselected package python3-mccabe. 4882s Preparing to unpack .../48-python3-mccabe_0.7.0-1_all.deb ... 4882s Unpacking python3-mccabe (0.7.0-1) ... 4882s Selecting previously unselected package python3-pycodestyle. 4882s Preparing to unpack .../49-python3-pycodestyle_2.11.1-1_all.deb ... 4882s Unpacking python3-pycodestyle (2.11.1-1) ... 4882s Selecting previously unselected package python3-pyflakes. 4882s Preparing to unpack .../50-python3-pyflakes_3.1.0-1_all.deb ... 4882s Unpacking python3-pyflakes (3.1.0-1) ... 4882s Selecting previously unselected package python3-flake8. 4882s Preparing to unpack .../51-python3-flake8_5.0.4-4_all.deb ... 4882s Unpacking python3-flake8 (5.0.4-4) ... 4882s Selecting previously unselected package python3-iniconfig. 4882s Preparing to unpack .../52-python3-iniconfig_1.1.1-2_all.deb ... 4882s Unpacking python3-iniconfig (1.1.1-2) ... 4882s Selecting previously unselected package python3-packaging. 4882s Preparing to unpack .../53-python3-packaging_23.2-1_all.deb ... 4882s Unpacking python3-packaging (23.2-1) ... 4882s Selecting previously unselected package python3-pluggy. 4882s Preparing to unpack .../54-python3-pluggy_1.4.0-1_all.deb ... 4882s Unpacking python3-pluggy (1.4.0-1) ... 4882s Selecting previously unselected package python3-pytest. 4882s Preparing to unpack .../55-python3-pytest_7.4.4-1_all.deb ... 4882s Unpacking python3-pytest (7.4.4-1) ... 4882s Selecting previously unselected package libjs-jquery-isonscreen. 4882s Preparing to unpack .../56-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 4882s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 4882s Selecting previously unselected package python3-pytest-cov. 4882s Preparing to unpack .../57-python3-pytest-cov_4.1.0-1_all.deb ... 4882s Unpacking python3-pytest-cov (4.1.0-1) ... 4882s Selecting previously unselected package python3-mock. 4882s Preparing to unpack .../58-python3-mock_5.1.0-1_all.deb ... 4882s Unpacking python3-mock (5.1.0-1) ... 4883s Selecting previously unselected package autopkgtest-satdep. 4883s Preparing to unpack .../59-7-autopkgtest-satdep.deb ... 4883s Unpacking autopkgtest-satdep (0) ... 4883s Setting up python3-iniconfig (1.1.1-2) ... 4883s Setting up fonts-lato (2.015-1) ... 4883s Setting up python3-pysyncobj (0.3.12-1) ... 4883s Setting up python3-cachetools (5.3.0-2) ... 4884s Setting up python3-colorama (0.4.6-4) ... 4884s Setting up python3-zope.event (5.0-0.1) ... 4884s Setting up python3-zope.interface (6.1-1) ... 4885s Setting up libev4:arm64 (1:4.33-2) ... 4885s Setting up python3-cdiff (1.0-1.1) ... 4885s Setting up python3-pyflakes (3.1.0-1) ... 4886s Setting up libpq5:arm64 (16.2-1) ... 4886s Setting up python3-kerberos (1.1.14-3.1build8) ... 4886s Setting up python3-coverage (7.3.2-0ubuntu1) ... 4887s Setting up libc-ares2:arm64 (1.27.0-1) ... 4887s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 4887s Setting up python3-click (8.1.6-1) ... 4887s Setting up python3-psutil (5.9.8-1) ... 4888s Setting up python3-mock (5.1.0-1) ... 4888s Setting up python3-pycodestyle (2.11.1-1) ... 4889s Setting up python3-packaging (23.2-1) ... 4889s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 4890s Setting up python3-jmespath (1.0.1-1) ... 4890s Setting up python3-greenlet (3.0.1-2) ... 4890s Setting up python3-psycopg2 (2.9.9-1) ... 4891s Setting up python3-pluggy (1.4.0-1) ... 4891s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 4892s Setting up python3-pyasn1 (0.4.8-4) ... 4893s Setting up python3-dateutil (2.8.2-3) ... 4893s Setting up python3-mccabe (0.7.0-1) ... 4893s Setting up python3-consul (0.7.1-2) ... 4894s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 4894s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2ubuntu2) ... 4894s Setting up python3-prettytable (3.6.0-1) ... 4894s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 4894s Setting up sphinx-rtd-theme-common (2.0.0+dfsg-1) ... 4894s Setting up python3-websocket (1.7.0-1) ... 4895s Setting up python3-requests-oauthlib (1.3.1-1) ... 4895s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 4895s Setting up python3-pure-sasl (0.5.1+dfsg1-4) ... 4895s Setting up python3-etcd (0.4.5-4) ... 4896s Setting up python3-pytest (7.4.4-1) ... 4896s Setting up python3-gevent (23.9.1-0.2) ... 4897s Setting up python3-flake8 (5.0.4-4) ... 4898s Setting up python3-eventlet (0.35.1-0ubuntu1) ... 4898s Setting up python3-kazoo (2.9.0-2) ... 4899s Setting up python3-pyasn1-modules (0.2.8-1) ... 4899s Setting up libjs-jquery-metadata (12-4) ... 4899s Setting up python3-botocore (1.34.46+repack-1) ... 4900s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 4900s Setting up libjs-sphinxdoc (7.2.6-4) ... 4900s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ... 4900s Setting up python3-rsa (4.9-2) ... 4900s Setting up patroni (3.2.2-2) ... 4901s Created symlink /etc/systemd/system/multi-user.target.wants/patroni.service → /usr/lib/systemd/system/patroni.service. 4902s Setting up patroni-doc (3.2.2-2) ... 4902s Setting up python3-s3transfer (0.10.0-1) ... 4903s Setting up python3-pytest-cov (4.1.0-1) ... 4903s Setting up python3-google-auth (1.5.1-3) ... 4903s Setting up python3-boto3 (1.34.18+dfsg-1) ... 4904s Setting up python3-kubernetes (22.6.0-2) ... 4907s Setting up autopkgtest-satdep (0) ... 4907s Processing triggers for man-db (2.12.0-3) ... 4907s Processing triggers for libc-bin (2.39-0ubuntu6) ... 4914s (Reading database ... 81156 files and directories currently installed.) 4914s Removing autopkgtest-satdep (0) ... 4916s autopkgtest [06:46:38]: test test: [----------------------- 4917s running test 4918s ============================= test session starts ============================== 4918s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3 4918s cachedir: .pytest_cache 4918s rootdir: /tmp/autopkgtest.lAT8Md/build.y4s/src 4918s plugins: cov-4.1.0 4932s collecting ... collected 607 items 4932s 4932s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 4932s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 4932s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 4932s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 4932s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 4932s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 4932s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 4932s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 4932s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 4932s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 4932s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 4932s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 4932s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 2%] 4932s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 4932s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 4932s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 4932s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 4932s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 4932s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 3%] 4932s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 4932s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 4932s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 4932s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 4932s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 4932s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 4%] 4933s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 4933s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 4933s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 4933s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 4933s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 4933s tests/test_api.py::TestRestApiServer::test_query PASSED [ 5%] 4933s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 4933s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 4933s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 4933s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 4933s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 4933s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 6%] 4933s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 6%] 4933s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 4933s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 4933s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 4933s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 4933s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 7%] 4933s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 7%] 4933s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 7%] 4933s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 7%] 4933s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 7%] 4933s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 7%] 4933s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 8%] 4933s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 8%] 4933s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 8%] 4933s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 8%] 4933s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 8%] 4933s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 8%] 4933s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 9%] 4933s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 9%] 4933s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 9%] 4933s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 9%] 4933s tests/test_citus.py::TestCitus::test_bootstrap SKIPPED (Citus not te...) [ 9%] 4933s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 9%] 4933s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 10%] 4933s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 10%] 4933s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 10%] 4933s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 10%] 4933s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 10%] 4933s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 10%] 4933s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 11%] 4933s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 11%] 4933s tests/test_citus.py::TestCitus::test_sync_pg_dist_node SKIPPED (Citu...) [ 11%] 4933s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 11%] 4933s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 11%] 4933s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 11%] 4933s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 12%] 4933s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 12%] 4934s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 12%] 4934s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 12%] 4934s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 12%] 4934s tests/test_config.py::TestConfig::test_save_cache PASSED [ 12%] 4934s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 13%] 4934s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 13%] 4934s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16 PASSED [ 13%] 4934s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_16_connect_from_env PASSED [ 13%] 4934s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 13%] 4934s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_16 PASSED [ 13%] 4934s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 14%] 4934s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 14%] 4934s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 14%] 4934s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 14%] 4934s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 14%] 4934s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 14%] 4934s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 14%] 4934s tests/test_consul.py::TestConsul::test_create_session PASSED [ 15%] 4934s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 15%] 4934s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 15%] 4934s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 15%] 4934s tests/test_consul.py::TestConsul::test_initialize PASSED [ 15%] 4934s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 15%] 4934s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 16%] 4934s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 16%] 4934s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 16%] 4934s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 16%] 4934s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 16%] 4934s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 16%] 4934s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 17%] 4934s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 17%] 4934s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 17%] 4934s tests/test_consul.py::TestConsul::test_update_service PASSED [ 17%] 4934s tests/test_consul.py::TestConsul::test_watch PASSED [ 17%] 4934s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 17%] 4934s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 18%] 4934s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 18%] 4934s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 18%] 4935s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 18%] 4935s tests/test_ctl.py::TestCtl::test_failover PASSED [ 18%] 4935s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 18%] 4935s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 19%] 4935s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 19%] 4935s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 19%] 4935s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 19%] 4935s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 19%] 4935s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 19%] 4935s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 20%] 4935s tests/test_ctl.py::TestCtl::test_history PASSED [ 20%] 4935s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 20%] 4935s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 20%] 4935s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 20%] 4935s tests/test_ctl.py::TestCtl::test_members PASSED [ 20%] 4935s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 21%] 4935s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 21%] 4935s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 21%] 4935s tests/test_ctl.py::TestCtl::test_query PASSED [ 21%] 4935s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 21%] 4935s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 21%] 4935s tests/test_ctl.py::TestCtl::test_reload PASSED [ 22%] 4935s tests/test_ctl.py::TestCtl::test_remove PASSED [ 22%] 4935s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 22%] 4935s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 22%] 4935s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 22%] 4935s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 22%] 4935s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 23%] 4935s tests/test_ctl.py::TestCtl::test_topology PASSED [ 23%] 4935s tests/test_ctl.py::TestCtl::test_version PASSED [ 23%] 4935s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 23%] 4936s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 23%] 4936s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 23%] 4936s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 24%] 4936s tests/test_etcd.py::TestClient::test___del__ PASSED [ 24%] 4936s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 24%] 4936s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 24%] 4936s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 24%] 4936s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 24%] 4937s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 25%] 4937s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 25%] 4937s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 25%] 4937s tests/test_etcd.py::TestClient::test_machines PASSED [ 25%] 4937s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 25%] 4937s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 25%] 4937s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 26%] 4937s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 26%] 4937s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 26%] 4937s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 26%] 4937s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 26%] 4937s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 26%] 4937s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 27%] 4937s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 27%] 4937s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 27%] 4937s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 27%] 4937s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 27%] 4937s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 27%] 4937s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 4937s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 28%] 4937s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 28%] 4937s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 28%] 4937s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 28%] 4937s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 28%] 4937s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 28%] 4937s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 29%] 4937s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 29%] 4937s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 29%] 4937s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 29%] 4937s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 29%] 4937s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 29%] 4937s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 4937s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 30%] 4938s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 30%] 4938s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 30%] 4938s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 30%] 4938s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 30%] 4938s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 4938s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 31%] 4938s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 31%] 4938s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 31%] 4938s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 31%] 4938s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 31%] 4938s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 4938s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 4938s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 32%] 4938s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 32%] 4938s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 32%] 4938s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 32%] 4938s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 4938s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 4938s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 33%] 4938s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 33%] 4938s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 33%] 4938s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 33%] 4938s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 4938s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 4938s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 4938s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 34%] 4938s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 34%] 4938s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 34%] 4938s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 4938s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 4938s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 4938s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 35%] 4938s tests/test_ha.py::TestHa::test_after_pause PASSED [ 35%] 4938s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 35%] 4938s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 36%] 4938s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 4938s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 4938s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 4938s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 36%] 4938s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 36%] 4938s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 37%] 4938s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 37%] 4938s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 4939s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 4939s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 37%] 4939s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 37%] 4939s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 38%] 4939s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 4939s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 4939s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 4939s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 38%] 4939s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 38%] 4939s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 39%] 4939s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 39%] 4939s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 4939s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 4939s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 4939s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 39%] 4939s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 40%] 4939s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 40%] 4939s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 4939s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 4939s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 4939s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 40%] 4939s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 41%] 4939s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 41%] 4939s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 41%] 4939s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 4939s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 4939s tests/test_ha.py::TestHa::test_is_leader PASSED [ 41%] 4939s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 42%] 4940s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 42%] 4940s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 4940s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 4940s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 4940s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 42%] 4940s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 42%] 4940s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 43%] 4940s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 43%] 4940s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 4940s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 4940s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 4940s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 43%] 4940s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 44%] 4940s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 44%] 4940s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 44%] 4940s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 4940s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 4940s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 44%] 4940s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 45%] 4940s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 45%] 4941s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 45%] 4941s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 4941s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 4941s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 4941s tests/test_ha.py::TestHa::test_post_recover PASSED [ 46%] 4941s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 46%] 4941s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 46%] 4941s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 46%] 4941s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 4941s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 4941s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 47%] 4941s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 47%] 4941s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 47%] 4941s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 47%] 4941s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 4941s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 4941s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 48%] 4941s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 48%] 4941s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 48%] 4942s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 48%] 4942s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 48%] 4942s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 4942s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 49%] 4942s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 49%] 4942s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 49%] 4942s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 49%] 4942s tests/test_ha.py::TestHa::test_restart PASSED [ 49%] 4942s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 4942s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 50%] 4942s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 50%] 4942s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 50%] 4942s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 50%] 4942s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 50%] 4942s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 50%] 4942s tests/test_ha.py::TestHa::test_shutdown PASSED [ 51%] 4942s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 51%] 4942s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 51%] 4942s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 51%] 4942s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 51%] 4942s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 51%] 4942s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 52%] 4942s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 52%] 4942s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 52%] 4942s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 52%] 4942s tests/test_ha.py::TestHa::test_touch_member PASSED [ 52%] 4942s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 52%] 4942s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 53%] 4943s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 53%] 4943s tests/test_ha.py::TestHa::test_update_lock PASSED [ 53%] 4943s tests/test_ha.py::TestHa::test_wakup PASSED [ 53%] 4943s tests/test_ha.py::TestHa::test_watch PASSED [ 53%] 4943s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 53%] 4943s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 54%] 4943s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 54%] 4943s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 54%] 4943s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 54%] 4943s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 54%] 4943s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 54%] 4943s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 55%] 4943s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 55%] 4943s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 55%] 4943s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 55%] 4943s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 55%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 55%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 56%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 56%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 56%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 56%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 56%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 56%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 57%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 57%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 57%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 57%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 57%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 57%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 57%] 4943s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 58%] 4944s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 58%] 4944s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 58%] 4944s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 58%] 4944s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 58%] 4944s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 58%] 4944s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 59%] 4944s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 59%] 4944s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 59%] 4944s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 59%] 4944s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 59%] 4944s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 59%] 4944s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 60%] 4944s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 60%] 4944s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 60%] 4944s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 4945s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 60%] 4945s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 60%] 4945s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 4945s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 61%] 4945s tests/test_patroni.py::TestPatroni::test_load_dynamic_configuration PASSED [ 61%] 4945s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 61%] 4945s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 61%] 4945s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 61%] 4945s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 62%] 4945s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 62%] 4945s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 62%] 4946s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 62%] 4946s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 62%] 4946s tests/test_patroni.py::TestPatroni::test_run PASSED [ 62%] 4946s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 4946s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 63%] 4946s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 63%] 4946s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 63%] 4946s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 63%] 4946s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 63%] 4946s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 4946s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 64%] 4946s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 64%] 4946s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 64%] 4946s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 64%] 4946s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 64%] 4946s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 4946s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 4946s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 65%] 4946s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 65%] 4946s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 65%] 4947s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 65%] 4947s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 4947s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 4947s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 66%] 4947s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 66%] 4947s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 66%] 4947s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 66%] 4947s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 67%] 4947s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 4947s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 4947s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 67%] 4947s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 67%] 4947s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 67%] 4947s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 68%] 4947s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 4947s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 4947s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 68%] 4947s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 68%] 4947s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 68%] 4947s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 69%] 4947s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 4947s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 4947s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 4947s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 69%] 4947s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 69%] 4947s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 70%] 4947s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 4947s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 4947s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 4947s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 70%] 4947s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 70%] 4947s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 71%] 4948s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 71%] 4948s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 4948s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 4948s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 4948s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 71%] 4948s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 71%] 4948s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 72%] 4948s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 4948s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 4948s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 4948s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 72%] 4948s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 72%] 4948s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 73%] 4948s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 4948s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 4948s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 4948s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 4948s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 73%] 4948s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 74%] 4948s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 74%] 4948s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 4948s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 4948s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 4948s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 74%] 4950s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 75%] 4953s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 75%] 4955s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 4955s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 4957s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 4957s tests/test_raft.py::TestRaft::test_init PASSED [ 75%] 4959s tests/test_raft.py::TestRaft::test_raft PASSED [ 76%] 4959s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 76%] 4959s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 76%] 4960s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 4960s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 4960s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 4960s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 77%] 4960s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 77%] 4960s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 77%] 4960s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 4960s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 4960s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 4960s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 78%] 4960s tests/test_rewind.py::TestRewind::test_execute PASSED [ 78%] 4960s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 78%] 4960s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 78%] 4960s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 4960s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 4960s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 79%] 4960s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 79%] 4960s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 79%] 4960s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 79%] 4960s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 4960s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 4960s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 80%] 4960s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 80%] 4960s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 4960s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 4960s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 4960s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 80%] 4960s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 4960s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 4960s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 4960s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 4960s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 81%] 4960s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 81%] 4960s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 4960s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 4961s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 4961s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 4961s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 4961s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 82%] 4961s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 4961s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 4961s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 4961s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 4961s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 4961s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 83%] 4961s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 4961s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 4961s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 4961s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 4961s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 4961s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 84%] 4961s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 4961s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 4961s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 4961s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 4961s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 4961s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 4961s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 85%] 4961s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 4961s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 4961s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 4961s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 4961s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 4961s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 86%] 4961s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 4961s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 4961s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 4961s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 4961s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 4961s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 4961s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 4961s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 4961s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 4961s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 4961s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 4961s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 4961s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 4961s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 4961s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 4961s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 4961s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 4961s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 90%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 91%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 92%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 93%] 4961s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 93%] 4961s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 4961s patroni/api.py::patroni.api.check_access PASSED [ 93%] 4961s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 4961s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 4961s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 94%] 4961s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 94%] 4961s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 4961s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 4961s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 4961s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 4962s patroni/ctl.py::patroni.ctl.watching PASSED [ 95%] 4962s patroni/utils.py::patroni.utils.compare_values PASSED [ 95%] 4962s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 95%] 4962s patroni/utils.py::patroni.utils.deep_compare PASSED [ 95%] 4962s patroni/utils.py::patroni.utils.parse_bool PASSED [ 95%] 4962s patroni/utils.py::patroni.utils.parse_int PASSED [ 95%] 4962s patroni/utils.py::patroni.utils.parse_real PASSED [ 96%] 4962s patroni/utils.py::patroni.utils.split_host_port PASSED [ 96%] 4962s patroni/utils.py::patroni.utils.strtod PASSED [ 96%] 4962s patroni/utils.py::patroni.utils.strtol PASSED [ 96%] 4962s patroni/utils.py::patroni.utils.unquote PASSED [ 96%] 4962s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 96%] 4962s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 97%] 4962s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 97%] 4962s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 97%] 4962s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 97%] 4962s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 97%] 4962s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 97%] 4962s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 98%] 4962s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 98%] 4962s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 98%] 4962s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 98%] 4962s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 98%] 4963s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 98%] 4963s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 99%] 4963s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 99%] 4963s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 99%] 4963s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 99%] 4963s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 99%] 4963s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 99%] 4969s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [100%] 4969s 4969s =============================== warnings summary =============================== 4969s ../../../../usr/lib/python3/dist-packages/dateutil/tz/tz.py:37 4969s /usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 4969s EPOCH = datetime.datetime.utcfromtimestamp(0) 4969s 4969s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader 4969s /tmp/autopkgtest.lAT8Md/build.y4s/src/tests/test_ha.py:787: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 4969s scheduled = datetime.datetime.utcnow().replace(tzinfo=tzutc) 4969s 4969s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster 4969s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader 4969s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator 4969s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator 4969s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster 4969s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster 4969s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader 4969s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry 4969s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader 4969s /usr/lib/python3/dist-packages/urllib3/_request_methods.py:143: DeprecationWarning: URLs without a scheme (ie 'https://') are deprecated and will raise an error in a future version of urllib3. To avoid this DeprecationWarning ensure all URLs start with 'https://' or 'http://'. Read more in this issue: https://github.com/urllib3/urllib3/issues/2920 4969s return self.urlopen(method, url, **extra_kw) 4969s 4969s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 4969s 4969s ---------- coverage: platform linux, python 3.12.2-final-0 ----------- 4969s Name Stmts Miss Cover Missing 4969s ----------------------------------------------------------------------- 4969s patroni/__init__.py 13 0 100% 4969s patroni/__main__.py 199 1 99% 395 4969s patroni/api.py 768 0 100% 4969s patroni/async_executor.py 96 0 100% 4969s patroni/collections.py 43 3 93% 49, 98, 106 4969s patroni/config.py 416 0 100% 4969s patroni/config_generator.py 210 0 100% 4969s patroni/ctl.py 940 0 100% 4969s patroni/daemon.py 76 0 100% 4969s patroni/dcs/__init__.py 667 0 100% 4969s patroni/dcs/consul.py 482 0 100% 4969s patroni/dcs/etcd3.py 683 0 100% 4969s patroni/dcs/etcd.py 602 0 100% 4969s patroni/dcs/exhibitor.py 60 0 100% 4969s patroni/dcs/kubernetes.py 935 0 100% 4969s patroni/dcs/raft.py 318 0 100% 4969s patroni/dcs/zookeeper.py 287 0 100% 4969s patroni/exceptions.py 16 0 100% 4969s patroni/file_perm.py 43 0 100% 4969s patroni/ha.py 1239 2 99% 1914-1915 4969s patroni/log.py 155 0 100% 4969s patroni/postgresql/__init__.py 826 0 100% 4969s patroni/postgresql/bootstrap.py 253 0 100% 4969s patroni/postgresql/callback_executor.py 55 0 100% 4969s patroni/postgresql/cancellable.py 104 0 100% 4969s patroni/postgresql/citus.py 258 123 52% 46, 49, 59, 63, 108-117, 122-135, 156-159, 178-200, 203-207, 228-244, 247-272, 275-293, 303, 311, 316-319, 333-334, 342-353, 357, 367-371, 407, 418-419 4969s patroni/postgresql/config.py 806 0 100% 4969s patroni/postgresql/connection.py 75 0 100% 4969s patroni/postgresql/misc.py 41 0 100% 4969s patroni/postgresql/postmaster.py 170 0 100% 4969s patroni/postgresql/rewind.py 415 0 100% 4969s patroni/postgresql/slots.py 332 0 100% 4969s patroni/postgresql/sync.py 129 0 100% 4969s patroni/postgresql/validator.py 165 0 100% 4969s patroni/psycopg.py 41 15 63% 19, 25-26, 42, 44-81, 119 4969s patroni/raft_controller.py 22 0 100% 4969s patroni/request.py 62 0 100% 4969s patroni/scripts/__init__.py 0 0 100% 4969s patroni/scripts/aws.py 59 1 98% 86 4969s patroni/scripts/wale_restore.py 207 1 99% 374 4969s patroni/tags.py 35 0 100% 4969s patroni/utils.py 318 0 100% 4969s patroni/validator.py 284 0 100% 4969s patroni/version.py 1 0 100% 4969s patroni/watchdog/__init__.py 2 0 100% 4969s patroni/watchdog/base.py 203 0 100% 4969s patroni/watchdog/linux.py 135 1 99% 36 4969s ----------------------------------------------------------------------- 4969s TOTAL 13246 147 99% 4969s Coverage XML written to file coverage.xml 4969s 4969s ================ 592 passed, 15 skipped, 11 warnings in 50.93s ================= 4970s autopkgtest [06:47:32]: test test: -----------------------] 4971s autopkgtest [06:47:33]: test test: - - - - - - - - - - results - - - - - - - - - - 4971s test PASS 4971s autopkgtest [06:47:33]: @@@@@@@@@@@@@@@@@@@@ summary 4971s acceptance-etcd3 PASS 4971s acceptance-etcd-basic PASS 4971s acceptance-etcd PASS 4971s acceptance-consul SKIP installation fails and skip-not-installable set 4971s acceptance-zookeeper PASS 4971s acceptance-raft PASS 4971s test PASS 5016s Creating nova instance adt-noble-arm64-patroni-20240324-041917-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-arm64-server-20240323.img (UUID 5063c5cd-2683-4ea1-9e65-62351adfb1a7)... 5016s Creating nova instance adt-noble-arm64-patroni-20240324-041917-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-arm64-server-20240323.img (UUID 5063c5cd-2683-4ea1-9e65-62351adfb1a7)... 5016s Creating nova instance adt-noble-arm64-patroni-20240324-041917-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-arm64-server-20240323.img (UUID 5063c5cd-2683-4ea1-9e65-62351adfb1a7)... 5016s Creating nova instance adt-noble-arm64-patroni-20240324-041917-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-arm64-server-20240323.img (UUID 5063c5cd-2683-4ea1-9e65-62351adfb1a7)... 5016s Creating nova instance adt-noble-arm64-patroni-20240324-041917-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-arm64-server-20240323.img (UUID 5063c5cd-2683-4ea1-9e65-62351adfb1a7)... 5016s Creating nova instance adt-noble-arm64-patroni-20240324-041917-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-arm64-server-20240323.img (UUID 5063c5cd-2683-4ea1-9e65-62351adfb1a7)...