0s autopkgtest [12:18:29]: starting date and time: 2025-01-08 12:18:29+0000 0s autopkgtest [12:18:29]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [12:18:29]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.lef1jetj/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:sphinx --apt-upgrade patroni --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/8.1.3-4 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-s390x-1.secgroup --name adt-plucky-s390x-patroni-20250108-104806-juju-7f2275-prod-proposed-migration-environment-15-f9efcf20-0b10-48f8-a9c5-7ce3b254ca93 --image adt/ubuntu-plucky-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-s390x -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 101s autopkgtest [12:20:10]: testbed dpkg architecture: s390x 101s autopkgtest [12:20:10]: testbed apt version: 2.9.18 101s autopkgtest [12:20:10]: @@@@@@@@@@@@@@@@@@@@ test bed setup 102s autopkgtest [12:20:11]: testbed release detected to be: None 102s autopkgtest [12:20:11]: updating testbed package index (apt update) 103s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 103s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 103s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 103s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 103s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [129 kB] 103s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [817 kB] 103s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 103s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.3 kB] 103s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [235 kB] 103s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [756 B] 103s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [914 kB] 103s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [5576 B] 103s Fetched 2201 kB in 1s (2203 kB/s) 104s Reading package lists... 105s Reading package lists... 105s Building dependency tree... 105s Reading state information... 105s Calculating upgrade... 105s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 105s Reading package lists... 105s Building dependency tree... 105s Reading state information... 105s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 105s autopkgtest [12:20:14]: upgrading testbed (apt dist-upgrade and autopurge) 105s Reading package lists... 106s Building dependency tree... 106s Reading state information... 106s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 106s Starting 2 pkgProblemResolver with broken count: 0 106s Done 106s Entering ResolveByKeep 106s 106s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 106s Reading package lists... 107s Building dependency tree... 107s Reading state information... 107s Starting pkgProblemResolver with broken count: 0 107s Starting 2 pkgProblemResolver with broken count: 0 107s Done 107s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 109s autopkgtest [12:20:18]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 12:49:35 UTC 2024 109s autopkgtest [12:20:18]: @@@@@@@@@@@@@@@@@@@@ apt-source patroni 112s Get:1 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.4-1 (dsc) [2870 B] 112s Get:2 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.4-1 (tar) [1159 kB] 112s Get:3 http://ftpmaster.internal/ubuntu plucky/universe patroni 3.3.4-1 (diff) [26.5 kB] 112s gpgv: Signature made Sun Nov 17 16:29:00 2024 UTC 112s gpgv: using RSA key 9CA877749FAB2E4FA96862ECDC686A27B43481B0 112s gpgv: Can't check signature: No public key 112s dpkg-source: warning: cannot verify inline signature for ./patroni_3.3.4-1.dsc: no acceptable signature found 112s autopkgtest [12:20:21]: testing package patroni version 3.3.4-1 112s autopkgtest [12:20:21]: build not needed 113s autopkgtest [12:20:22]: test acceptance-etcd3: preparing testbed 113s Reading package lists... 113s Building dependency tree... 113s Reading state information... 113s Starting pkgProblemResolver with broken count: 0 113s Starting 2 pkgProblemResolver with broken count: 0 113s Done 113s The following NEW packages will be installed: 113s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 113s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 113s libpython3.13-minimal libpython3.13-stdlib libtime-duration-perl 113s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 113s postgresql-16 postgresql-client-16 postgresql-client-common 113s postgresql-common python3-behave python3-cdiff python3-click 113s python3-colorama python3-coverage python3-dateutil python3-dnspython 113s python3-etcd python3-parse python3-parse-type python3-prettytable 113s python3-psutil python3-psycopg2 python3-six python3-wcwidth python3-ydiff 113s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert 114s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 114s Need to get 42.3 MB of archives. 114s After this operation, 150 MB of additional disk space will be used. 114s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-lato all 2.015-1 [2781 kB] 114s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libjson-perl all 4.10000-1 [81.9 kB] 114s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-common all 262 [36.7 kB] 114s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x ssl-cert all 1.1.3ubuntu1 [18.7 kB] 114s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-common all 262 [162 kB] 114s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-minimal s390x 3.13.1-2 [880 kB] 114s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-minimal s390x 3.13.1-2 [2364 kB] 114s Get:8 http://ftpmaster.internal/ubuntu plucky/universe s390x etcd-server s390x 3.5.16-3 [11.1 MB] 116s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 116s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libio-pty-perl s390x 1:1.20-1build3 [31.6 kB] 116s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libipc-run-perl all 20231003.0-2 [91.5 kB] 116s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 116s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 116s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 116s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x libpq5 s390x 17.2-1 [146 kB] 116s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-stdlib s390x 3.13.1-2 [2074 kB] 116s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libtime-duration-perl all 1.21-2 [12.3 kB] 116s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x libtimedate-perl all 2.3300-2 [34.0 kB] 116s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x libxslt1.1 s390x 1.1.39-0exp1ubuntu2 [169 kB] 116s Get:20 http://ftpmaster.internal/ubuntu plucky/universe s390x moreutils s390x 0.69-1 [57.4 kB] 116s Get:21 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ydiff all 1.4.2-1 [19.0 kB] 116s Get:22 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-cdiff all 1.4.2-1 [1778 B] 116s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x python3-colorama all 0.4.6-4 [32.1 kB] 116s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x python3-click all 8.1.7-2 [79.5 kB] 116s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-3 [80.2 kB] 116s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 116s Get:27 http://ftpmaster.internal/ubuntu plucky/main s390x python3-prettytable all 3.12.0-1 [36.5 kB] 116s Get:28 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psutil s390x 5.9.8-2build3 [195 kB] 116s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psycopg2 s390x 2.9.10-1 [147 kB] 116s Get:30 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 116s Get:31 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-etcd all 0.4.5-6 [32.1 kB] 116s Get:32 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni all 3.3.4-1 [269 kB] 116s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 116s Get:34 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni-doc all 3.3.4-1 [508 kB] 116s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-16 s390x 16.4-3 [1294 kB] 116s Get:36 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-16 s390x 16.4-3 [16.3 MB] 116s Get:37 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql all 16+262 [11.8 kB] 116s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-parse all 1.20.2-1 [27.0 kB] 116s Get:39 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.17.0-1 [13.2 kB] 116s Get:40 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-parse-type all 0.6.4-1 [23.4 kB] 116s Get:41 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-behave all 1.2.6-6 [98.6 kB] 116s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13 s390x 3.13.1-2 [729 kB] 116s Get:43 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-coverage s390x 7.4.4+dfsg1-0ubuntu3 [150 kB] 116s Preconfiguring packages ... 116s Fetched 42.3 MB in 3s (15.6 MB/s) 116s Selecting previously unselected package fonts-lato. 117s (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 ... 55616 files and directories currently installed.) 117s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 117s Unpacking fonts-lato (2.015-1) ... 117s Selecting previously unselected package libjson-perl. 117s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 117s Unpacking libjson-perl (4.10000-1) ... 117s Selecting previously unselected package postgresql-client-common. 117s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 117s Unpacking postgresql-client-common (262) ... 117s Selecting previously unselected package ssl-cert. 117s Preparing to unpack .../03-ssl-cert_1.1.3ubuntu1_all.deb ... 117s Unpacking ssl-cert (1.1.3ubuntu1) ... 117s Selecting previously unselected package postgresql-common. 117s Preparing to unpack .../04-postgresql-common_262_all.deb ... 117s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 117s Unpacking postgresql-common (262) ... 117s Selecting previously unselected package libpython3.13-minimal:s390x. 117s Preparing to unpack .../05-libpython3.13-minimal_3.13.1-2_s390x.deb ... 117s Unpacking libpython3.13-minimal:s390x (3.13.1-2) ... 117s Selecting previously unselected package python3.13-minimal. 117s Preparing to unpack .../06-python3.13-minimal_3.13.1-2_s390x.deb ... 117s Unpacking python3.13-minimal (3.13.1-2) ... 117s Selecting previously unselected package etcd-server. 117s Preparing to unpack .../07-etcd-server_3.5.16-3_s390x.deb ... 117s Unpacking etcd-server (3.5.16-3) ... 117s Selecting previously unselected package fonts-font-awesome. 117s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 117s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 117s Selecting previously unselected package libio-pty-perl. 117s Preparing to unpack .../09-libio-pty-perl_1%3a1.20-1build3_s390x.deb ... 117s Unpacking libio-pty-perl (1:1.20-1build3) ... 117s Selecting previously unselected package libipc-run-perl. 117s Preparing to unpack .../10-libipc-run-perl_20231003.0-2_all.deb ... 117s Unpacking libipc-run-perl (20231003.0-2) ... 117s Selecting previously unselected package libjs-jquery. 117s Preparing to unpack .../11-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 117s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 117s Selecting previously unselected package libjs-underscore. 117s Preparing to unpack .../12-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 117s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 117s Selecting previously unselected package libjs-sphinxdoc. 117s Preparing to unpack .../13-libjs-sphinxdoc_8.1.3-4_all.deb ... 117s Unpacking libjs-sphinxdoc (8.1.3-4) ... 117s Selecting previously unselected package libpq5:s390x. 117s Preparing to unpack .../14-libpq5_17.2-1_s390x.deb ... 117s Unpacking libpq5:s390x (17.2-1) ... 117s Selecting previously unselected package libpython3.13-stdlib:s390x. 117s Preparing to unpack .../15-libpython3.13-stdlib_3.13.1-2_s390x.deb ... 117s Unpacking libpython3.13-stdlib:s390x (3.13.1-2) ... 117s Selecting previously unselected package libtime-duration-perl. 117s Preparing to unpack .../16-libtime-duration-perl_1.21-2_all.deb ... 117s Unpacking libtime-duration-perl (1.21-2) ... 117s Selecting previously unselected package libtimedate-perl. 117s Preparing to unpack .../17-libtimedate-perl_2.3300-2_all.deb ... 117s Unpacking libtimedate-perl (2.3300-2) ... 117s Selecting previously unselected package libxslt1.1:s390x. 117s Preparing to unpack .../18-libxslt1.1_1.1.39-0exp1ubuntu2_s390x.deb ... 117s Unpacking libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ... 117s Selecting previously unselected package moreutils. 117s Preparing to unpack .../19-moreutils_0.69-1_s390x.deb ... 117s Unpacking moreutils (0.69-1) ... 117s Selecting previously unselected package python3-ydiff. 117s Preparing to unpack .../20-python3-ydiff_1.4.2-1_all.deb ... 117s Unpacking python3-ydiff (1.4.2-1) ... 117s Selecting previously unselected package python3-cdiff. 117s Preparing to unpack .../21-python3-cdiff_1.4.2-1_all.deb ... 117s Unpacking python3-cdiff (1.4.2-1) ... 117s Selecting previously unselected package python3-colorama. 117s Preparing to unpack .../22-python3-colorama_0.4.6-4_all.deb ... 117s Unpacking python3-colorama (0.4.6-4) ... 117s Selecting previously unselected package python3-click. 117s Preparing to unpack .../23-python3-click_8.1.7-2_all.deb ... 117s Unpacking python3-click (8.1.7-2) ... 117s Selecting previously unselected package python3-dateutil. 117s Preparing to unpack .../24-python3-dateutil_2.9.0-3_all.deb ... 117s Unpacking python3-dateutil (2.9.0-3) ... 117s Selecting previously unselected package python3-wcwidth. 117s Preparing to unpack .../25-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 117s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 117s Selecting previously unselected package python3-prettytable. 117s Preparing to unpack .../26-python3-prettytable_3.12.0-1_all.deb ... 117s Unpacking python3-prettytable (3.12.0-1) ... 117s Selecting previously unselected package python3-psutil. 117s Preparing to unpack .../27-python3-psutil_5.9.8-2build3_s390x.deb ... 117s Unpacking python3-psutil (5.9.8-2build3) ... 117s Selecting previously unselected package python3-psycopg2. 118s Preparing to unpack .../28-python3-psycopg2_2.9.10-1_s390x.deb ... 118s Unpacking python3-psycopg2 (2.9.10-1) ... 118s Selecting previously unselected package python3-dnspython. 118s Preparing to unpack .../29-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 118s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 118s Selecting previously unselected package python3-etcd. 118s Preparing to unpack .../30-python3-etcd_0.4.5-6_all.deb ... 118s Unpacking python3-etcd (0.4.5-6) ... 118s Selecting previously unselected package patroni. 118s Preparing to unpack .../31-patroni_3.3.4-1_all.deb ... 118s Unpacking patroni (3.3.4-1) ... 118s Selecting previously unselected package sphinx-rtd-theme-common. 118s Preparing to unpack .../32-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 118s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 118s Selecting previously unselected package patroni-doc. 118s Preparing to unpack .../33-patroni-doc_3.3.4-1_all.deb ... 118s Unpacking patroni-doc (3.3.4-1) ... 118s Selecting previously unselected package postgresql-client-16. 118s Preparing to unpack .../34-postgresql-client-16_16.4-3_s390x.deb ... 118s Unpacking postgresql-client-16 (16.4-3) ... 118s Selecting previously unselected package postgresql-16. 118s Preparing to unpack .../35-postgresql-16_16.4-3_s390x.deb ... 118s Unpacking postgresql-16 (16.4-3) ... 118s Selecting previously unselected package postgresql. 118s Preparing to unpack .../36-postgresql_16+262_all.deb ... 118s Unpacking postgresql (16+262) ... 118s Selecting previously unselected package python3-parse. 118s Preparing to unpack .../37-python3-parse_1.20.2-1_all.deb ... 118s Unpacking python3-parse (1.20.2-1) ... 118s Selecting previously unselected package python3-six. 118s Preparing to unpack .../38-python3-six_1.17.0-1_all.deb ... 118s Unpacking python3-six (1.17.0-1) ... 118s Selecting previously unselected package python3-parse-type. 118s Preparing to unpack .../39-python3-parse-type_0.6.4-1_all.deb ... 118s Unpacking python3-parse-type (0.6.4-1) ... 118s Selecting previously unselected package python3-behave. 118s Preparing to unpack .../40-python3-behave_1.2.6-6_all.deb ... 118s Unpacking python3-behave (1.2.6-6) ... 118s Selecting previously unselected package python3.13. 118s Preparing to unpack .../41-python3.13_3.13.1-2_s390x.deb ... 118s Unpacking python3.13 (3.13.1-2) ... 118s Selecting previously unselected package python3-coverage. 118s Preparing to unpack .../42-python3-coverage_7.4.4+dfsg1-0ubuntu3_s390x.deb ... 118s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 118s Setting up postgresql-client-common (262) ... 118s Setting up fonts-lato (2.015-1) ... 118s Setting up libio-pty-perl (1:1.20-1build3) ... 118s Setting up python3-colorama (0.4.6-4) ... 118s Setting up python3-ydiff (1.4.2-1) ... 118s Setting up libpq5:s390x (17.2-1) ... 118s Setting up python3-click (8.1.7-2) ... 119s Setting up python3-psutil (5.9.8-2build3) ... 119s Setting up python3-six (1.17.0-1) ... 119s Setting up libpython3.13-minimal:s390x (3.13.1-2) ... 119s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 119s Setting up ssl-cert (1.1.3ubuntu1) ... 120s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 120s Setting up python3-psycopg2 (2.9.10-1) ... 120s Setting up libipc-run-perl (20231003.0-2) ... 120s Setting up libtime-duration-perl (1.21-2) ... 120s Setting up libtimedate-perl (2.3300-2) ... 120s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 121s Setting up python3-parse (1.20.2-1) ... 121s Setting up libjson-perl (4.10000-1) ... 121s Setting up libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ... 121s Setting up python3.13-minimal (3.13.1-2) ... 121s Setting up python3-dateutil (2.9.0-3) ... 121s Setting up etcd-server (3.5.16-3) ... 122s info: Selecting UID from range 100 to 999 ... 122s 122s info: Selecting GID from range 100 to 999 ... 122s info: Adding system user `etcd' (UID 107) ... 122s info: Adding new group `etcd' (GID 111) ... 122s info: Adding new user `etcd' (UID 107) with group `etcd' ... 122s info: Creating home directory `/var/lib/etcd/' ... 122s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 122s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 122s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 122s Setting up python3-prettytable (3.12.0-1) ... 123s Setting up libpython3.13-stdlib:s390x (3.13.1-2) ... 123s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 123s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 123s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 123s Setting up moreutils (0.69-1) ... 123s Setting up python3.13 (3.13.1-2) ... 123s Setting up python3-etcd (0.4.5-6) ... 123s Setting up postgresql-client-16 (16.4-3) ... 124s 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 124s Setting up python3-cdiff (1.4.2-1) ... 124s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 124s Setting up python3-parse-type (0.6.4-1) ... 124s Setting up postgresql-common (262) ... 124s Creating config file /etc/postgresql-common/createcluster.conf with new version 124s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 124s Removing obsolete dictionary files: 125s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 125s Setting up libjs-sphinxdoc (8.1.3-4) ... 125s Setting up python3-behave (1.2.6-6) ... 125s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 125s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 125s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 125s """Registers a custom type that will be available to "parse" 125s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 125s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 125s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 125s """Registers a custom type that will be available to "parse" 125s Setting up patroni (3.3.4-1) ... 126s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 126s Setting up postgresql-16 (16.4-3) ... 126s Creating new PostgreSQL cluster 16/main ... 126s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 126s The files belonging to this database system will be owned by user "postgres". 126s This user must also own the server process. 126s 126s The database cluster will be initialized with locale "C.UTF-8". 126s The default database encoding has accordingly been set to "UTF8". 126s The default text search configuration will be set to "english". 126s 126s Data page checksums are disabled. 126s 126s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 126s creating subdirectories ... ok 126s selecting dynamic shared memory implementation ... posix 126s selecting default max_connections ... 100 126s selecting default shared_buffers ... 128MB 126s selecting default time zone ... Etc/UTC 126s creating configuration files ... ok 127s running bootstrap script ... ok 127s performing post-bootstrap initialization ... ok 127s syncing data to disk ... ok 130s Setting up patroni-doc (3.3.4-1) ... 130s Setting up postgresql (16+262) ... 130s Processing triggers for systemd (257-2ubuntu1) ... 130s Processing triggers for man-db (2.13.0-1) ... 131s Processing triggers for libc-bin (2.40-4ubuntu1) ... 132s autopkgtest [12:20:41]: test acceptance-etcd3: debian/tests/acceptance etcd3 132s autopkgtest [12:20:41]: test acceptance-etcd3: [----------------------- 132s ### PostgreSQL 16 acceptance-etcd3 ### 132s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 132s ++ ls -1r /usr/lib/postgresql/ 132s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 132s + '[' 16 == 10 -o 16 == 11 ']' 132s + echo '### PostgreSQL 16 acceptance-etcd3 ###' 132s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=s390x 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' 133s Jan 08 12:20:42 Feature: basic replication # features/basic_replication.feature:1 133s Jan 08 12:20:42 We should check that the basic bootstrapping, replication and failover works. 133s Jan 08 12:20:42 Scenario: check replication of a single table # features/basic_replication.feature:4 133s Jan 08 12:20:42 Given I start postgres0 # features/steps/basic_replication.py:8 136s Jan 08 12:20:45 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 137s Jan 08 12:20:46 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 137s Jan 08 12:20:46 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 137s Jan 08 12:20:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 137s Jan 08 12:20:46 When I start postgres1 # features/steps/basic_replication.py:8 140s Jan 08 12:20:49 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 143s Jan 08 12:20:52 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 143s Jan 08 12:20:52 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 143s Jan 08 12:20:52 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 144s Jan 08 12:20:53 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 148s Jan 08 12:20:57 148s Jan 08 12:20:57 Scenario: check restart of sync replica # features/basic_replication.feature:17 148s Jan 08 12:20:57 Given I shut down postgres2 # features/steps/basic_replication.py:29 149s Jan 08 12:20:58 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 149s Jan 08 12:20:58 When I start postgres2 # features/steps/basic_replication.py:8 152s Jan 08 12:21:01 And I shut down postgres1 # features/steps/basic_replication.py:29 155s Jan 08 12:21:04 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 155s Jan 08 12:21:04 When I start postgres1 # features/steps/basic_replication.py:8 158s Jan 08 12:21:07 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 158s Jan 08 12:21:07 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 158s Jan 08 12:21:07 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 158s Jan 08 12:21:07 158s Jan 08 12:21:07 Scenario: check stuck sync replica # features/basic_replication.feature:28 158s Jan 08 12:21:07 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 158s Jan 08 12:21:07 Then I receive a response code 200 # features/steps/patroni_api.py:98 158s Jan 08 12:21:07 And I create table on postgres0 # features/steps/basic_replication.py:73 158s Jan 08 12:21:07 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 159s Jan 08 12:21:08 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 159s Jan 08 12:21:08 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 159s Jan 08 12:21:08 And I load data on postgres0 # features/steps/basic_replication.py:84 160s Jan 08 12:21:09 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 164s Jan 08 12:21:13 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 164s Jan 08 12:21:13 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 164s Jan 08 12:21:13 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 164s Jan 08 12:21:13 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 164s Jan 08 12:21:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 164s Jan 08 12:21:13 And I drop table on postgres0 # features/steps/basic_replication.py:73 164s Jan 08 12:21:13 164s Jan 08 12:21:13 Scenario: check multi sync replication # features/basic_replication.feature:44 164s Jan 08 12:21:13 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 164s Jan 08 12:21:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 164s Jan 08 12:21:13 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 168s Jan 08 12:21:17 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 168s Jan 08 12:21:17 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 168s Jan 08 12:21:17 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 168s Jan 08 12:21:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 168s Jan 08 12:21:17 And I shut down postgres1 # features/steps/basic_replication.py:29 171s Jan 08 12:21:20 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 172s Jan 08 12:21:21 When I start postgres1 # features/steps/basic_replication.py:8 175s Jan 08 12:21:24 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 175s Jan 08 12:21:24 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 175s Jan 08 12:21:24 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 175s Jan 08 12:21:24 175s Jan 08 12:21:24 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 175s Jan 08 12:21:24 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 177s Jan 08 12:21:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 177s Jan 08 12:21:26 When I sleep for 2 seconds # features/steps/patroni_api.py:39 179s Jan 08 12:21:28 And I shut down postgres0 # features/steps/basic_replication.py:29 180s Jan 08 12:21:29 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 182s Jan 08 12:21:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 182s Jan 08 12:21:31 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 201s Jan 08 12:21:50 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 203s Jan 08 12:21:52 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 203s Jan 08 12:21:52 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 203s Jan 08 12:21:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 203s Jan 08 12:21:52 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 203s Jan 08 12:21:52 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 205s Jan 08 12:21:54 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 205s Jan 08 12:21:54 205s Jan 08 12:21:54 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 205s Jan 08 12:21:54 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 205s Jan 08 12:21:54 And I start postgres0 # features/steps/basic_replication.py:8 205s Jan 08 12:21:54 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 209s Jan 08 12:21:58 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 209s Jan 08 12:21:58 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 211s Jan 08 12:22:00 211s Jan 08 12:22:00 @reject-duplicate-name 211s Jan 08 12:22:00 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 211s Jan 08 12:22:00 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 213s Jan 08 12:22:02 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 217s Jan 08 12:22:06 217s Jan 08 12:22:06 Feature: cascading replication # features/cascading_replication.feature:1 217s Jan 08 12:22:06 We should check that patroni can do base backup and streaming from the replica 217s Jan 08 12:22:06 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 217s Jan 08 12:22:06 Given I start postgres0 # features/steps/basic_replication.py:8 220s Jan 08 12:22:09 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 220s Jan 08 12:22:09 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 223s Jan 08 12:22:12 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 228s Jan 08 12:22:17 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 228s Jan 08 12:22:17 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 228s Jan 08 12:22:17 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 228s Jan 08 12:22:17 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 231s Jan 08 12:22:20 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 232s Jan 08 12:22:21 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 239s Jan 08 12:22:28 239s SKIP FEATURE citus: Citus extenstion isn't available 239s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 239s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 239s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 239s Jan 08 12:22:28 Feature: citus # features/citus.feature:1 239s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 239s 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 239s Jan 08 12:22:28 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 239s Jan 08 12:22:28 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 239s Jan 08 12:22:28 Given I start postgres0 in citus group 0 # None 239s Jan 08 12:22:28 And I start postgres2 in citus group 1 # None 239s Jan 08 12:22:28 Then postgres0 is a leader in a group 0 after 10 seconds # None 239s Jan 08 12:22:28 And postgres2 is a leader in a group 1 after 10 seconds # None 239s Jan 08 12:22:28 When I start postgres1 in citus group 0 # None 239s Jan 08 12:22:28 And I start postgres3 in citus group 1 # None 239s Jan 08 12:22:28 Then replication works from postgres0 to postgres1 after 15 seconds # None 239s Jan 08 12:22:28 Then replication works from postgres2 to postgres3 after 15 seconds # None 239s Jan 08 12:22:28 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 239s Jan 08 12:22:28 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 239s Jan 08 12:22:28 239s Jan 08 12:22:28 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 239s Jan 08 12:22:28 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 239s Jan 08 12:22:28 Then postgres1 role is the primary after 10 seconds # None 239s Jan 08 12:22:28 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 239s Jan 08 12:22:28 And replication works from postgres1 to postgres0 after 15 seconds # None 239s Jan 08 12:22:28 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 239s Jan 08 12:22:28 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 239s Jan 08 12:22:28 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 239s Jan 08 12:22:28 Then postgres0 role is the primary after 10 seconds # None 239s Jan 08 12:22:28 And replication works from postgres0 to postgres1 after 15 seconds # None 239s Jan 08 12:22:28 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 239s Jan 08 12:22:28 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 239s Jan 08 12:22:28 239s Jan 08 12:22:28 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 239s Jan 08 12:22:28 Given I create a distributed table on postgres0 # None 239s Jan 08 12:22:28 And I start a thread inserting data on postgres0 # None 239s Jan 08 12:22:28 When I run patronictl.py switchover batman --group 1 --force # None 239s Jan 08 12:22:28 Then I receive a response returncode 0 # None 239s Jan 08 12:22:28 And postgres3 role is the primary after 10 seconds # None 239s Jan 08 12:22:28 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 239s Jan 08 12:22:28 And replication works from postgres3 to postgres2 after 15 seconds # None 239s Jan 08 12:22:28 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 239s Jan 08 12:22:28 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 239s Jan 08 12:22:28 And a thread is still alive # None 239s Jan 08 12:22:28 When I run patronictl.py switchover batman --group 1 --force # None 239s Jan 08 12:22:28 Then I receive a response returncode 0 # None 239s Jan 08 12:22:28 And postgres2 role is the primary after 10 seconds # None 239s Jan 08 12:22:28 And replication works from postgres2 to postgres3 after 15 seconds # None 239s Jan 08 12:22:28 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 239s Jan 08 12:22:28 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 239s Jan 08 12:22:28 And a thread is still alive # None 239s Jan 08 12:22:28 When I stop a thread # None 239s Jan 08 12:22:28 Then a distributed table on postgres0 has expected rows # None 239s Jan 08 12:22:28 239s Jan 08 12:22:28 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 239s Jan 08 12:22:28 Given I cleanup a distributed table on postgres0 # None 239s Jan 08 12:22:28 And I start a thread inserting data on postgres0 # None 239s Jan 08 12:22:28 When I run patronictl.py restart batman postgres2 --group 1 --force # None 239s Jan 08 12:22:28 Then I receive a response returncode 0 # None 239s Jan 08 12:22:28 And postgres2 role is the primary after 10 seconds # None 239s Jan 08 12:22:28 And replication works from postgres2 to postgres3 after 15 seconds # None 239s Jan 08 12:22:28 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 239s Jan 08 12:22:28 And a thread is still alive # None 239s Jan 08 12:22:28 When I stop a thread # None 239s Jan 08 12:22:28 Then a distributed table on postgres0 has expected rows # None 239s Jan 08 12:22:28 239s Jan 08 12:22:28 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 239s Jan 08 12:22:28 Given I start postgres4 in citus group 2 # None 239s Jan 08 12:22:28 Then postgres4 is a leader in a group 2 after 10 seconds # None 239s Jan 08 12:22:28 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 239s Jan 08 12:22:28 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 239s Jan 08 12:22:28 Then I receive a response returncode 0 # None 239s Jan 08 12:22:28 And I receive a response output "+ttl: 20" # None 239s Jan 08 12:22:28 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 239s Jan 08 12:22:28 When I shut down postgres4 # None 239s Jan 08 12:22:28 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 239s Jan 08 12:22:28 When I run patronictl.py restart batman postgres2 --group 1 --force # None 239s Jan 08 12:22:28 Then a transaction finishes in 20 seconds # None 239s Jan 08 12:22:28 239s Jan 08 12:22:28 Feature: custom bootstrap # features/custom_bootstrap.feature:1 239s Jan 08 12:22:28 We should check that patroni can bootstrap a new cluster from a backup 239s Jan 08 12:22:28 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 239s Jan 08 12:22:28 Given I start postgres0 # features/steps/basic_replication.py:8 242s Jan 08 12:22:31 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 242s Jan 08 12:22:31 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 242s Jan 08 12:22:31 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 246s Jan 08 12:22:35 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 247s Jan 08 12:22:36 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 247s Jan 08 12:22:36 247s Jan 08 12:22:36 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 247s Jan 08 12:22:36 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 247s Jan 08 12:22:36 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 248s Jan 08 12:22:37 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 252s Jan 08 12:22:41 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 252s Jan 08 12:22:41 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 258s Jan 08 12:22:47 258s Jan 08 12:22:47 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 258s Jan 08 12:22:47 We should check the basic dcs failsafe mode functioning 258s Jan 08 12:22:47 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 258s Jan 08 12:22:47 Given I start postgres0 # features/steps/basic_replication.py:8 261s Jan 08 12:22:50 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 261s Jan 08 12:22:50 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 261s Jan 08 12:22:50 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 261s Jan 08 12:22:50 Then I receive a response code 200 # features/steps/patroni_api.py:98 261s Jan 08 12:22:50 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 262s Jan 08 12:22:51 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 262s Jan 08 12:22:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 262s Jan 08 12:22:51 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 262s Jan 08 12:22:51 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 262s Jan 08 12:22:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 262s Jan 08 12:22:51 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 262s Jan 08 12:22:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 262s Jan 08 12:22:51 262s Jan 08 12:22:51 @dcs-failsafe 262s Jan 08 12:22:51 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 262s Jan 08 12:22:51 Given DCS is down # None 262s Jan 08 12:22:51 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 262s Jan 08 12:22:51 And postgres0 role is the primary after 10 seconds # None 262s SKIP Scenario check one-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 262s 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 262s Jan 08 12:22:51 262s Jan 08 12:22:51 @dcs-failsafe 262s Jan 08 12:22:51 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 262s Jan 08 12:22:51 Given DCS is up # None 262s Jan 08 12:22:51 When I do a backup of postgres0 # None 262s Jan 08 12:22:51 And I shut down postgres0 # None 262s Jan 08 12:22:51 When I start postgres1 in a cluster batman from backup with no_leader # None 262s Jan 08 12:22:51 Then postgres1 role is the replica after 12 seconds # None 262s Jan 08 12:22:51 262s Jan 08 12:22:51 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 262s Jan 08 12:22:51 Given I start postgres0 # features/steps/basic_replication.py:8 262s Jan 08 12:22:51 And I start postgres1 # features/steps/basic_replication.py:8 265s Jan 08 12:22:54 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 265s Jan 08 12:22:54 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 266s Jan 08 12:22:55 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 266s Jan 08 12:22:55 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 266s Jan 08 12:22:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 266s Jan 08 12:22:55SKIP Scenario check leader and replica are functioning while DCS is down: it is not possible to control state of etcd3 from tests 266s And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 266s Jan 08 12:22:55 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 266s 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 266s Jan 08 12:22:55 266s Jan 08 12:22:55 @dcs-failsafe @slot-advance 266s Jan 08 12:22:55 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 266s Jan 08 12:22:55 Given I get all changes from physical slot dcs_slot_1 on postgres0 # None 266s Jan 08 12:22:55 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 266s Jan 08 12:22:55 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # None 266s Jan 08 12:22:55 And DCS is down # None 266s 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 266s SKIP Scenario scale to three-node cluster: it is not possible to control state of etcd3 from tests 266s SKIP Scenario make sure permanent slots exist on replicas: it is not possible to control state of etcd3 from tests 266s Jan 08 12:22:55 Then Response on GET http://127.0.0.1:8008/primary contains failsafe_mode_is_active after 12 seconds # None 266s Jan 08 12:22:55 Then postgres0 role is the primary after 10 seconds # None 266s Jan 08 12:22:55 And postgres1 role is the replica after 2 seconds # None 266s Jan 08 12:22:55 And replication works from postgres0 to postgres1 after 10 seconds # None 266s Jan 08 12:22:55 When I get all changes from logical slot dcs_slot_0 on postgres0 # None 266s Jan 08 12:22:55 And I get all changes from physical slot dcs_slot_1 on postgres0 # None 266s Jan 08 12:22:55 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # None 266s Jan 08 12:22:55 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # None 266s Jan 08 12:22:55 266s Jan 08 12:22:55 @dcs-failsafe 266s Jan 08 12:22:55 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 266s Jan 08 12:22:55 Given DCS is down # None 266s Jan 08 12:22:55 And I kill postgres1 # None 266s Jan 08 12:22:55 And I kill postmaster on postgres1 # None 266s Jan 08 12:22:55 Then postgres0 role is the replica after 12 seconds # None 266s Jan 08 12:22:55 266s Jan 08 12:22:55 @dcs-failsafe 266s Jan 08 12:22:55 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 266s Jan 08 12:22:55 Given I kill postgres0 # None 266s Jan 08 12:22:55 And I shut down postmaster on postgres0 # None 266s Jan 08 12:22:55 And DCS is up # None 266s Jan 08 12:22:55 When I start postgres1 # None 266s Jan 08 12:22:55 Then "members/postgres1" key in DCS has state=running after 10 seconds # None 266s Jan 08 12:22:55 And postgres1 role is the primary after 25 seconds # None 266s SKIP Scenario check three-node cluster is functioning while DCS is down: it is not possible to control state of etcd3 from tests 266s 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 266s Jan 08 12:22:55 266s Jan 08 12:22:55 @dcs-failsafe 266s Jan 08 12:22:55 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 266s Jan 08 12:22:55 Given I start postgres0 # None 266s Jan 08 12:22:55 And I configure and start postgres2 with a tag replicatefrom postgres0 # None 266s Jan 08 12:22:55 Then "members/postgres2" key in DCS has state=running after 10 seconds # None 266s Jan 08 12:22:55 And "members/postgres0" key in DCS has state=running after 20 seconds # None 266s Jan 08 12:22:55 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # None 266s Jan 08 12:22:55 And replication works from postgres1 to postgres0 after 10 seconds # None 266s Jan 08 12:22:55 And replication works from postgres1 to postgres2 after 10 seconds # None 266s Jan 08 12:22:55 266s Jan 08 12:22:55 @dcs-failsafe @slot-advance 266s Jan 08 12:22:55 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 266s Jan 08 12:22:55 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"postgres2":0,"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # None 266s Jan 08 12:22:55 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 266s Jan 08 12:22:55 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 266s Jan 08 12:22:55 When I get all changes from physical slot dcs_slot_1 on postgres1 # None 266s Jan 08 12:22:55 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 266s Jan 08 12:22:55 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 266s Jan 08 12:22:55 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 266s Jan 08 12:22:55 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # None 266s Jan 08 12:22:55 266s Jan 08 12:22:55 @dcs-failsafe 266s Jan 08 12:22:55 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 266s Jan 08 12:22:55 Given DCS is down # None 266s Jan 08 12:22:55 Then Response on GET http://127.0.0.1:8009/primary contains failsafe_mode_is_active after 12 seconds # None 266s Jan 08 12:22:55 Then postgres1 role is the primary after 10 seconds # None 266s Jan 08 12:22:55 And postgres0 role is the replica after 2 seconds # None 266s Jan 08 12:22:55 And postgres2 role is the replica after 2 seconds # None 270s Jan 08 12:22:59 270s Jan 08 12:22:59 @dcs-failsafe @slot-advance 270s Jan 08 12:22:59 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 270s Jan 08 12:22:59 Given replication works from postgres1 to postgres0 after 10 seconds # None 270s Jan 08 12:22:59 And replication works from postgres1 to postgres2 after 10 seconds # None 270s Jan 08 12:22:59 When I get all changes from logical slot dcs_slot_2 on postgres1 # None 270s Jan 08 12:22:59 And I get all changes from physical slot dcs_slot_1 on postgres1 # None 270s Jan 08 12:22:59 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # None 270s Jan 08 12:22:59 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # None 270s Jan 08 12:22:59 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # None 270s Jan 08 12:22:59 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # None 270s Jan 08 12:22:59 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # None 270s Jan 08 12:22:59 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # None 270s Jan 08 12:22:59 270s Jan 08 12:22:59 Feature: ignored slots # features/ignored_slots.feature:1 270s Jan 08 12:22:59 270s Jan 08 12:22:59 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 270s Jan 08 12:22:59 Given I start postgres1 # features/steps/basic_replication.py:8 273s Jan 08 12:23:02 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 273s Jan 08 12:23:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 273s Jan 08 12:23:02 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 273s Jan 08 12:23:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 273s Jan 08 12:23:02 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 273s Jan 08 12:23:02 When I shut down postgres1 # features/steps/basic_replication.py:29 275s Jan 08 12:23:04 And I start postgres1 # features/steps/basic_replication.py:8 278s Jan 08 12:23:07 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 278s Jan 08 12:23:07 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 280s Jan 08 12:23:09 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 280s Jan 08 12:23:09 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 280s Jan 08 12:23:09 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 280s Jan 08 12:23:09 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 280s Jan 08 12:23:09 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 280s Jan 08 12:23:09 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 280s Jan 08 12:23:09 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 280s Jan 08 12:23:09 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 280s Jan 08 12:23:09 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 281s Jan 08 12:23:09 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 281s Jan 08 12:23:09 When I start postgres0 # features/steps/basic_replication.py:8 284s Jan 08 12:23:12 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 285s Jan 08 12:23:13 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 285s Jan 08 12:23:13 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 289s Jan 08 12:23:17 When I shut down postgres1 # features/steps/basic_replication.py:29 291s Jan 08 12:23:19 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 293s Jan 08 12:23:22 When I start postgres1 # features/steps/basic_replication.py:8 296s Jan 08 12:23:25 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 296s Jan 08 12:23:25 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 297s Jan 08 12:23:26 And I sleep for 2 seconds # features/steps/patroni_api.py:39 299s Jan 08 12:23:28 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 299s Jan 08 12:23:28 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 299s Jan 08 12:23:28 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 299s Jan 08 12:23:28 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 299s Jan 08 12:23:28 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 299s Jan 08 12:23:28 When I shut down postgres0 # features/steps/basic_replication.py:29 301s Jan 08 12:23:30 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 302s Jan 08 12:23:31 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 302s Jan 08 12:23:31 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 302s Jan 08 12:23:31 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 302s Jan 08 12:23:31 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 304s Jan 08 12:23:33 304s Jan 08 12:23:33 Feature: nostream node # features/nostream_node.feature:1 304s Jan 08 12:23:33 304s Jan 08 12:23:33 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 304s Jan 08 12:23:33 When I start postgres0 # features/steps/basic_replication.py:8 307s Jan 08 12:23:36 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 310s Jan 08 12:23:39 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 311s Jan 08 12:23:40 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 315s Jan 08 12:23:44 315s Jan 08 12:23:44 @slot-advance 315s Jan 08 12:23:44 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 315s Jan 08 12:23:44 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 315s Jan 08 12:23:44 Then I receive a response code 200 # features/steps/patroni_api.py:98 315s Jan 08 12:23:44 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 317s Jan 08 12:23:46 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 318s Jan 08 12:23:47 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 321s Jan 08 12:23:50 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 328s Jan 08 12:23:57 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 328s Jan 08 12:23:57 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 334s Jan 08 12:24:03 334s Jan 08 12:24:03 Feature: patroni api # features/patroni_api.feature:1 334s Jan 08 12:24:03 We should check that patroni correctly responds to valid and not-valid API requests. 334s Jan 08 12:24:03 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 334s Jan 08 12:24:03 Given I start postgres0 # features/steps/basic_replication.py:8 337s Jan 08 12:24:06 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 337s Jan 08 12:24:06 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 337s Jan 08 12:24:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 337s Jan 08 12:24:06 And I receive a response state running # features/steps/patroni_api.py:98 337s Jan 08 12:24:06 And I receive a response role master # features/steps/patroni_api.py:98 337s Jan 08 12:24:06 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 337s Jan 08 12:24:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 337s Jan 08 12:24:06 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 337s Jan 08 12:24:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 337s Jan 08 12:24:06 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 337s Jan 08 12:24:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 337s Jan 08 12:24:06 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 337s Jan 08 12:24:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 337s Jan 08 12:24:06 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 337s Jan 08 12:24:06 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 339s Jan 08 12:24:08 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 339s Jan 08 12:24:08 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 339s Jan 08 12:24:08 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 339s Jan 08 12:24:08 Then I receive a response code 412 # features/steps/patroni_api.py:98 339s Jan 08 12:24:08 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 339s Jan 08 12:24:08 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 339s Jan 08 12:24:08 Then I receive a response code 400 # features/steps/patroni_api.py:98 339s Jan 08 12:24:08 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 339s Jan 08 12:24:08 Then I receive a response code 400 # features/steps/patroni_api.py:98 339s Jan 08 12:24:08 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 339s Jan 08 12:24:08 339s Jan 08 12:24:08 Scenario: check local configuration reload # features/patroni_api.feature:32 339s Jan 08 12:24:08 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 339s Jan 08 12:24:08 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 339s Jan 08 12:24:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 339s Jan 08 12:24:08 339s Jan 08 12:24:08 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 339s Jan 08 12:24:08 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "postgresql": {"parameters": {"max_connections": "101"}}} # features/steps/patroni_api.py:71 339s Jan 08 12:24:08 Then I receive a response code 200 # features/steps/patroni_api.py:98 339s Jan 08 12:24:08 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 343s Jan 08 12:24:11 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 343s Jan 08 12:24:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 343s Jan 08 12:24:11 And I receive a response ttl 20 # features/steps/patroni_api.py:98 343s Jan 08 12:24:11 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 343s Jan 08 12:24:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 343s Jan 08 12:24:11 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 343s Jan 08 12:24:11 And I sleep for 4 seconds # features/steps/patroni_api.py:39 346s Jan 08 12:24:15 346s Jan 08 12:24:15 Scenario: check the scheduled restart # features/patroni_api.feature:49 346s Jan 08 12:24:15 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 348s Jan 08 12:24:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 348s Jan 08 12:24:17 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 348s Jan 08 12:24:17 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 348s Jan 08 12:24:17 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 348s Jan 08 12:24:17 Then I receive a response code 202 # features/steps/patroni_api.py:98 348s Jan 08 12:24:17 And I sleep for 8 seconds # features/steps/patroni_api.py:39 356s Jan 08 12:24:25 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 356s Jan 08 12:24:25 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 356s Jan 08 12:24:25 Then I receive a response code 202 # features/steps/patroni_api.py:98 356s Jan 08 12:24:25 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 363s Jan 08 12:24:32 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 364s Jan 08 12:24:33 364s Jan 08 12:24:33 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 364s Jan 08 12:24:33 Given I start postgres1 # features/steps/basic_replication.py:8 367s Jan 08 12:24:36 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 368s Jan 08 12:24:37 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 370s Jan 08 12:24:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 370s Jan 08 12:24:39 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 370s Jan 08 12:24:39 waiting for server to shut down.... done 370s Jan 08 12:24:39 server stopped 370s Jan 08 12:24:39 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 370s Jan 08 12:24:39 Then I receive a response code 503 # features/steps/patroni_api.py:98 370s Jan 08 12:24:39 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 373s Jan 08 12:24:42 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 376s Jan 08 12:24:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 376s Jan 08 12:24:45 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 377s Jan 08 12:24:46 And I sleep for 2 seconds # features/steps/patroni_api.py:39 379s Jan 08 12:24:48 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 379s Jan 08 12:24:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 379s Jan 08 12:24:48 And I receive a response state running # features/steps/patroni_api.py:98 379s Jan 08 12:24:48 And I receive a response role replica # features/steps/patroni_api.py:98 379s Jan 08 12:24:48 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 383s Jan 08 12:24:52 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 383s Jan 08 12:24:52 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 383s Jan 08 12:24:52 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 384s Jan 08 12:24:53 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 384s Jan 08 12:24:53 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 386s Jan 08 12:24:55 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 386s Jan 08 12:24:55 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 386s Jan 08 12:24:55 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 387s Jan 08 12:24:56 387s Jan 08 12:24:56 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 387s Jan 08 12:24:56 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 389s Jan 08 12:24:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 389s Jan 08 12:24:58 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 389s Jan 08 12:24:58 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 389s Jan 08 12:24:58 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 394s Jan 08 12:25:02 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 394s Jan 08 12:25:02 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 394s Jan 08 12:25:03 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 394s Jan 08 12:25:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 394s Jan 08 12:25:03 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 394s Jan 08 12:25:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 394s Jan 08 12:25:03 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 394s Jan 08 12:25:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 394s Jan 08 12:25:03 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 394s Jan 08 12:25:03 Then I receive a response code 503 # features/steps/patroni_api.py:98 394s Jan 08 12:25:03 394s Jan 08 12:25:03 Scenario: check the scheduled switchover # features/patroni_api.feature:107 394s Jan 08 12:25:03 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 396s Jan 08 12:25:05 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 396s Jan 08 12:25:05 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 396s Jan 08 12:25:05 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 397s Jan 08 12:25:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 397s Jan 08 12:25:06 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 399s Jan 08 12:25:08 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 399s Jan 08 12:25:08 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 409s Jan 08 12:25:18 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 410s Jan 08 12:25:19 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 412s Jan 08 12:25:21 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 412s Jan 08 12:25:21 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 413s Jan 08 12:25:22 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 413s Jan 08 12:25:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 413s Jan 08 12:25:22 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 413s Jan 08 12:25:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 413s Jan 08 12:25:22 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 413s Jan 08 12:25:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 413s Jan 08 12:25:22 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 413s Jan 08 12:25:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 417s Jan 08 12:25:26 417s Jan 08 12:25:26 Feature: permanent slots # features/permanent_slots.feature:1 417s Jan 08 12:25:26 417s Jan 08 12:25:26 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 417s Jan 08 12:25:26 Given I start postgres0 # features/steps/basic_replication.py:8 421s Jan 08 12:25:29 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 421s Jan 08 12:25:29 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 421s Jan 08 12:25:29 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 421s Jan 08 12:25:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 421s Jan 08 12:25:30 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 421s Jan 08 12:25:30 When I start postgres1 # features/steps/basic_replication.py:8 424s Jan 08 12:25:33 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 427s Jan 08 12:25:36 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 430s Jan 08 12:25:39 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 430s Jan 08 12:25:39 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 430s Jan 08 12:25:39 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 430s Jan 08 12:25:39 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 430s Jan 08 12:25:39 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 430s Jan 08 12:25:39 430s Jan 08 12:25:39 @slot-advance 430s Jan 08 12:25:39 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 430s Jan 08 12:25:39 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 433s Jan 08 12:25:42 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 433s Jan 08 12:25:42 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 434s Jan 08 12:25:43 434s Jan 08 12:25:43 @slot-advance 434s Jan 08 12:25:43 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 434s Jan 08 12:25:43 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 439s Jan 08 12:25:48 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 439s Jan 08 12:25:48 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 440s Jan 08 12:25:49 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 440s Jan 08 12:25:49 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 440s Jan 08 12:25:49 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 440s Jan 08 12:25:49 440s Jan 08 12:25:49 @slot-advance 440s Jan 08 12:25:49 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 440s Jan 08 12:25:49 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 440s Jan 08 12:25:49 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 440s Jan 08 12:25:49 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 440s Jan 08 12:25:49 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 440s Jan 08 12:25:49 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 440s Jan 08 12:25:49 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 440s Jan 08 12:25:49 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 440s Jan 08 12:25:49 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 440s Jan 08 12:25:49 440s Jan 08 12:25:49 @slot-advance 440s Jan 08 12:25:49 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 440s Jan 08 12:25:49 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 440s Jan 08 12:25:49 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 440s Jan 08 12:25:49 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 440s Jan 08 12:25:49 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 442s Jan 08 12:25:51 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 442s Jan 08 12:25:51 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 442s Jan 08 12:25:51 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 442s Jan 08 12:25:51 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 444s Jan 08 12:25:53 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 444s Jan 08 12:25:53 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 444s Jan 08 12:25:53 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 444s Jan 08 12:25:53 444s Jan 08 12:25:53 @slot-advance 444s Jan 08 12:25:53 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 444s Jan 08 12:25:53 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 444s Jan 08 12:25:53 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 444s Jan 08 12:25:53 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 444s Jan 08 12:25:53 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 444s Jan 08 12:25:53 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 444s Jan 08 12:25:53 444s Jan 08 12:25:53 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 444s Jan 08 12:25:53 Given I shut down postgres3 # features/steps/basic_replication.py:29 445s Jan 08 12:25:54 And I shut down postgres2 # features/steps/basic_replication.py:29 446s Jan 08 12:25:55 And I shut down postgres0 # features/steps/basic_replication.py:29 448s Jan 08 12:25:57 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 448s Jan 08 12:25:57 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 448s Jan 08 12:25:57 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 448s Jan 08 12:25:57 When I start postgres0 # features/steps/basic_replication.py:8 451s Jan 08 12:26:00 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 451s Jan 08 12:26:00 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 452s Jan 08 12:26:01 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 455s Jan 08 12:26:04 455s Jan 08 12:26:04 Feature: priority replication # features/priority_failover.feature:1 455s Jan 08 12:26:04 We should check that we can give nodes priority during failover 455s Jan 08 12:26:04 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 455s Jan 08 12:26:04 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 458s Jan 08 12:26:07 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 461s Jan 08 12:26:10 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 462s Jan 08 12:26:11 When I shut down postgres0 # features/steps/basic_replication.py:29 464s Jan 08 12:26:13 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 466s Jan 08 12:26:15 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 466s Jan 08 12:26:15 When I start postgres0 # features/steps/basic_replication.py:8 469s Jan 08 12:26:18 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 470s Jan 08 12:26:19 470s Jan 08 12:26:19 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 470s Jan 08 12:26:19 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 473s Jan 08 12:26:22 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 476s Jan 08 12:26:25 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 477s Jan 08 12:26:26 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 481s Jan 08 12:26:30 When I shut down postgres0 # features/steps/basic_replication.py:29 483s Jan 08 12:26:32 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 484s Jan 08 12:26:33 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 484s Jan 08 12:26:33 484s Jan 08 12:26:33 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 484s Jan 08 12:26:33 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 484s Jan 08 12:26:33 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 485s Jan 08 12:26:33 Then I receive a response code 202 # features/steps/patroni_api.py:98 485s Jan 08 12:26:33 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 488s Jan 08 12:26:36 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 491s Jan 08 12:26:37 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 491s Jan 08 12:26:38 Then I receive a response code 412 # features/steps/patroni_api.py:98 491s Jan 08 12:26:38 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 491s Jan 08 12:26:38 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 491s Jan 08 12:26:38 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 491s Jan 08 12:26:38 Then I receive a response code 202 # features/steps/patroni_api.py:98 491s Jan 08 12:26:38 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 491s Jan 08 12:26:40 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 492s Jan 08 12:26:41 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 494s Jan 08 12:26:43 Then I receive a response code 200 # features/steps/patroni_api.py:98 494s Jan 08 12:26:43 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 499s Jan 08 12:26:48 499s Jan 08 12:26:48 Feature: recovery # features/recovery.feature:1 499s Jan 08 12:26:48 We want to check that crashed postgres is started back 499s Jan 08 12:26:48 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 499s Jan 08 12:26:48 Given I start postgres0 # features/steps/basic_replication.py:8 502s Jan 08 12:26:51 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 504s Jan 08 12:26:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 504s Jan 08 12:26:53 When I start postgres1 # features/steps/basic_replication.py:8 507s Jan 08 12:26:56 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 507s Jan 08 12:26:56 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 512s Jan 08 12:27:01 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 512s Jan 08 12:27:01 waiting for server to shut down.... done 512s Jan 08 12:27:01 server stopped 512s Jan 08 12:27:01 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 514s Jan 08 12:27:03 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 514s Jan 08 12:27:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 514s Jan 08 12:27:03 And I receive a response role master # features/steps/patroni_api.py:98 514s Jan 08 12:27:03 And I receive a response timeline 1 # features/steps/patroni_api.py:98 514s Jan 08 12:27:03 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 515s Jan 08 12:27:04 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 517s Jan 08 12:27:06 517s Jan 08 12:27:06 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 517s Jan 08 12:27:06 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 517s Jan 08 12:27:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 517s Jan 08 12:27:06 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 517s Jan 08 12:27:06 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 517s Jan 08 12:27:06 waiting for server to shut down.... done 517s Jan 08 12:27:06 server stopped 517s Jan 08 12:27:06 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 520s Jan 08 12:27:09 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 524s Jan 08 12:27:12 524s Jan 08 12:27:12 Feature: standby cluster # features/standby_cluster.feature:1 524s Jan 08 12:27:12 524s Jan 08 12:27:12 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 524s Jan 08 12:27:12 Given I start postgres1 # features/steps/basic_replication.py:8 527s Jan 08 12:27:15 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 527s Jan 08 12:27:15 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 527s Jan 08 12:27:15 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 527s Jan 08 12:27:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 527s Jan 08 12:27:16 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 527s Jan 08 12:27:16 And I sleep for 3 seconds # features/steps/patroni_api.py:39 530s Jan 08 12:27:19 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 530s Jan 08 12:27:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 530s Jan 08 12:27:19 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 530s Jan 08 12:27:19 When I start postgres0 # features/steps/basic_replication.py:8 533s Jan 08 12:27:22 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 534s Jan 08 12:27:23 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 535s Jan 08 12:27:24 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 535s Jan 08 12:27:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 535s Jan 08 12:27:24 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 535s Jan 08 12:27:24 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 535s Jan 08 12:27:24 535s Jan 08 12:27:24 @slot-advance 535s Jan 08 12:27:24 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 535s Jan 08 12:27:24 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 537s Jan 08 12:27:26 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 543s Jan 08 12:27:32 543s Jan 08 12:27:32 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 543s Jan 08 12:27:32 When I shut down postgres1 # features/steps/basic_replication.py:29 545s Jan 08 12:27:34 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 545s Jan 08 12:27:34 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 546s Jan 08 12:27:35 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 546s Jan 08 12:27:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 546s Jan 08 12:27:35 546s Jan 08 12:27:35 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 546s Jan 08 12:27:35 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 549s Jan 08 12:27:38 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 550s Jan 08 12:27:39 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 550s Jan 08 12:27:39 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 550s Jan 08 12:27:39 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 550s Jan 08 12:27:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 550s Jan 08 12:27:39 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 550s Jan 08 12:27:39 And I sleep for 3 seconds # features/steps/patroni_api.py:39 553s Jan 08 12:27:42 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 553s Jan 08 12:27:42 Then I receive a response code 503 # features/steps/patroni_api.py:98 553s Jan 08 12:27:42 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 553s Jan 08 12:27:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 553s Jan 08 12:27:42 And I receive a response role standby_leader # features/steps/patroni_api.py:98 553s Jan 08 12:27:42 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 553s Jan 08 12:27:42 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 556s Jan 08 12:27:45 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 556s Jan 08 12:27:45 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 556s Jan 08 12:27:45 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 556s Jan 08 12:27:45 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 556s Jan 08 12:27:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 556s Jan 08 12:27:45 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 556s Jan 08 12:27:45 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 556s Jan 08 12:27:45 556s Jan 08 12:27:45 Scenario: check switchover # features/standby_cluster.feature:57 556s Jan 08 12:27:45 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 560s Jan 08 12:27:49 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 560s Jan 08 12:27:49 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 562s Jan 08 12:27:51 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 562s Jan 08 12:27:51 562s Jan 08 12:27:51 Scenario: check failover # features/standby_cluster.feature:63 562s Jan 08 12:27:51 When I kill postgres2 # features/steps/basic_replication.py:34 563s Jan 08 12:27:52 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 563s Jan 08 12:27:52 waiting for server to shut down.... done 563s Jan 08 12:27:52 server stopped 563s Jan 08 12:27:52 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 582s Jan 08 12:28:11 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 583s Jan 08 12:28:11 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 583s Jan 08 12:28:12 Then I receive a response code 503 # features/steps/patroni_api.py:98 583s Jan 08 12:28:12 And I receive a response role standby_leader # features/steps/patroni_api.py:98 583s Jan 08 12:28:12 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 584s Jan 08 12:28:13 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 588s Jan 08 12:28:17 588s Jan 08 12:28:17 Feature: watchdog # features/watchdog.feature:1 588s Jan 08 12:28:17 Verify that watchdog gets pinged and triggered under appropriate circumstances. 588s Jan 08 12:28:17 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 588s Jan 08 12:28:17 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 591s Jan 08 12:28:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 591s Jan 08 12:28:20 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 591s Jan 08 12:28:20 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 591s Jan 08 12:28:20 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 591s Jan 08 12:28:20 591s Jan 08 12:28:20 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 591s Jan 08 12:28:20 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 592s Jan 08 12:28:21 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 592s Jan 08 12:28:21 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 592s Jan 08 12:28:21 When I sleep for 4 seconds # features/steps/patroni_api.py:39 596s Jan 08 12:28:25 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 596s Jan 08 12:28:25 596s Jan 08 12:28:25 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 596s Jan 08 12:28:25 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 598s Jan 08 12:28:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 598s Jan 08 12:28:27 When I sleep for 2 seconds # features/steps/patroni_api.py:39 600s Jan 08 12:28:29 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 600s Jan 08 12:28:29 600s Jan 08 12:28:29 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 600s Jan 08 12:28:29 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 600s Jan 08 12:28:29 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 602s Jan 08 12:28:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 602s Jan 08 12:28:31 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 604s Jan 08 12:28:33 604s Jan 08 12:28:33 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 604s Jan 08 12:28:33 Given I shut down postgres0 # features/steps/basic_replication.py:29 606s Jan 08 12:28:35 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 606s Jan 08 12:28:35 606s Jan 08 12:28:35 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 606s Jan 08 12:28:35 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 606s Jan 08 12:28:35 And I start postgres0 with watchdog # features/steps/watchdog.py:16 609s Jan 08 12:28:38 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 610s Jan 08 12:28:39 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 610s Jan 08 12:28:39 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 633s Jan 08 12:29:02 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.4493.XDBsHNEx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.4539.XCOyCEPx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.4580.XMdgqphx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.4652.XvSTAMpx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.4699.XWUmiWNx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.4773.XhoDEOMx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.4823.Xomtvlkx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.4826.XnUBBjgx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.4910.XKnFnrFx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5016.XDIPghDx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5030.XSTaHmlx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5074.XdLPMuOx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5139.XOBuLhSx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5249.XQmEXfvx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5295.XlSypLNx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5350.XoXbWbux 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5437.XqiOXTIx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5487.XLMuBMjx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5592.XoWZRlAx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5644.XnWigxrx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5708.XEANfFQx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5809.XxoRQjAx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5907.XjmKYKzx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.5951.XnNloYmx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6015.XWpAYePx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6051.XSqJXPHx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6223.XBrsIngx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6273.XIFeBRYx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6289.XmHgPAmx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6328.XlNyZqkx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6377.XsGuChfx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6382.XysRSRgx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6420.XBcMtOJx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6466.XfNkOXox 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6634.XTgeHqGx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6636.XdRVgrSx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6641.XTotMrbx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6776.XmERRZox 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6822.XSxVtQRx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6865.XszomNwx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6918.XrYtfpnx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.6972.XXpazcMx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.7137.XKUXWLix 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.7203.XKOtEKJx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.7247.XbmaYBVx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.7319.XQZeWVNx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.7396.XhmkoONx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.7446.XzrYmtNx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.7815.XqlqKRVx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.7861.XKTsIZox 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.8010.XdinUCPx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.8073.XPUQtwTx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.8125.XAxfuqzx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.8227.XoPqTvrx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.8339.XUnpcnnx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.8477.XlJFCMrx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.8521.XRbmmfRx 633s Jan 08 12:29:02 Skipping duplicate data .coverage.autopkgtest.8523.XhxTwiQx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.8526.XVEUajQx 633s Jan 08 12:29:02 Combined data file .coverage.autopkgtest.8537.XWOLwDmx 635s Jan 08 12:29:04 Name Stmts Miss Cover 635s Jan 08 12:29:04 ------------------------------------------------------------------------------------------------------------- 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/etcd/__init__.py 125 63 50% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/etcd/client.py 380 256 33% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/__main__.py 199 62 69% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/api.py 780 292 63% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 78 88% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/dcs/etcd3.py 679 130 81% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 253 58% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/ha.py 1270 380 70% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 168 80% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 219 74% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 41 88% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/utils.py 370 103 72% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 123 47% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 124 64% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/response.py 562 280 50% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 15 53% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 72 65% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 635s Jan 08 12:29:04 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 635s Jan 08 12:29:04 patroni/__init__.py 13 2 85% 635s Jan 08 12:29:04 patroni/__main__.py 199 199 0% 635s Jan 08 12:29:04 patroni/api.py 780 780 0% 635s Jan 08 12:29:04 patroni/async_executor.py 96 69 28% 635s Jan 08 12:29:04 patroni/collections.py 56 15 73% 635s Jan 08 12:29:04 patroni/config.py 371 196 47% 635s Jan 08 12:29:04 patroni/config_generator.py 212 212 0% 635s Jan 08 12:29:04 patroni/ctl.py 936 411 56% 635s Jan 08 12:29:04 patroni/daemon.py 76 76 0% 635s Jan 08 12:29:04 patroni/dcs/__init__.py 654 274 58% 635s Jan 08 12:29:04 patroni/dcs/consul.py 484 484 0% 635s Jan 08 12:29:04 patroni/dcs/etcd3.py 679 346 49% 635s Jan 08 12:29:04 patroni/dcs/etcd.py 603 277 54% 635s Jan 08 12:29:04 patroni/dcs/exhibitor.py 62 62 0% 635s Jan 08 12:29:04 patroni/dcs/kubernetes.py 940 940 0% 635s Jan 08 12:29:04 patroni/dcs/raft.py 319 319 0% 635s Jan 08 12:29:04 patroni/dcs/zookeeper.py 289 289 0% 635s Jan 08 12:29:04 patroni/dynamic_loader.py 35 7 80% 635s Jan 08 12:29:04 patroni/exceptions.py 16 1 94% 635s Jan 08 12:29:04 patroni/file_perm.py 43 15 65% 635s Jan 08 12:29:04 patroni/global_config.py 81 18 78% 635s Jan 08 12:29:04 patroni/ha.py 1270 1270 0% 635s Jan 08 12:29:04 patroni/log.py 221 175 21% 635s Jan 08 12:29:04 patroni/postgresql/__init__.py 822 652 21% 635s Jan 08 12:29:04 patroni/postgresql/available_parameters/__init__.py 24 3 88% 635s Jan 08 12:29:04 patroni/postgresql/bootstrap.py 255 225 12% 635s Jan 08 12:29:04 patroni/postgresql/callback_executor.py 55 34 38% 635s Jan 08 12:29:04 patroni/postgresql/cancellable.py 104 84 19% 635s Jan 08 12:29:04 patroni/postgresql/config.py 838 718 14% 635s + echo '### End 16 acceptance-etcd3 ###' 635s + rm -f '/tmp/pgpass?' 635s ++ id -u 635s + '[' 1000 -eq 0 ']' 635s Jan 08 12:29:04 patroni/postgresql/connection.py 75 50 33% 635s Jan 08 12:29:04 patroni/postgresql/misc.py 43 30 30% 635s Jan 08 12:29:04 patroni/postgresql/mpp/__init__.py 89 21 76% 635s Jan 08 12:29:04 patroni/postgresql/mpp/citus.py 259 259 0% 635s Jan 08 12:29:04 patroni/postgresql/postmaster.py 170 139 18% 635s Jan 08 12:29:04 patroni/postgresql/rewind.py 416 416 0% 635s Jan 08 12:29:04 patroni/postgresql/slots.py 349 300 14% 635s Jan 08 12:29:04 patroni/postgresql/sync.py 130 96 26% 635s Jan 08 12:29:04 patroni/postgresql/validator.py 157 52 67% 635s Jan 08 12:29:04 patroni/psycopg.py 46 32 30% 635s Jan 08 12:29:04 patroni/raft_controller.py 22 22 0% 635s Jan 08 12:29:04 patroni/request.py 58 6 90% 635s Jan 08 12:29:04 patroni/scripts/__init__.py 0 0 100% 635s Jan 08 12:29:04 patroni/scripts/aws.py 59 59 0% 635s Jan 08 12:29:04 patroni/scripts/barman/__init__.py 0 0 100% 635s Jan 08 12:29:04 patroni/scripts/barman/cli.py 51 51 0% 635s Jan 08 12:29:04 patroni/scripts/barman/config_switch.py 51 51 0% 635s Jan 08 12:29:04 patroni/scripts/barman/recover.py 37 37 0% 635s Jan 08 12:29:04 patroni/scripts/barman/utils.py 94 94 0% 635s Jan 08 12:29:04 patroni/scripts/wale_restore.py 207 207 0% 635s Jan 08 12:29:04 patroni/tags.py 38 11 71% 635s Jan 08 12:29:04 patroni/utils.py 370 186 50% 635s Jan 08 12:29:04 patroni/validator.py 307 221 28% 635s Jan 08 12:29:04 patroni/version.py 1 0 100% 635s Jan 08 12:29:04 patroni/watchdog/__init__.py 2 2 0% 635s Jan 08 12:29:04 patroni/watchdog/base.py 203 203 0% 635s Jan 08 12:29:04 patroni/watchdog/linux.py 135 135 0% 635s Jan 08 12:29:04 ------------------------------------------------------------------------------------------------------------- 635s Jan 08 12:29:04 TOTAL 53248 31931 40% 635s Jan 08 12:29:04 12 features passed, 0 failed, 1 skipped 635s Jan 08 12:29:04 46 scenarios passed, 0 failed, 14 skipped 635s Jan 08 12:29:04 467 steps passed, 0 failed, 121 skipped, 0 undefined 635s Jan 08 12:29:04 Took 7m29.411s 635s ### End 16 acceptance-etcd3 ### 635s autopkgtest [12:29:04]: test acceptance-etcd3: -----------------------] 636s acceptance-etcd3 PASS 636s autopkgtest [12:29:05]: test acceptance-etcd3: - - - - - - - - - - results - - - - - - - - - - 636s autopkgtest [12:29:05]: test acceptance-etcd-basic: preparing testbed 702s autopkgtest [12:30:11]: testbed dpkg architecture: s390x 702s autopkgtest [12:30:11]: testbed apt version: 2.9.18 702s autopkgtest [12:30:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 702s autopkgtest [12:30:11]: testbed release detected to be: plucky 703s autopkgtest [12:30:12]: updating testbed package index (apt update) 703s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 704s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 704s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 704s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 704s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.3 kB] 704s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 704s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [817 kB] 704s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [129 kB] 704s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [235 kB] 705s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [756 B] 705s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [914 kB] 705s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [5576 B] 705s Fetched 2201 kB in 2s (1233 kB/s) 706s Reading package lists... 706s Reading package lists... 706s Building dependency tree... 706s Reading state information... 706s Calculating upgrade... 707s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 707s Reading package lists... 707s Building dependency tree... 707s Reading state information... 707s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 707s autopkgtest [12:30:16]: upgrading testbed (apt dist-upgrade and autopurge) 707s Reading package lists... 707s Building dependency tree... 707s Reading state information... 707s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 707s Starting 2 pkgProblemResolver with broken count: 0 707s Done 707s Entering ResolveByKeep 708s 708s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 708s Reading package lists... 708s Building dependency tree... 708s Reading state information... 708s Starting pkgProblemResolver with broken count: 0 708s Starting 2 pkgProblemResolver with broken count: 0 708s Done 708s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 711s Reading package lists... 711s Building dependency tree... 711s Reading state information... 711s Starting pkgProblemResolver with broken count: 0 711s Starting 2 pkgProblemResolver with broken count: 0 711s Done 711s The following NEW packages will be installed: 711s etcd-server fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl 711s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libpq5 711s libpython3.13-minimal libpython3.13-stdlib libtime-duration-perl 711s libtimedate-perl libxslt1.1 moreutils patroni patroni-doc postgresql 711s postgresql-16 postgresql-client-16 postgresql-client-common 711s postgresql-common python3-behave python3-cdiff python3-click 711s python3-colorama python3-coverage python3-dateutil python3-dnspython 711s python3-etcd python3-parse python3-parse-type python3-prettytable 711s python3-psutil python3-psycopg2 python3-six python3-wcwidth python3-ydiff 711s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert 712s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 712s Need to get 42.3 MB of archives. 712s After this operation, 150 MB of additional disk space will be used. 712s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-lato all 2.015-1 [2781 kB] 713s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libjson-perl all 4.10000-1 [81.9 kB] 713s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-common all 262 [36.7 kB] 713s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x ssl-cert all 1.1.3ubuntu1 [18.7 kB] 713s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-common all 262 [162 kB] 713s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-minimal s390x 3.13.1-2 [880 kB] 713s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-minimal s390x 3.13.1-2 [2364 kB] 714s Get:8 http://ftpmaster.internal/ubuntu plucky/universe s390x etcd-server s390x 3.5.16-3 [11.1 MB] 715s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 715s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libio-pty-perl s390x 1:1.20-1build3 [31.6 kB] 715s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libipc-run-perl all 20231003.0-2 [91.5 kB] 715s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 715s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 715s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 715s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x libpq5 s390x 17.2-1 [146 kB] 715s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-stdlib s390x 3.13.1-2 [2074 kB] 715s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libtime-duration-perl all 1.21-2 [12.3 kB] 715s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x libtimedate-perl all 2.3300-2 [34.0 kB] 715s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x libxslt1.1 s390x 1.1.39-0exp1ubuntu2 [169 kB] 715s Get:20 http://ftpmaster.internal/ubuntu plucky/universe s390x moreutils s390x 0.69-1 [57.4 kB] 715s Get:21 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ydiff all 1.4.2-1 [19.0 kB] 715s Get:22 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-cdiff all 1.4.2-1 [1778 B] 715s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x python3-colorama all 0.4.6-4 [32.1 kB] 715s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x python3-click all 8.1.7-2 [79.5 kB] 715s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-3 [80.2 kB] 715s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 715s Get:27 http://ftpmaster.internal/ubuntu plucky/main s390x python3-prettytable all 3.12.0-1 [36.5 kB] 715s Get:28 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psutil s390x 5.9.8-2build3 [195 kB] 715s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psycopg2 s390x 2.9.10-1 [147 kB] 715s Get:30 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 715s Get:31 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-etcd all 0.4.5-6 [32.1 kB] 715s Get:32 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni all 3.3.4-1 [269 kB] 715s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 716s Get:34 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni-doc all 3.3.4-1 [508 kB] 716s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-16 s390x 16.4-3 [1294 kB] 716s Get:36 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-16 s390x 16.4-3 [16.3 MB] 716s Get:37 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql all 16+262 [11.8 kB] 716s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-parse all 1.20.2-1 [27.0 kB] 716s Get:39 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.17.0-1 [13.2 kB] 716s Get:40 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-parse-type all 0.6.4-1 [23.4 kB] 716s Get:41 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-behave all 1.2.6-6 [98.6 kB] 716s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13 s390x 3.13.1-2 [729 kB] 716s Get:43 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-coverage s390x 7.4.4+dfsg1-0ubuntu3 [150 kB] 717s Preconfiguring packages ... 717s Fetched 42.3 MB in 5s (8447 kB/s) 717s Selecting previously unselected package fonts-lato. 717s (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 ... 55616 files and directories currently installed.) 717s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 717s Unpacking fonts-lato (2.015-1) ... 717s Selecting previously unselected package libjson-perl. 717s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 717s Unpacking libjson-perl (4.10000-1) ... 717s Selecting previously unselected package postgresql-client-common. 717s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 717s Unpacking postgresql-client-common (262) ... 717s Selecting previously unselected package ssl-cert. 717s Preparing to unpack .../03-ssl-cert_1.1.3ubuntu1_all.deb ... 717s Unpacking ssl-cert (1.1.3ubuntu1) ... 717s Selecting previously unselected package postgresql-common. 717s Preparing to unpack .../04-postgresql-common_262_all.deb ... 717s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 717s Unpacking postgresql-common (262) ... 717s Selecting previously unselected package libpython3.13-minimal:s390x. 717s Preparing to unpack .../05-libpython3.13-minimal_3.13.1-2_s390x.deb ... 717s Unpacking libpython3.13-minimal:s390x (3.13.1-2) ... 717s Selecting previously unselected package python3.13-minimal. 717s Preparing to unpack .../06-python3.13-minimal_3.13.1-2_s390x.deb ... 717s Unpacking python3.13-minimal (3.13.1-2) ... 717s Selecting previously unselected package etcd-server. 717s Preparing to unpack .../07-etcd-server_3.5.16-3_s390x.deb ... 717s Unpacking etcd-server (3.5.16-3) ... 717s Selecting previously unselected package fonts-font-awesome. 717s Preparing to unpack .../08-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 717s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 717s Selecting previously unselected package libio-pty-perl. 717s Preparing to unpack .../09-libio-pty-perl_1%3a1.20-1build3_s390x.deb ... 717s Unpacking libio-pty-perl (1:1.20-1build3) ... 717s Selecting previously unselected package libipc-run-perl. 717s Preparing to unpack .../10-libipc-run-perl_20231003.0-2_all.deb ... 717s Unpacking libipc-run-perl (20231003.0-2) ... 717s Selecting previously unselected package libjs-jquery. 717s Preparing to unpack .../11-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 717s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 717s Selecting previously unselected package libjs-underscore. 717s Preparing to unpack .../12-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 717s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 717s Selecting previously unselected package libjs-sphinxdoc. 717s Preparing to unpack .../13-libjs-sphinxdoc_8.1.3-4_all.deb ... 717s Unpacking libjs-sphinxdoc (8.1.3-4) ... 717s Selecting previously unselected package libpq5:s390x. 717s Preparing to unpack .../14-libpq5_17.2-1_s390x.deb ... 717s Unpacking libpq5:s390x (17.2-1) ... 718s Selecting previously unselected package libpython3.13-stdlib:s390x. 718s Preparing to unpack .../15-libpython3.13-stdlib_3.13.1-2_s390x.deb ... 718s Unpacking libpython3.13-stdlib:s390x (3.13.1-2) ... 718s Selecting previously unselected package libtime-duration-perl. 718s Preparing to unpack .../16-libtime-duration-perl_1.21-2_all.deb ... 718s Unpacking libtime-duration-perl (1.21-2) ... 718s Selecting previously unselected package libtimedate-perl. 718s Preparing to unpack .../17-libtimedate-perl_2.3300-2_all.deb ... 718s Unpacking libtimedate-perl (2.3300-2) ... 718s Selecting previously unselected package libxslt1.1:s390x. 718s Preparing to unpack .../18-libxslt1.1_1.1.39-0exp1ubuntu2_s390x.deb ... 718s Unpacking libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ... 718s Selecting previously unselected package moreutils. 718s Preparing to unpack .../19-moreutils_0.69-1_s390x.deb ... 718s Unpacking moreutils (0.69-1) ... 718s Selecting previously unselected package python3-ydiff. 718s Preparing to unpack .../20-python3-ydiff_1.4.2-1_all.deb ... 718s Unpacking python3-ydiff (1.4.2-1) ... 718s Selecting previously unselected package python3-cdiff. 718s Preparing to unpack .../21-python3-cdiff_1.4.2-1_all.deb ... 718s Unpacking python3-cdiff (1.4.2-1) ... 718s Selecting previously unselected package python3-colorama. 718s Preparing to unpack .../22-python3-colorama_0.4.6-4_all.deb ... 718s Unpacking python3-colorama (0.4.6-4) ... 718s Selecting previously unselected package python3-click. 718s Preparing to unpack .../23-python3-click_8.1.7-2_all.deb ... 718s Unpacking python3-click (8.1.7-2) ... 718s Selecting previously unselected package python3-dateutil. 718s Preparing to unpack .../24-python3-dateutil_2.9.0-3_all.deb ... 718s Unpacking python3-dateutil (2.9.0-3) ... 718s Selecting previously unselected package python3-wcwidth. 718s Preparing to unpack .../25-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 718s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 718s Selecting previously unselected package python3-prettytable. 718s Preparing to unpack .../26-python3-prettytable_3.12.0-1_all.deb ... 718s Unpacking python3-prettytable (3.12.0-1) ... 718s Selecting previously unselected package python3-psutil. 718s Preparing to unpack .../27-python3-psutil_5.9.8-2build3_s390x.deb ... 718s Unpacking python3-psutil (5.9.8-2build3) ... 718s Selecting previously unselected package python3-psycopg2. 718s Preparing to unpack .../28-python3-psycopg2_2.9.10-1_s390x.deb ... 718s Unpacking python3-psycopg2 (2.9.10-1) ... 718s Selecting previously unselected package python3-dnspython. 718s Preparing to unpack .../29-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 718s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 718s Selecting previously unselected package python3-etcd. 718s Preparing to unpack .../30-python3-etcd_0.4.5-6_all.deb ... 718s Unpacking python3-etcd (0.4.5-6) ... 718s Selecting previously unselected package patroni. 718s Preparing to unpack .../31-patroni_3.3.4-1_all.deb ... 718s Unpacking patroni (3.3.4-1) ... 718s Selecting previously unselected package sphinx-rtd-theme-common. 718s Preparing to unpack .../32-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 718s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 718s Selecting previously unselected package patroni-doc. 718s Preparing to unpack .../33-patroni-doc_3.3.4-1_all.deb ... 718s Unpacking patroni-doc (3.3.4-1) ... 718s Selecting previously unselected package postgresql-client-16. 718s Preparing to unpack .../34-postgresql-client-16_16.4-3_s390x.deb ... 718s Unpacking postgresql-client-16 (16.4-3) ... 718s Selecting previously unselected package postgresql-16. 718s Preparing to unpack .../35-postgresql-16_16.4-3_s390x.deb ... 718s Unpacking postgresql-16 (16.4-3) ... 718s Selecting previously unselected package postgresql. 718s Preparing to unpack .../36-postgresql_16+262_all.deb ... 718s Unpacking postgresql (16+262) ... 718s Selecting previously unselected package python3-parse. 718s Preparing to unpack .../37-python3-parse_1.20.2-1_all.deb ... 718s Unpacking python3-parse (1.20.2-1) ... 718s Selecting previously unselected package python3-six. 718s Preparing to unpack .../38-python3-six_1.17.0-1_all.deb ... 718s Unpacking python3-six (1.17.0-1) ... 718s Selecting previously unselected package python3-parse-type. 718s Preparing to unpack .../39-python3-parse-type_0.6.4-1_all.deb ... 718s Unpacking python3-parse-type (0.6.4-1) ... 718s Selecting previously unselected package python3-behave. 718s Preparing to unpack .../40-python3-behave_1.2.6-6_all.deb ... 718s Unpacking python3-behave (1.2.6-6) ... 718s Selecting previously unselected package python3.13. 718s Preparing to unpack .../41-python3.13_3.13.1-2_s390x.deb ... 718s Unpacking python3.13 (3.13.1-2) ... 718s Selecting previously unselected package python3-coverage. 718s Preparing to unpack .../42-python3-coverage_7.4.4+dfsg1-0ubuntu3_s390x.deb ... 718s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 718s Setting up postgresql-client-common (262) ... 718s Setting up fonts-lato (2.015-1) ... 718s Setting up libio-pty-perl (1:1.20-1build3) ... 718s Setting up python3-colorama (0.4.6-4) ... 718s Setting up python3-ydiff (1.4.2-1) ... 718s Setting up libpq5:s390x (17.2-1) ... 718s Setting up python3-click (8.1.7-2) ... 719s Setting up python3-psutil (5.9.8-2build3) ... 719s Setting up python3-six (1.17.0-1) ... 719s Setting up libpython3.13-minimal:s390x (3.13.1-2) ... 719s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 719s Setting up ssl-cert (1.1.3ubuntu1) ... 720s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 720s Setting up python3-psycopg2 (2.9.10-1) ... 720s Setting up libipc-run-perl (20231003.0-2) ... 720s Setting up libtime-duration-perl (1.21-2) ... 720s Setting up libtimedate-perl (2.3300-2) ... 720s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 721s Setting up python3-parse (1.20.2-1) ... 721s Setting up libjson-perl (4.10000-1) ... 721s Setting up libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ... 721s Setting up python3.13-minimal (3.13.1-2) ... 721s Setting up python3-dateutil (2.9.0-3) ... 722s Setting up etcd-server (3.5.16-3) ... 722s info: Selecting UID from range 100 to 999 ... 722s 722s info: Selecting GID from range 100 to 999 ... 722s info: Adding system user `etcd' (UID 107) ... 722s info: Adding new group `etcd' (GID 111) ... 722s info: Adding new user `etcd' (UID 107) with group `etcd' ... 722s info: Creating home directory `/var/lib/etcd/' ... 722s Created symlink '/etc/systemd/system/etcd2.service' → '/usr/lib/systemd/system/etcd.service'. 722s Created symlink '/etc/systemd/system/multi-user.target.wants/etcd.service' → '/usr/lib/systemd/system/etcd.service'. 723s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 723s Setting up python3-prettytable (3.12.0-1) ... 723s Setting up libpython3.13-stdlib:s390x (3.13.1-2) ... 723s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 723s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 723s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 723s Setting up moreutils (0.69-1) ... 723s Setting up python3.13 (3.13.1-2) ... 724s Setting up python3-etcd (0.4.5-6) ... 724s Setting up postgresql-client-16 (16.4-3) ... 724s 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 724s Setting up python3-cdiff (1.4.2-1) ... 724s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 724s Setting up python3-parse-type (0.6.4-1) ... 725s Setting up postgresql-common (262) ... 725s Creating config file /etc/postgresql-common/createcluster.conf with new version 725s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 725s Removing obsolete dictionary files: 725s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 725s Setting up libjs-sphinxdoc (8.1.3-4) ... 725s Setting up python3-behave (1.2.6-6) ... 726s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 726s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 726s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 726s """Registers a custom type that will be available to "parse" 726s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 726s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 726s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 726s """Registers a custom type that will be available to "parse" 726s Setting up patroni (3.3.4-1) ... 726s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 726s Setting up postgresql-16 (16.4-3) ... 727s Creating new PostgreSQL cluster 16/main ... 727s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 727s The files belonging to this database system will be owned by user "postgres". 727s This user must also own the server process. 727s 727s The database cluster will be initialized with locale "C.UTF-8". 727s The default database encoding has accordingly been set to "UTF8". 727s The default text search configuration will be set to "english". 727s 727s Data page checksums are disabled. 727s 727s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 727s creating subdirectories ... ok 727s selecting dynamic shared memory implementation ... posix 727s selecting default max_connections ... 100 727s selecting default shared_buffers ... 128MB 727s selecting default time zone ... Etc/UTC 727s creating configuration files ... ok 727s running bootstrap script ... ok 727s performing post-bootstrap initialization ... ok 727s syncing data to disk ... ok 730s Setting up patroni-doc (3.3.4-1) ... 730s Setting up postgresql (16+262) ... 730s Processing triggers for systemd (257-2ubuntu1) ... 730s Processing triggers for man-db (2.13.0-1) ... 731s Processing triggers for libc-bin (2.40-4ubuntu1) ... 739s autopkgtest [12:30:48]: test acceptance-etcd-basic: debian/tests/acceptance etcd features/basic_replication.feature 739s autopkgtest [12:30:48]: test acceptance-etcd-basic: [----------------------- 739s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 740s ○ etcd.service - etcd - highly-available key value store 740s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 740s Active: inactive (dead) since Wed 2025-01-08 12:30:49 UTC; 6ms ago 740s Duration: 16.815s 740s Invocation: 5748b2223eb24488903ae870365416f1 740s Docs: https://etcd.io/docs 740s man:etcd 740s Process: 2213 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 740s Main PID: 2213 (code=killed, signal=TERM) 740s Mem peak: 6.8M 740s CPU: 41ms 740s 740s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.136850Z","caller":"embed/etcd.go:378","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 740s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"warn","ts":"2025-01-08T12:30:49.136922Z","caller":"embed/serve.go:161","msg":"stopping insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 740s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"warn","ts":"2025-01-08T12:30:49.137062Z","caller":"embed/serve.go:163","msg":"stopped insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 740s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.137077Z","caller":"etcdserver/server.go:1543","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 740s Jan 08 12:30:49 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 740s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.138319Z","caller":"embed/etcd.go:582","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 740s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.138373Z","caller":"embed/etcd.go:587","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 740s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.138379Z","caller":"embed/etcd.go:380","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 740s Jan 08 12:30:49 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 740s Jan 08 12:30:49 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 740s ++ ls -1r /usr/lib/postgresql/ 740s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 740s + '[' 16 == 10 -o 16 == 11 ']' 740s + echo '### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ###' 740s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=s390x 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' 740s ### PostgreSQL 16 acceptance-etcd features/basic_replication.feature ### 742s Jan 08 12:30:50 Feature: basic replication # features/basic_replication.feature:1 742s Jan 08 12:30:50 We should check that the basic bootstrapping, replication and failover works. 742s Jan 08 12:30:50 Scenario: check replication of a single table # features/basic_replication.feature:4 742s Jan 08 12:30:50 Given I start postgres0 # features/steps/basic_replication.py:8 744s Jan 08 12:30:53 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 744s Jan 08 12:30:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 744s Jan 08 12:30:53 When I issue a PATCH request to http://127.0.0.1:8008/config with {"ttl": 20, "synchronous_mode": true} # features/steps/patroni_api.py:71 744s Jan 08 12:30:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 744s Jan 08 12:30:53 When I start postgres1 # features/steps/basic_replication.py:8 747s Jan 08 12:30:56 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 750s Jan 08 12:30:59 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 750s Jan 08 12:30:59 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 750s Jan 08 12:30:59 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 751s Jan 08 12:31:00 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 755s Jan 08 12:31:04 755s Jan 08 12:31:04 Scenario: check restart of sync replica # features/basic_replication.feature:17 755s Jan 08 12:31:04 Given I shut down postgres2 # features/steps/basic_replication.py:29 757s Jan 08 12:31:05 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 757s Jan 08 12:31:05 When I start postgres2 # features/steps/basic_replication.py:8 759s Jan 08 12:31:08 And I shut down postgres1 # features/steps/basic_replication.py:29 762s Jan 08 12:31:11 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 763s Jan 08 12:31:12 When I start postgres1 # features/steps/basic_replication.py:8 766s Jan 08 12:31:15 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 766s Jan 08 12:31:15 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 767s Jan 08 12:31:16 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 767s Jan 08 12:31:16 767s Jan 08 12:31:16 Scenario: check stuck sync replica # features/basic_replication.feature:28 767s Jan 08 12:31: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 767s Jan 08 12:31:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 767s Jan 08 12:31:16 And I create table on postgres0 # features/steps/basic_replication.py:73 767s Jan 08 12:31:16 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 768s Jan 08 12:31:17 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 768s Jan 08 12:31:17 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 768s Jan 08 12:31:17 And I load data on postgres0 # features/steps/basic_replication.py:84 768s Jan 08 12:31:17 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 771s Jan 08 12:31:20 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 771s Jan 08 12:31:20 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 772s Jan 08 12:31:21 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 772s Jan 08 12:31:21 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 772s Jan 08 12:31:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 772s Jan 08 12:31:21 And I drop table on postgres0 # features/steps/basic_replication.py:73 772s Jan 08 12:31:21 772s Jan 08 12:31:21 Scenario: check multi sync replication # features/basic_replication.feature:44 772s Jan 08 12:31:21 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 772s Jan 08 12:31:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 772s Jan 08 12:31:21 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 776s Jan 08 12:31:25 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 776s Jan 08 12:31:25 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 776s Jan 08 12:31:25 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 776s Jan 08 12:31:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 776s Jan 08 12:31:25 And I shut down postgres1 # features/steps/basic_replication.py:29 779s Jan 08 12:31:28 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 780s Jan 08 12:31:29 When I start postgres1 # features/steps/basic_replication.py:8 783s Jan 08 12:31:32 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 783s Jan 08 12:31:32 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 783s Jan 08 12:31:32 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 784s Jan 08 12:31:32 784s Jan 08 12:31:32 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 784s Jan 08 12:31:32 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 785s Jan 08 12:31:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 785s Jan 08 12:31:34 When I sleep for 2 seconds # features/steps/patroni_api.py:39 787s Jan 08 12:31:36 And I shut down postgres0 # features/steps/basic_replication.py:29 788s Jan 08 12:31:37 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 790s Jan 08 12:31:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 790s Jan 08 12:31:39 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 809s Jan 08 12:31:58 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 812s Jan 08 12:32:01 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 812s Jan 08 12:32:01 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 812s Jan 08 12:32:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 812s Jan 08 12:32:01 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 812s Jan 08 12:32:01 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 814s Jan 08 12:32:03 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 814s Jan 08 12:32:03 814s Jan 08 12:32:03 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 814s Jan 08 12:32:03 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 814s Jan 08 12:32:03 And I start postgres0 # features/steps/basic_replication.py:8 814s Jan 08 12:32:03 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 820s Jan 08 12:32:09 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 820s Jan 08 12:32:09 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 820s Jan 08 12:32:09 820s Jan 08 12:32:09 @reject-duplicate-name 820s Jan 08 12:32:09 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 820s Jan 08 12:32:09 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 822s Jan 08 12:32:11 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 826s Jan 08 12:32:15 827s 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'))") 827s 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'))") 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4387.XogTmdzx 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4432.XzAWNBZx 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4479.XmNhlzbx 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4544.XZEmHARx 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4590.XRaGFiux 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4663.XOvmhEpx 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4712.XjIAwsPx 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4716.XuGoMiex 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4812.XUZlcXMx 828s Jan 08 12:32:16 Combined data file .coverage.autopkgtest.4912.XfsPMoKx 829s Jan 08 12:32:18 Name Stmts Miss Cover 829s Jan 08 12:32:18 ------------------------------------------------------------------------------------------------------------- 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 647 44% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 688 15% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 117 23% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 629 21% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 829s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/etcd/__init__.py 125 27 78% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/etcd/client.py 380 195 49% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/__main__.py 199 67 66% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/api.py 780 432 45% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 19 80% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/config.py 371 110 70% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/daemon.py 76 6 92% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 151 77% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 180 70% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 9 79% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/global_config.py 81 4 95% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/ha.py 1270 630 50% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/log.py 221 73 67% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 239 71% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 91 64% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 255 70% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 7 91% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 13 70% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 12 87% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 92 46% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 200 52% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 188 46% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/tags.py 38 5 87% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/utils.py 370 139 62% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/validator.py 307 217 29% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 49 76% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 50 63% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psutil/__init__.py 951 636 33% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psutil/_compat.py 302 264 13% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 936 25% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 41 57% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 11 79% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/connection.py 324 100 69% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 130 63% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 98 62% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/response.py 562 318 43% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 55 68% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 830s Jan 08 12:32:18 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 830s Jan 08 12:32:18 patroni/__init__.py 13 2 85% 830s Jan 08 12:32:18 patroni/__main__.py 199 199 0% 830s Jan 08 12:32:18 patroni/api.py 780 780 0% 830s Jan 08 12:32:18 patroni/async_executor.py 96 69 28% 830s Jan 08 12:32:18 patroni/collections.py 56 15 73% 830s Jan 08 12:32:18 patroni/config.py 371 196 47% 830s Jan 08 12:32:18 patroni/config_generator.py 212 212 0% 830s Jan 08 12:32:18 patroni/ctl.py 936 663 29% 830s Jan 08 12:32:18 patroni/daemon.py 76 76 0% 830s Jan 08 12:32:18 patroni/dcs/__init__.py 654 313 52% 830s Jan 08 12:32:18 patroni/dcs/consul.py 484 484 0% 830s Jan 08 12:32:18 patroni/dcs/etcd3.py 679 679 0% 830s Jan 08 12:32:18 patroni/dcs/etcd.py 603 232 62% 830s Jan 08 12:32:18 patroni/dcs/exhibitor.py 62 62 0% 830s Jan 08 12:32:18 patroni/dcs/kubernetes.py 940 940 0% 830s Jan 08 12:32:18 patroni/dcs/raft.py 319 319 0% 830s Jan 08 12:32:18 patroni/dcs/zookeeper.py 289 289 0% 830s Jan 08 12:32:18 patroni/dynamic_loader.py 35 7 80% 830s Jan 08 12:32:18 patroni/exceptions.py 16 1 94% 830s Jan 08 12:32:18 patroni/file_perm.py 43 15 65% 830s Jan 08 12:32:18 patroni/global_config.py 81 23 72% 830s Jan 08 12:32:18 patroni/ha.py 1270 1270 0% 830s Jan 08 12:32:18 patroni/log.py 221 175 21% 830s Jan 08 12:32:18 patroni/postgresql/__init__.py 822 652 21% 830s Jan 08 12:32:18 patroni/postgresql/available_parameters/__init__.py 24 6 75% 830s Jan 08 12:32:18 patroni/postgresql/bootstrap.py 255 225 12% 830s Jan 08 12:32:18 patroni/postgresql/callback_executor.py 55 34 38% 830s Jan 08 12:32:18 patroni/postgresql/cancellable.py 104 84 19% 830s Jan 08 12:32:18 patroni/postgresql/config.py 838 718 14% 830s Jan 08 12:32:18 patroni/postgresql/connection.py 75 50 33% 830s Jan 08 12:32:18 patroni/postgresql/misc.py 43 30 30% 830s Jan 08 12:32:18 patroni/postgresql/mpp/__init__.py 89 21 76% 830s Jan 08 12:32:18 patroni/postgresql/mpp/citus.py 259 259 0% 830s Jan 08 12:32:18 patroni/postgresql/postmaster.py 170 139 18% 830s Jan 08 12:32:18 patroni/postgresql/rewind.py 416 416 0% 830s Jan 08 12:32:18 patroni/postgresql/slots.py 349 300 14% 830s Jan 08 12:32:18 patroni/postgresql/sync.py 130 96 26% 830s Jan 08 12:32:18 patroni/postgresql/validator.py 157 52 67% 830s Jan 08 12:32:18 patroni/psycopg.py 46 32 30% 830s Jan 08 12:32:18 patroni/raft_controller.py 22 22 0% 830s Jan 08 12:32:18 patroni/request.py 58 6 90% 830s Jan 08 12:32:18 patroni/scripts/__init__.py 0 0 100% 830s Jan 08 12:32:18 patroni/scripts/aws.py 59 59 0% 830s Jan 08 12:32:18 patroni/scripts/barman/__init__.py 0 0 100% 830s Jan 08 12:32:18 patroni/scripts/barman/cli.py 51 51 0% 830s Jan 08 12:32:18 patroni/scripts/barman/config_switch.py 51 51 0% 830s Jan 08 12:32:18 patroni/scripts/barman/recover.py 37 37 0% 830s Jan 08 12:32:18 patroni/scripts/barman/utils.py 94 94 0% 830s Jan 08 12:32:18 patroni/scripts/wale_restore.py 207 207 0% 830s Jan 08 12:32:18 patroni/tags.py 38 15 61% 830s Jan 08 12:32:18 patroni/utils.py 370 264 29% 830s Jan 08 12:32:18 patroni/validator.py 307 221 28% 830s Jan 08 12:32:18 patroni/version.py 1 0 100% 830s Jan 08 12:32:18 patroni/watchdog/__init__.py 2 2 0% 830s Jan 08 12:32:18 patroni/watchdog/base.py 203 203 0% 830s Jan 08 12:32:18 patroni/watchdog/linux.py 135 135 0% 830s Jan 08 12:32:18 ------------------------------------------------------------------------------------------------------------- 830s Jan 08 12:32:18 TOTAL 52569 33502 36% 830s Jan 08 12:32:18 1 feature passed, 0 failed, 0 skipped 830s Jan 08 12:32:18 7 scenarios passed, 0 failed, 0 skipped 830s Jan 08 12:32:18 68 steps passed, 0 failed, 0 skipped, 0 undefined 830s Jan 08 12:32:18 Took 1m21.021s 830s ### End 16 acceptance-etcd features/basic_replication.feature ### 830s + echo '### End 16 acceptance-etcd features/basic_replication.feature ###' 830s + rm -f '/tmp/pgpass?' 830s ++ id -u 830s + '[' 0 -eq 0 ']' 830s + '[' -x /etc/init.d/zookeeper ']' 830s autopkgtest [12:32:19]: test acceptance-etcd-basic: -----------------------] 830s acceptance-etcd-basic PASS 830s autopkgtest [12:32:19]: test acceptance-etcd-basic: - - - - - - - - - - results - - - - - - - - - - 831s autopkgtest [12:32:20]: test acceptance-etcd: preparing testbed 831s Reading package lists... 831s Building dependency tree... 831s Reading state information... 831s Starting pkgProblemResolver with broken count: 0 831s Starting 2 pkgProblemResolver with broken count: 0 831s Done 831s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 832s autopkgtest [12:32:21]: test acceptance-etcd: debian/tests/acceptance etcd 832s autopkgtest [12:32:21]: test acceptance-etcd: [----------------------- 832s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 833s ○ etcd.service - etcd - highly-available key value store 833s Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; preset: enabled) 833s Active: inactive (dead) since Wed 2025-01-08 12:30:49 UTC; 1min 33s ago 833s Duration: 16.815s 833s Invocation: 5748b2223eb24488903ae870365416f1 833s Docs: https://etcd.io/docs 833s man:etcd 833s Process: 2213 ExecStart=/usr/bin/etcd $DAEMON_ARGS (code=killed, signal=TERM) 833s Main PID: 2213 (code=killed, signal=TERM) 833s Mem peak: 6.8M 833s CPU: 41ms 833s 833s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.136850Z","caller":"embed/etcd.go:378","msg":"closing etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 833s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"warn","ts":"2025-01-08T12:30:49.136922Z","caller":"embed/serve.go:161","msg":"stopping insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 833s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"warn","ts":"2025-01-08T12:30:49.137062Z","caller":"embed/serve.go:163","msg":"stopped insecure grpc server due to error","error":"accept tcp 127.0.0.1:2379: use of closed network connection"} 833s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.137077Z","caller":"etcdserver/server.go:1543","msg":"skipped leadership transfer for single voting member cluster","local-member-id":"8e9e05c52164694d","current-leader-member-id":"8e9e05c52164694d"} 833s Jan 08 12:30:49 autopkgtest systemd[1]: Stopping etcd.service - etcd - highly-available key value store... 833s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.138319Z","caller":"embed/etcd.go:582","msg":"stopping serving peer traffic","address":"127.0.0.1:2380"} 833s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.138373Z","caller":"embed/etcd.go:587","msg":"stopped serving peer traffic","address":"127.0.0.1:2380"} 833s Jan 08 12:30:49 autopkgtest etcd[2213]: {"level":"info","ts":"2025-01-08T12:30:49.138379Z","caller":"embed/etcd.go:380","msg":"closed etcd server","name":"autopkgtest","data-dir":"/var/lib/etcd/default","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 833s Jan 08 12:30:49 autopkgtest systemd[1]: etcd.service: Deactivated successfully. 833s Jan 08 12:30:49 autopkgtest systemd[1]: Stopped etcd.service - etcd - highly-available key value store. 833s ++ ls -1r /usr/lib/postgresql/ 833s ### PostgreSQL 16 acceptance-etcd ### 833s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 833s + '[' 16 == 10 -o 16 == 11 ']' 833s + echo '### PostgreSQL 16 acceptance-etcd ###' 833s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=s390x 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' 834s Jan 08 12:32:23 Feature: basic replication # features/basic_replication.feature:1 834s Jan 08 12:32:23 We should check that the basic bootstrapping, replication and failover works. 834s Jan 08 12:32:23 Scenario: check replication of a single table # features/basic_replication.feature:4 834s Jan 08 12:32:23 Given I start postgres0 # features/steps/basic_replication.py:8 837s Jan 08 12:32:26 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 837s Jan 08 12:32:26 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 837s Jan 08 12:32:26 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 838s Jan 08 12:32:27 Then I receive a response code 200 # features/steps/patroni_api.py:98 838s Jan 08 12:32:27 When I start postgres1 # features/steps/basic_replication.py:8 841s Jan 08 12:32:30 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 844s Jan 08 12:32:33 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 844s Jan 08 12:32:33 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 844s Jan 08 12:32:33 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 845s Jan 08 12:32:34 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 849s Jan 08 12:32:38 849s Jan 08 12:32:38 Scenario: check restart of sync replica # features/basic_replication.feature:17 849s Jan 08 12:32:38 Given I shut down postgres2 # features/steps/basic_replication.py:29 850s Jan 08 12:32:39 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 850s Jan 08 12:32:39 When I start postgres2 # features/steps/basic_replication.py:8 853s Jan 08 12:32:42 And I shut down postgres1 # features/steps/basic_replication.py:29 856s Jan 08 12:32:45 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 857s Jan 08 12:32:46 When I start postgres1 # features/steps/basic_replication.py:8 860s Jan 08 12:32:49 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 860s Jan 08 12:32:49 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 860s Jan 08 12:32:49 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 860s Jan 08 12:32:49 860s Jan 08 12:32:49 Scenario: check stuck sync replica # features/basic_replication.feature:28 860s Jan 08 12:32:49 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 860s Jan 08 12:32:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 860s Jan 08 12:32:49 And I create table on postgres0 # features/steps/basic_replication.py:73 860s Jan 08 12:32:49 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 861s Jan 08 12:32:50 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 861s Jan 08 12:32:50 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 861s Jan 08 12:32:50 And I load data on postgres0 # features/steps/basic_replication.py:84 861s Jan 08 12:32:50 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 864s Jan 08 12:32:53 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 864s Jan 08 12:32:53 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 865s Jan 08 12:32:54 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 865s Jan 08 12:32: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 865s Jan 08 12:32:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 865s Jan 08 12:32:54 And I drop table on postgres0 # features/steps/basic_replication.py:73 865s Jan 08 12:32:54 865s Jan 08 12:32:54 Scenario: check multi sync replication # features/basic_replication.feature:44 865s Jan 08 12:32:54 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 865s Jan 08 12:32:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 865s Jan 08 12:32:54 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 869s Jan 08 12:32:58 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 869s Jan 08 12:32:58 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 869s Jan 08 12:32:58 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 870s Jan 08 12:32:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 870s Jan 08 12:32:59 And I shut down postgres1 # features/steps/basic_replication.py:29 873s Jan 08 12:33:02 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 874s Jan 08 12:33:03 When I start postgres1 # features/steps/basic_replication.py:8 877s Jan 08 12:33:06 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 877s Jan 08 12:33:06 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 877s Jan 08 12:33:06 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 877s Jan 08 12:33:06 877s Jan 08 12:33:06 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 877s Jan 08 12:33:06 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 878s Jan 08 12:33:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 878s Jan 08 12:33:07 When I sleep for 2 seconds # features/steps/patroni_api.py:39 880s Jan 08 12:33:09 And I shut down postgres0 # features/steps/basic_replication.py:29 881s Jan 08 12:33:10 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 883s Jan 08 12:33:12 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 883s Jan 08 12:33:12 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 902s Jan 08 12:33:31 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 904s Jan 08 12:33:33 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 904s Jan 08 12:33:33 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 904s Jan 08 12:33:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 904s Jan 08 12:33:33 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 904s Jan 08 12:33:33 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 908s Jan 08 12:33:36 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 908s Jan 08 12:33:36 908s Jan 08 12:33:36 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 908s Jan 08 12:33:36 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 908s Jan 08 12:33:36 And I start postgres0 # features/steps/basic_replication.py:8 908s Jan 08 12:33:36 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 913s Jan 08 12:33:42 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 913s Jan 08 12:33:42 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 913s Jan 08 12:33:42 913s Jan 08 12:33:42 @reject-duplicate-name 913s Jan 08 12:33:42 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 913s Jan 08 12:33:42 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 915s Jan 08 12:33:44 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 920s Jan 08 12:33:48 920s Jan 08 12:33:48 Feature: cascading replication # features/cascading_replication.feature:1 920s Jan 08 12:33:48 We should check that patroni can do base backup and streaming from the replica 920s Jan 08 12:33:48 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 920s Jan 08 12:33:48 Given I start postgres0 # features/steps/basic_replication.py:8 923s Jan 08 12:33:52 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 923s Jan 08 12:33:52 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 926s Jan 08 12:33:55 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 931s Jan 08 12:34:00 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 931s Jan 08 12:34:00 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 931s Jan 08 12:34:00 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 931s Jan 08 12:34:00 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 934s Jan 08 12:34:03 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 939s Jan 08 12:34:08 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 945s Jan 08 12:34:14 945s SKIP FEATURE citus: Citus extenstion isn't available 945s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 945s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 945s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 945s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 945s 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 945s Jan 08 12:34:14 Feature: citus # features/citus.feature:1 945s Jan 08 12:34:14 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 945s Jan 08 12:34:14 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 945s Jan 08 12:34:14 Given I start postgres0 in citus group 0 # None 945s Jan 08 12:34:14 And I start postgres2 in citus group 1 # None 945s Jan 08 12:34:14 Then postgres0 is a leader in a group 0 after 10 seconds # None 945s Jan 08 12:34:14 And postgres2 is a leader in a group 1 after 10 seconds # None 945s Jan 08 12:34:14 When I start postgres1 in citus group 0 # None 945s Jan 08 12:34:14 And I start postgres3 in citus group 1 # None 945s Jan 08 12:34:14 Then replication works from postgres0 to postgres1 after 15 seconds # None 945s Jan 08 12:34:14 Then replication works from postgres2 to postgres3 after 15 seconds # None 945s Jan 08 12:34:14 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 945s Jan 08 12:34:14 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 945s Jan 08 12:34:14 945s Jan 08 12:34:14 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 945s Jan 08 12:34:14 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 945s Jan 08 12:34:14 Then postgres1 role is the primary after 10 seconds # None 945s Jan 08 12:34:14 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 945s Jan 08 12:34:14 And replication works from postgres1 to postgres0 after 15 seconds # None 945s Jan 08 12:34:14 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 945s Jan 08 12:34:14 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 945s Jan 08 12:34:14 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 945s Jan 08 12:34:14 Then postgres0 role is the primary after 10 seconds # None 945s Jan 08 12:34:14 And replication works from postgres0 to postgres1 after 15 seconds # None 945s Jan 08 12:34:14 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 945s Jan 08 12:34:14 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 945s Jan 08 12:34:14 945s Jan 08 12:34:14 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 945s Jan 08 12:34:14 Given I create a distributed table on postgres0 # None 945s Jan 08 12:34:14 And I start a thread inserting data on postgres0 # None 945s Jan 08 12:34:14 When I run patronictl.py switchover batman --group 1 --force # None 945s Jan 08 12:34:14 Then I receive a response returncode 0 # None 945s Jan 08 12:34:14 And postgres3 role is the primary after 10 seconds # None 945s Jan 08 12:34:14 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 945s Jan 08 12:34:14 And replication works from postgres3 to postgres2 after 15 seconds # None 945s Jan 08 12:34:14 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 945s Jan 08 12:34:14 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 945s Jan 08 12:34:14 And a thread is still alive # None 945s Jan 08 12:34:14 When I run patronictl.py switchover batman --group 1 --force # None 945s Jan 08 12:34:14 Then I receive a response returncode 0 # None 945s Jan 08 12:34:14 And postgres2 role is the primary after 10 seconds # None 945s Jan 08 12:34:14 And replication works from postgres2 to postgres3 after 15 seconds # None 945s Jan 08 12:34:14 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 945s Jan 08 12:34:14 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 945s Jan 08 12:34:14 And a thread is still alive # None 945s Jan 08 12:34:14 When I stop a thread # None 945s Jan 08 12:34:14 Then a distributed table on postgres0 has expected rows # None 945s Jan 08 12:34:14 945s Jan 08 12:34:14 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 945s Jan 08 12:34:14 Given I cleanup a distributed table on postgres0 # None 945s Jan 08 12:34:14 And I start a thread inserting data on postgres0 # None 945s Jan 08 12:34:14 When I run patronictl.py restart batman postgres2 --group 1 --force # None 945s Jan 08 12:34:14 Then I receive a response returncode 0 # None 945s Jan 08 12:34:14 And postgres2 role is the primary after 10 seconds # None 945s Jan 08 12:34:14 And replication works from postgres2 to postgres3 after 15 seconds # None 945s Jan 08 12:34:14 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 945s Jan 08 12:34:14 And a thread is still alive # None 945s Jan 08 12:34:14 When I stop a thread # None 945s Jan 08 12:34:14 Then a distributed table on postgres0 has expected rows # None 945s Jan 08 12:34:14 945s Jan 08 12:34:14 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 945s Jan 08 12:34:14 Given I start postgres4 in citus group 2 # None 945s Jan 08 12:34:14 Then postgres4 is a leader in a group 2 after 10 seconds # None 945s Jan 08 12:34:14 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 945s Jan 08 12:34:14 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 945s Jan 08 12:34:14 Then I receive a response returncode 0 # None 945s Jan 08 12:34:14 And I receive a response output "+ttl: 20" # None 945s Jan 08 12:34:14 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 945s Jan 08 12:34:14 When I shut down postgres4 # None 945s Jan 08 12:34:14 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 945s Jan 08 12:34:14 When I run patronictl.py restart batman postgres2 --group 1 --force # None 945s Jan 08 12:34:14 Then a transaction finishes in 20 seconds # None 945s Jan 08 12:34:14 945s Jan 08 12:34:14 Feature: custom bootstrap # features/custom_bootstrap.feature:1 945s Jan 08 12:34:14 We should check that patroni can bootstrap a new cluster from a backup 945s Jan 08 12:34:14 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 945s Jan 08 12:34:14 Given I start postgres0 # features/steps/basic_replication.py:8 948s Jan 08 12:34:17 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 948s Jan 08 12:34:17 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 948s Jan 08 12:34:17 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 952s Jan 08 12:34:21 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 953s Jan 08 12:34:22 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 953s Jan 08 12:34:22 953s Jan 08 12:34:22 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 953s Jan 08 12:34:22 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 953s Jan 08 12:34:22 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 953s Jan 08 12:34:22 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 957s Jan 08 12:34:26 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 957s Jan 08 12:34:26 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 963s Jan 08 12:34:32 963s Jan 08 12:34:32 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 963s Jan 08 12:34:32 We should check the basic dcs failsafe mode functioning 963s Jan 08 12:34:32 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 963s Jan 08 12:34:32 Given I start postgres0 # features/steps/basic_replication.py:8 966s Jan 08 12:34:35 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 966s Jan 08 12:34:35 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 966s Jan 08 12:34: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 966s Jan 08 12:34:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 966s Jan 08 12:34:35 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 966s Jan 08 12:34:35 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 966s Jan 08 12:34:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 966s Jan 08 12:34:35 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 966s Jan 08 12:34: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 966s Jan 08 12:34:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 966s Jan 08 12:34: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 966s Jan 08 12:34:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 966s Jan 08 12:34:35 966s Jan 08 12:34:35 @dcs-failsafe 966s Jan 08 12:34:35 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 966s Jan 08 12:34:35 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 966s Jan 08 12:34:35 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 973s Jan 08 12:34:42 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 973s Jan 08 12:34:42 973s Jan 08 12:34:42 @dcs-failsafe 973s Jan 08 12:34:42 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 973s Jan 08 12:34:42 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 973s Jan 08 12:34:42 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 973s Jan 08 12:34:42 And I shut down postgres0 # features/steps/basic_replication.py:29 975s Jan 08 12:34:44 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 978s Jan 08 12:34:47 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 978s Jan 08 12:34:47 978s Jan 08 12:34:47 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 978s Jan 08 12:34:47 Given I start postgres0 # features/steps/basic_replication.py:8 981s Jan 08 12:34:49 And I start postgres1 # features/steps/basic_replication.py:8 981s Jan 08 12:34:49 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 981s Jan 08 12:34:50 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 981s Jan 08 12:34:50 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 982s Jan 08 12:34:51 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 982s Jan 08 12:34:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 982s Jan 08 12:34:51 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 982s Jan 08 12:34:51 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 982s Jan 08 12:34:51 982s Jan 08 12:34:51 @dcs-failsafe @slot-advance 982s Jan 08 12:34:51 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 982s Jan 08 12:34:51 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 982s Jan 08 12:34:51 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 986s Jan 08 12:34:53 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 987s Jan 08 12:34:56 And DCS is down # features/steps/dcs_failsafe_mode.py:4 987s Jan 08 12:34:56 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 994s Jan 08 12:35:03 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 994s Jan 08 12:35:03 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 994s Jan 08 12:35:03 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 994s Jan 08 12:35:03 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 994s Jan 08 12:35:03 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 994s Jan 08 12:35:03 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 998s Jan 08 12:35:07 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 998s Jan 08 12:35:07 998s Jan 08 12:35:07 @dcs-failsafe 998s Jan 08 12:35:07 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 998s Jan 08 12:35:07 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 998s Jan 08 12:35:07 And I kill postgres1 # features/steps/basic_replication.py:34 999s Jan 08 12:35:08 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 999s Jan 08 12:35:08 waiting for server to shut down.... done 999s Jan 08 12:35:08 server stopped 999s Jan 08 12:35:08 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 1001s Jan 08 12:35:10 1001s Jan 08 12:35:10 @dcs-failsafe 1001s Jan 08 12:35:10 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 1001s Jan 08 12:35:10 Given I kill postgres0 # features/steps/basic_replication.py:34 1002s Jan 08 12:35:11 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 1002s Jan 08 12:35:11 waiting for server to shut down.... done 1002s Jan 08 12:35:11 server stopped 1002s Jan 08 12:35:11 And DCS is up # features/steps/dcs_failsafe_mode.py:9 1002s Jan 08 12:35:11 When I start postgres1 # features/steps/basic_replication.py:8 1005s Jan 08 12:35:14 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1005s Jan 08 12:35:14 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 1007s Jan 08 12:35:16 1007s Jan 08 12:35:16 @dcs-failsafe 1007s Jan 08 12:35:16 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 1007s Jan 08 12:35:16 Given I start postgres0 # features/steps/basic_replication.py:8 1010s Jan 08 12:35:19 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1013s Jan 08 12:35:22 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1014s Jan 08 12:35:23 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 1014s Jan 08 12:35:23 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 1014s Jan 08 12:35:23 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1015s Jan 08 12:35:24 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1016s Jan 08 12:35:25 1016s Jan 08 12:35:25 @dcs-failsafe @slot-advance 1016s Jan 08 12:35:25 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 1016s Jan 08 12:35:25 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"postgres2":0,"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1016s Jan 08 12:35:25 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1022s Jan 08 12:35:31 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1023s Jan 08 12:35:32 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1023s Jan 08 12:35:32 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1024s Jan 08 12:35:33 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1024s Jan 08 12:35:33 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1024s Jan 08 12:35:33 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1024s Jan 08 12:35:33 1024s Jan 08 12:35:33 @dcs-failsafe 1024s Jan 08 12:35:33 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 1024s Jan 08 12:35:33 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 1024s Jan 08 12:35:33 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 1032s Jan 08 12:35:41 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1032s Jan 08 12:35:41 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1032s Jan 08 12:35:41 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 1032s Jan 08 12:35:41 1032s Jan 08 12:35:41 @dcs-failsafe @slot-advance 1032s Jan 08 12:35:41 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 1032s Jan 08 12:35:41 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 1032s Jan 08 12:35:41 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 1033s Jan 08 12:35:42 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 1033s Jan 08 12:35:42 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 1033s Jan 08 12:35:42 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 1034s Jan 08 12:35:43 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 1034s Jan 08 12:35:43 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 1034s Jan 08 12:35:43 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1034s Jan 08 12:35:43 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 1034s Jan 08 12:35:43 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1040s Jan 08 12:35:49 1040s Jan 08 12:35:49 Feature: ignored slots # features/ignored_slots.feature:1 1040s Jan 08 12:35:49 1040s Jan 08 12:35:49 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1040s Jan 08 12:35:49 Given I start postgres1 # features/steps/basic_replication.py:8 1043s Jan 08 12:35:52 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1043s Jan 08 12:35:52 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1043s Jan 08 12:35:52 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 1043s Jan 08 12:35:52 Then I receive a response code 200 # features/steps/patroni_api.py:98 1043s Jan 08 12:35:52 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1043s Jan 08 12:35:52 When I shut down postgres1 # features/steps/basic_replication.py:29 1045s Jan 08 12:35:54 And I start postgres1 # features/steps/basic_replication.py:8 1047s Jan 08 12:35:56 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1048s Jan 08 12:35:57 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1049s Jan 08 12:35:58 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1049s Jan 08 12:35:58 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1049s Jan 08 12:35:58 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1049s Jan 08 12:35:58 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1049s Jan 08 12:35:58 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1049s Jan 08 12:35:58 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1049s Jan 08 12:35:58 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1049s Jan 08 12:35:58 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1049s Jan 08 12:35:58 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1049s Jan 08 12:35:58 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1049s Jan 08 12:35:58 When I start postgres0 # features/steps/basic_replication.py:8 1052s Jan 08 12:36:01 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1052s Jan 08 12:36:01 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1052s Jan 08 12:36:01 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1053s Jan 08 12:36:02 When I shut down postgres1 # features/steps/basic_replication.py:29 1055s Jan 08 12:36:04 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1056s Jan 08 12:36:05 When I start postgres1 # features/steps/basic_replication.py:8 1060s Jan 08 12:36:08 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1060s Jan 08 12:36:08 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1060s Jan 08 12:36:08 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1061s Jan 08 12:36:10 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1061s Jan 08 12:36:10 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1061s Jan 08 12:36:10 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1061s Jan 08 12:36:10 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1061s Jan 08 12:36:10 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1061s Jan 08 12:36:10 When I shut down postgres0 # features/steps/basic_replication.py:29 1063s Jan 08 12:36:12 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1064s Jan 08 12:36:13 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1064s Jan 08 12:36:13 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1064s Jan 08 12:36:13 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1064s Jan 08 12:36:13 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1066s Jan 08 12:36:15 1066s Jan 08 12:36:15 Feature: nostream node # features/nostream_node.feature:1 1066s Jan 08 12:36:15 1066s Jan 08 12:36:15 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1066s Jan 08 12:36:15 When I start postgres0 # features/steps/basic_replication.py:8 1069s Jan 08 12:36:18 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1072s Jan 08 12:36:21 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1072s Jan 08 12:36:21 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1077s Jan 08 12:36:26 1077s Jan 08 12:36:26 @slot-advance 1077s Jan 08 12:36:26 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1077s Jan 08 12:36:26 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1077s Jan 08 12:36:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 1077s Jan 08 12:36:26 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1079s Jan 08 12:36:28 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1080s Jan 08 12:36:29 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1083s Jan 08 12:36:32 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1089s Jan 08 12:36:38 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1089s Jan 08 12:36:38 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1094s Jan 08 12:36:43 1094s Jan 08 12:36:43 Feature: patroni api # features/patroni_api.feature:1 1094s Jan 08 12:36:43 We should check that patroni correctly responds to valid and not-valid API requests. 1094s Jan 08 12:36:43 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1094s Jan 08 12:36:43 Given I start postgres0 # features/steps/basic_replication.py:8 1097s Jan 08 12:36:46 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1097s Jan 08 12:36:46 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1097s Jan 08 12:36:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1097s Jan 08 12:36:46 And I receive a response state running # features/steps/patroni_api.py:98 1097s Jan 08 12:36:46 And I receive a response role master # features/steps/patroni_api.py:98 1097s Jan 08 12:36:46 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1097s Jan 08 12:36:46 Then I receive a response code 503 # features/steps/patroni_api.py:98 1097s Jan 08 12:36:46 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1097s Jan 08 12:36:46 Then I receive a response code 200 # features/steps/patroni_api.py:98 1097s Jan 08 12:36:46 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1098s Jan 08 12:36:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 1098s Jan 08 12:36:47 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1098s Jan 08 12:36:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 1098s Jan 08 12:36:47 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1098s Jan 08 12:36:47 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1099s Jan 08 12:36:48 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1099s Jan 08 12:36:48 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1099s Jan 08 12:36:48 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1099s Jan 08 12:36:48 Then I receive a response code 412 # features/steps/patroni_api.py:98 1099s Jan 08 12:36:48 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1099s Jan 08 12:36:48 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1099s Jan 08 12:36:48 Then I receive a response code 400 # features/steps/patroni_api.py:98 1099s Jan 08 12:36:48 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1099s Jan 08 12:36:48 Then I receive a response code 400 # features/steps/patroni_api.py:98 1099s Jan 08 12:36:48 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1099s Jan 08 12:36:48 1099s Jan 08 12:36:48 Scenario: check local configuration reload # features/patroni_api.feature:32 1099s Jan 08 12:36:48 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1099s Jan 08 12:36:48 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1099s Jan 08 12:36:48 Then I receive a response code 202 # features/steps/patroni_api.py:98 1099s Jan 08 12:36:48 1099s Jan 08 12:36:48 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1099s Jan 08 12:36:48 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 1099s Jan 08 12:36:48 Then I receive a response code 200 # features/steps/patroni_api.py:98 1099s Jan 08 12:36:48 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1102s Jan 08 12:36:51 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1102s Jan 08 12:36:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1102s Jan 08 12:36:51 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1102s Jan 08 12:36:51 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1102s Jan 08 12:36:51 Then I receive a response code 200 # features/steps/patroni_api.py:98 1102s Jan 08 12:36:51 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1102s Jan 08 12:36:51 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1106s Jan 08 12:36:55 1106s Jan 08 12:36:55 Scenario: check the scheduled restart # features/patroni_api.feature:49 1106s Jan 08 12:36:55 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1107s Jan 08 12:36:56 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1107s Jan 08 12:36:56 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1107s Jan 08 12:36:56 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1107s Jan 08 12:36:56 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 1107s Jan 08 12:36:56 Then I receive a response code 202 # features/steps/patroni_api.py:98 1107s Jan 08 12:36:56 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1115s Jan 08 12:37:04 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1115s Jan 08 12:37:04 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 1115s Jan 08 12:37:04 Then I receive a response code 202 # features/steps/patroni_api.py:98 1115s Jan 08 12:37:04 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 1123s Jan 08 12:37:11 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1124s Jan 08 12:37:12 1124s Jan 08 12:37:12 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1124s Jan 08 12:37:12 Given I start postgres1 # features/steps/basic_replication.py:8 1127s Jan 08 12:37:16 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1128s Jan 08 12:37:17 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1129s Jan 08 12:37:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1129s Jan 08 12:37:18 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1129s Jan 08 12:37:18 waiting for server to shut down.... done 1129s Jan 08 12:37:18 server stopped 1129s Jan 08 12:37:18 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1129s Jan 08 12:37:18 Then I receive a response code 503 # features/steps/patroni_api.py:98 1129s Jan 08 12:37:18 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1130s Jan 08 12:37:19 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1133s Jan 08 12:37:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1133s Jan 08 12:37:22 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1134s Jan 08 12:37:23 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1136s Jan 08 12:37:25 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1136s Jan 08 12:37:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1136s Jan 08 12:37:25 And I receive a response state running # features/steps/patroni_api.py:98 1136s Jan 08 12:37:25 And I receive a response role replica # features/steps/patroni_api.py:98 1136s Jan 08 12:37:25 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1140s Jan 08 12:37:29 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1140s Jan 08 12:37:29 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1140s Jan 08 12:37:29 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1141s Jan 08 12:37:30 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1141s Jan 08 12:37:30 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1143s Jan 08 12:37:32 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1143s Jan 08 12:37:32 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1143s Jan 08 12:37:32 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1144s Jan 08 12:37:33 1144s Jan 08 12:37:33 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1144s Jan 08 12:37:33 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 1146s Jan 08 12:37:35 Then I receive a response code 200 # features/steps/patroni_api.py:98 1146s Jan 08 12:37:35 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1146s Jan 08 12:37:35 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1146s Jan 08 12:37:35 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1150s Jan 08 12:37:39 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1150s Jan 08 12:37:39 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1151s Jan 08 12:37:40 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1151s Jan 08 12:37:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 1151s Jan 08 12:37:40 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1151s Jan 08 12:37:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1151s Jan 08 12:37:40 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1151s Jan 08 12:37:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 1151s Jan 08 12:37:40 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1151s Jan 08 12:37:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 1151s Jan 08 12:37:40 1151s Jan 08 12:37:40 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1151s Jan 08 12:37:40 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1153s Jan 08 12:37:42 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1153s Jan 08 12:37:42 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1153s Jan 08 12:37:42 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1155s Jan 08 12:37:44 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1155s Jan 08 12:37:44 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1156s Jan 08 12:37:45 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1156s Jan 08 12:37:45 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1166s Jan 08 12:37:55 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1167s Jan 08 12:37:56 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1169s Jan 08 12:37:58 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1169s Jan 08 12:37:58 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1169s Jan 08 12:37:58 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1169s Jan 08 12:37:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 1169s Jan 08 12:37:58 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1169s Jan 08 12:37:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 1169s Jan 08 12:37:58 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1169s Jan 08 12:37:58 Then I receive a response code 503 # features/steps/patroni_api.py:98 1169s Jan 08 12:37:58 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1170s Jan 08 12:37:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1174s Jan 08 12:38:03 1174s Jan 08 12:38:03 Feature: permanent slots # features/permanent_slots.feature:1 1174s Jan 08 12:38:03 1174s Jan 08 12:38:03 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1174s Jan 08 12:38:03 Given I start postgres0 # features/steps/basic_replication.py:8 1177s Jan 08 12:38:06 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1177s Jan 08 12:38:06 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1177s Jan 08 12:38:06 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 1177s Jan 08 12:38:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 1177s Jan 08 12:38:06 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1177s Jan 08 12:38:06 When I start postgres1 # features/steps/basic_replication.py:8 1180s Jan 08 12:38:09 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 1183s Jan 08 12:38:12 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1186s Jan 08 12:38:15 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1186s Jan 08 12:38:15 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1186s Jan 08 12:38:15 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1186s Jan 08 12:38:15 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1186s Jan 08 12:38:15 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 1186s Jan 08 12:38:15 1186s Jan 08 12:38:15 @slot-advance 1186s Jan 08 12:38:15 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1186s Jan 08 12:38:15 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1188s Jan 08 12:38:17 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 1188s Jan 08 12:38:17 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1189s Jan 08 12:38:18 1189s Jan 08 12:38:18 @slot-advance 1189s Jan 08 12:38:18 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1189s Jan 08 12:38:18 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1193s Jan 08 12:38:22 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1193s Jan 08 12:38:22 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1194s Jan 08 12:38:23 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1194s Jan 08 12:38:23 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1194s Jan 08 12:38:23 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1194s Jan 08 12:38:23 1194s Jan 08 12:38:23 @slot-advance 1194s Jan 08 12:38:23 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1194s Jan 08 12:38:23 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1194s Jan 08 12:38:23 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1194s Jan 08 12:38:23 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1194s Jan 08 12:38:23 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 1194s Jan 08 12:38:23 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 1194s Jan 08 12:38:23 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1194s Jan 08 12:38:23 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1194s Jan 08 12:38:23 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1194s Jan 08 12:38:23 1194s Jan 08 12:38:23 @slot-advance 1194s Jan 08 12:38:23 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1194s Jan 08 12:38:23 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1194s Jan 08 12:38:23 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1194s Jan 08 12:38:23 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1194s Jan 08 12:38:23 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1196s Jan 08 12:38:25 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1196s Jan 08 12:38:25 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1196s Jan 08 12:38:25 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1196s Jan 08 12:38:25 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1198s Jan 08 12:38:27 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1198s Jan 08 12:38:27 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1198s Jan 08 12:38:27 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1198s Jan 08 12:38:27 1198s Jan 08 12:38:27 @slot-advance 1198s Jan 08 12:38:27 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 1198s Jan 08 12:38:27 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 1198s Jan 08 12:38:27 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 1198s Jan 08 12:38:27 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 1198s Jan 08 12:38:27 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 1198s Jan 08 12:38:27 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 1198s Jan 08 12:38:27 1198s Jan 08 12:38:27 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 1198s Jan 08 12:38:27 Given I shut down postgres3 # features/steps/basic_replication.py:29 1199s Jan 08 12:38:28 And I shut down postgres2 # features/steps/basic_replication.py:29 1200s Jan 08 12:38:29 And I shut down postgres0 # features/steps/basic_replication.py:29 1202s Jan 08 12:38:31 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1202s Jan 08 12:38:31 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1202s Jan 08 12:38:31 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1202s Jan 08 12:38:31 When I start postgres0 # features/steps/basic_replication.py:8 1205s Jan 08 12:38:34 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 1205s Jan 08 12:38:34 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1205s Jan 08 12:38:34 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1208s Jan 08 12:38:37 1208s Jan 08 12:38:37 Feature: priority replication # features/priority_failover.feature:1 1208s Jan 08 12:38:37 We should check that we can give nodes priority during failover 1208s Jan 08 12:38:37 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1208s Jan 08 12:38:37 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1211s Jan 08 12:38:40 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1214s Jan 08 12:38:43 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1215s Jan 08 12:38:44 When I shut down postgres0 # features/steps/basic_replication.py:29 1217s Jan 08 12:38: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:121 1219s Jan 08 12:38:48 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1219s Jan 08 12:38:48 When I start postgres0 # features/steps/basic_replication.py:8 1221s Jan 08 12:38:50 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1223s Jan 08 12:38:52 1223s Jan 08 12:38:52 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1223s Jan 08 12:38:52 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1226s Jan 08 12:38:55 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1229s Jan 08 12:38:58 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1230s Jan 08 12:38:59 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1234s Jan 08 12:39:03 When I shut down postgres0 # features/steps/basic_replication.py:29 1236s Jan 08 12:39:05 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1236s Jan 08 12:39:05 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1236s Jan 08 12:39:05 1236s Jan 08 12:39:05 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1236s Jan 08 12:39:05 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1237s Jan 08 12:39:05 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1237s Jan 08 12:39:06 Then I receive a response code 202 # features/steps/patroni_api.py:98 1237s Jan 08 12:39:06 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1238s Jan 08 12:39:07 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1239s Jan 08 12:39:08 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1239s Jan 08 12:39:08 Then I receive a response code 412 # features/steps/patroni_api.py:98 1239s Jan 08 12:39:08 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1239s Jan 08 12:39:08 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1239s Jan 08 12:39:08 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1239s Jan 08 12:39:08 Then I receive a response code 202 # features/steps/patroni_api.py:98 1239s Jan 08 12:39:08 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1240s Jan 08 12:39:09 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1241s Jan 08 12:39:10 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1243s Jan 08 12:39:12 Then I receive a response code 200 # features/steps/patroni_api.py:98 1243s Jan 08 12:39:12 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1247s Jan 08 12:39:16 1247s Jan 08 12:39:16 Feature: recovery # features/recovery.feature:1 1247s Jan 08 12:39:16 We want to check that crashed postgres is started back 1247s Jan 08 12:39:16 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1247s Jan 08 12:39:16 Given I start postgres0 # features/steps/basic_replication.py:8 1250s Jan 08 12:39:19 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1250s Jan 08 12:39:19 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1250s Jan 08 12:39:19 When I start postgres1 # features/steps/basic_replication.py:8 1253s Jan 08 12:39:22 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1253s Jan 08 12:39:22 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1258s Jan 08 12:39:27 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1258s Jan 08 12:39:27 waiting for server to shut down.... done 1258s Jan 08 12:39:27 server stopped 1258s Jan 08 12:39:27 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1260s Jan 08 12:39:29 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1260s Jan 08 12:39:29 Then I receive a response code 200 # features/steps/patroni_api.py:98 1260s Jan 08 12:39:29 And I receive a response role master # features/steps/patroni_api.py:98 1260s Jan 08 12:39:29 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1260s Jan 08 12:39:29 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1261s Jan 08 12:39:30 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1263s Jan 08 12:39:32 1263s Jan 08 12:39:32 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1263s Jan 08 12:39:32 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 1263s Jan 08 12:39:32 Then I receive a response code 200 # features/steps/patroni_api.py:98 1263s Jan 08 12:39:32 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1263s Jan 08 12:39:32 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1263s Jan 08 12:39:32 waiting for server to shut down.... done 1263s Jan 08 12:39:32 server stopped 1263s Jan 08 12:39:32 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1265s Jan 08 12:39:34 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1269s Jan 08 12:39:38 1269s Jan 08 12:39:38 Feature: standby cluster # features/standby_cluster.feature:1 1269s Jan 08 12:39:38 1269s Jan 08 12:39:38 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1269s Jan 08 12:39:38 Given I start postgres1 # features/steps/basic_replication.py:8 1272s Jan 08 12:39:41 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1272s Jan 08 12:39:41 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1272s Jan 08 12:39:41 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 1273s Jan 08 12:39:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 1273s Jan 08 12:39:41 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1273s Jan 08 12:39:42 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1276s Jan 08 12:39:45 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 1276s Jan 08 12:39:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1276s Jan 08 12:39:45 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1276s Jan 08 12:39:45 When I start postgres0 # features/steps/basic_replication.py:8 1279s Jan 08 12:39:48 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1279s Jan 08 12:39:48 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1280s Jan 08 12:39:49 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1280s Jan 08 12:39:49 Then I receive a response code 200 # features/steps/patroni_api.py:98 1280s Jan 08 12:39:49 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1280s Jan 08 12:39:49 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1280s Jan 08 12:39:49 1280s Jan 08 12:39:49 @slot-advance 1280s Jan 08 12:39:49 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1280s Jan 08 12:39:49 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1283s Jan 08 12:39:52 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1288s Jan 08 12:39:57 1288s Jan 08 12:39:57 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1288s Jan 08 12:39:57 When I shut down postgres1 # features/steps/basic_replication.py:29 1290s Jan 08 12:39:59 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1290s Jan 08 12:39:59 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1291s Jan 08 12:40:00 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1291s Jan 08 12:40:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1291s Jan 08 12:40:00 1291s Jan 08 12:40:00 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1291s Jan 08 12:40:00 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1294s Jan 08 12:40:03 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1294s Jan 08 12:40:03 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1294s Jan 08 12:40:03 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1294s Jan 08 12:40:03 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1294s Jan 08 12:40:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 1294s Jan 08 12:40:03 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1294s Jan 08 12:40:03 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1297s Jan 08 12:40:06 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1297s Jan 08 12:40:06 Then I receive a response code 503 # features/steps/patroni_api.py:98 1297s Jan 08 12:40:06 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1297s Jan 08 12:40:06 Then I receive a response code 200 # features/steps/patroni_api.py:98 1297s Jan 08 12:40:06 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1297s Jan 08 12:40:06 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1297s Jan 08 12:40:06 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1300s Jan 08 12:40:09 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1300s Jan 08 12:40:09 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1305s Jan 08 12:40:14 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1305s Jan 08 12:40:14 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1305s Jan 08 12:40:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 1305s Jan 08 12:40:14 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1305s Jan 08 12:40:14 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1305s Jan 08 12:40:14 1305s Jan 08 12:40:14 Scenario: check switchover # features/standby_cluster.feature:57 1305s Jan 08 12:40:14 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1309s Jan 08 12:40:18 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1309s Jan 08 12:40:18 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1311s Jan 08 12:40:20 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 1311s Jan 08 12:40:20 1311s Jan 08 12:40:20 Scenario: check failover # features/standby_cluster.feature:63 1311s Jan 08 12:40:20 When I kill postgres2 # features/steps/basic_replication.py:34 1312s Jan 08 12:40:21 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1312s Jan 08 12:40:21 waiting for server to shut down.... done 1312s Jan 08 12:40:21 server stopped 1312s Jan 08 12:40:21 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1331s Jan 08 12:40:40 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 1331s Jan 08 12:40:40 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1331s Jan 08 12:40:40 Then I receive a response code 503 # features/steps/patroni_api.py:98 1331s Jan 08 12:40:40 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1331s Jan 08 12:40:40 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1332s Jan 08 12:40:41 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 1337s Jan 08 12:40:46 1337s Jan 08 12:40:46 Feature: watchdog # features/watchdog.feature:1 1337s Jan 08 12:40:46 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1337s Jan 08 12:40:46 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1337s Jan 08 12:40:46 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1340s Jan 08 12:40:49 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1340s Jan 08 12:40:49 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1340s Jan 08 12:40:49 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1341s Jan 08 12:40:50 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1341s Jan 08 12:40:50 1341s Jan 08 12:40:50 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1341s Jan 08 12:40:50 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1342s Jan 08 12:40:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1342s Jan 08 12:40:51 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1342s Jan 08 12:40:51 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1346s Jan 08 12:40:55 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1346s Jan 08 12:40:55 1346s Jan 08 12:40:55 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1346s Jan 08 12:40:55 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1348s Jan 08 12:40:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1348s Jan 08 12:40:57 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1350s Jan 08 12:40:59 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1350s Jan 08 12:40:59 1350s Jan 08 12:40:59 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1350s Jan 08 12:40:59 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1350s Jan 08 12:40:59 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1351s Jan 08 12:41:00 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1351s Jan 08 12:41:00 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1352s Jan 08 12:41:01 1352s Jan 08 12:41:01 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1352s Jan 08 12:41:01 Given I shut down postgres0 # features/steps/basic_replication.py:29 1354s Jan 08 12:41:03 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1354s Jan 08 12:41:03 1354s Jan 08 12:41:03 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1354s Jan 08 12:41:03 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1354s Jan 08 12:41:03 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1356s Jan 08 12:41:05 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1358s Jan 08 12:41:07 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1358s Jan 08 12:41:07 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1400s Jan 08 12:41:48 1400s 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'))") 1400s 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'))") 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5114.XPagCQKx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5158.XccEDoBx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5200.XwyYLzex 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5270.XwFUmSlx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5316.XPBTCocx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5390.XUdTSSmx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5439.XxDfgqCx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5442.XPnaAXqx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5527.XOkmGJbx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5628.XPdrTvhx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5635.XFkyHbvx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5678.XvrARXjx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5743.XNAMAYDx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5905.XtwYvDVx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.5950.XelOqEMx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.6006.XcyORxWx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.6093.XuyNgXGx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.6414.XEVvAqjx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.6488.XuHGHRAx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.6545.XqOIptwx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.6788.XyUnoLex 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.6841.XJRqjCnx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.6903.Xgtapwux 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.6993.XeriLzPx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7090.XWaTNZWx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7133.XqKEhCkx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7200.XIeTFQHx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7230.XOdwbTYx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7354.XRECAZKx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7403.XHKqxSRx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7418.XTgOdEJx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7457.XxBsdTex 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7506.XVULumNx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7511.XwTdwLVx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7548.XmlapNkx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7592.XdZkCkux 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7758.XHgYbzGx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7760.XvkDlOlx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7765.XIljqcqx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7899.XveAerFx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7945.XldvYyKx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.7993.XgwzaTJx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8043.XHkDruhx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8097.XJKEwyLx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8263.XJRbOPnx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8320.XVjrGyWx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8354.XZbzNKwx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8436.XqLLDqpx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8526.XICDzwux 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8575.XmSKmBtx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8930.XvgCjGTx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.8973.XvgIjkjx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.9124.XdJycrNx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.9186.XgspIyPx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.9240.XnasCqzx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.9366.XQgXEDEx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.9503.XiZoeDFx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.9623.XFNBwFnx 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.9666.XIQwZvlx 1401s Jan 08 12:41:50 Skipping duplicate data .coverage.autopkgtest.9668.XuqcZBux 1401s Jan 08 12:41:50 Combined data file .coverage.autopkgtest.9671.XEXiBZFx 1403s Jan 08 12:41:52 Name Stmts Miss Cover 1403s Jan 08 12:41:52 ------------------------------------------------------------------------------------------------------------- 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/OpenSSL/SSL.py 1159 642 45% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/OpenSSL/__init__.py 4 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/OpenSSL/_util.py 42 14 67% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/OpenSSL/crypto.py 865 658 24% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/OpenSSL/version.py 10 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/bcrypt/__init__.py 3 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 4 83% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py 47 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dsa.py 55 5 91% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.py 45 12 73% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py 43 12 72% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/types.py 19 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x448.py 43 12 72% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/x25519.py 41 12 71% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 15 79% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 12 78% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 59 58% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__init__.py 5 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/base.py 7 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py 775 614 21% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/utils.py 76 28 63% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/x509/__init__.py 70 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/x509/base.py 488 227 53% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py 42 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/x509/extensions.py 1024 552 46% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/x509/general_name.py 166 94 43% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/x509/name.py 236 144 39% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/x509/oid.py 3 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/cryptography/x509/verification.py 12 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/__init__.py 3 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/_asyncbackend.py 14 6 57% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/_ddr.py 105 86 18% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/_features.py 44 7 84% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/_immutable_ctx.py 40 5 88% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/asyncbackend.py 44 32 27% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/asyncquery.py 277 242 13% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/edns.py 270 161 40% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/entropy.py 80 49 39% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/enum.py 72 46 36% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/exception.py 60 33 45% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/flags.py 41 14 66% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/grange.py 34 30 12% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/immutable.py 41 30 27% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/inet.py 80 65 19% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/ipv4.py 27 20 26% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/ipv6.py 115 100 13% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/message.py 809 662 18% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/name.py 620 427 31% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/nameserver.py 101 54 47% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/node.py 118 71 40% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/opcode.py 31 7 77% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/query.py 536 462 14% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/quic/__init__.py 26 23 12% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rcode.py 69 13 81% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdata.py 377 269 29% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdataclass.py 44 9 80% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdataset.py 193 133 31% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdatatype.py 214 25 88% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/OPT.py 34 19 44% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/SOA.py 41 26 37% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/TSIG.py 58 42 28% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/ZONEMD.py 43 27 37% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdtypes/ANY/__init__.py 2 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdtypes/__init__.py 2 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdtypes/svcbbase.py 397 261 34% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rdtypes/util.py 191 154 19% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/renderer.py 152 118 22% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/resolver.py 899 719 20% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/reversename.py 33 24 27% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/rrset.py 78 56 28% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/serial.py 93 79 15% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/set.py 149 108 28% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/tokenizer.py 335 279 17% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/transaction.py 271 203 25% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/tsig.py 177 122 31% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/ttl.py 45 38 16% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/version.py 7 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/wire.py 64 42 34% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/xfr.py 148 126 15% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/zone.py 508 383 25% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/zonefile.py 429 380 11% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/dns/zonetypes.py 15 2 87% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/etcd/__init__.py 125 24 81% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/etcd/client.py 380 192 49% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/etcd/lock.py 125 103 18% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/idna/__init__.py 4 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/idna/core.py 292 257 12% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/idna/idnadata.py 4 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/idna/intranges.py 30 24 20% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/idna/package_data.py 1 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/api.py 780 280 64% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/config.py 371 94 75% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 77 88% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/dcs/etcd.py 603 119 80% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/ha.py 1270 322 75% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 173 79% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 217 74% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 38 89% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/utils.py 370 119 68% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 43 79% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 36 73% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 100 57% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 9 83% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/connection.py 324 99 69% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 120 65% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/contrib/__init__.py 0 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py 257 96 63% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 85 64% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/response.py 562 310 45% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 42 36% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 47 73% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 78 56% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 14 80% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 68 67% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 10 62% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 18 63% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/parser.py 352 198 44% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/reader.py 122 34 72% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/scanner.py 758 437 42% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1403s Jan 08 12:41:52 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1403s Jan 08 12:41:52 patroni/__init__.py 13 2 85% 1403s Jan 08 12:41:52 patroni/__main__.py 199 199 0% 1403s Jan 08 12:41:52 patroni/api.py 780 780 0% 1403s Jan 08 12:41:52 patroni/async_executor.py 96 69 28% 1403s Jan 08 12:41:52 patroni/collections.py 56 15 73% 1403s Jan 08 12:41:52 patroni/config.py 371 196 47% 1403s Jan 08 12:41:52 patroni/config_generator.py 212 212 0% 1403s Jan 08 12:41:52 patroni/ctl.py 936 411 56% 1403s Jan 08 12:41:52 patroni/daemon.py 76 76 0% 1403s Jan 08 12:41:52 patroni/dcs/__init__.py 654 275 58% 1403s Jan 08 12:41:52 patroni/dcs/consul.py 484 484 0% 1403s Jan 08 12:41:52 patroni/dcs/etcd3.py 679 679 0% 1403s Jan 08 12:41:52 patroni/dcs/etcd.py 603 224 63% 1403s Jan 08 12:41:52 patroni/dcs/exhibitor.py 62 62 0% 1403s Jan 08 12:41:52 patroni/dcs/kubernetes.py 940 940 0% 1403s Jan 08 12:41:52 patroni/dcs/raft.py 319 319 0% 1403s Jan 08 12:41:52 patroni/dcs/zookeeper.py 289 289 0% 1403s Jan 08 12:41:52 patroni/dynamic_loader.py 35 7 80% 1403s Jan 08 12:41:52 patroni/exceptions.py 16 1 94% 1403s Jan 08 12:41:52 patroni/file_perm.py 43 15 65% 1403s Jan 08 12:41:52 patroni/global_config.py 81 18 78% 1403s Jan 08 12:41:52 patroni/ha.py 1270 1270 0% 1403s Jan 08 12:41:52 patroni/log.py 221 175 21% 1403s Jan 08 12:41:52 patroni/postgresql/__init__.py 822 652 21% 1403s Jan 08 12:41:52 patroni/postgresql/available_parameters/__init__.py 24 6 75% 1403s Jan 08 12:41:52 patroni/postgresql/bootstrap.py 255 225 12% 1403s Jan 08 12:41:52 patroni/postgresql/callback_executor.py 55 34 38% 1403s Jan 08 12:41:52 patroni/postgresql/cancellable.py 104 84 19% 1403s Jan 08 12:41:52 patroni/postgresql/config.py 838 718 14% 1403s Jan 08 12:41:52 patroni/postgresql/connection.py 75 50 33% 1403s Jan 08 12:41:52 patroni/postgresql/misc.py 43 30 30% 1403s Jan 08 12:41:52 patroni/postgresql/mpp/__init__.py 89 21 76% 1403s Jan 08 12:41:52 patroni/postgresql/mpp/citus.py 259 259 0% 1403s Jan 08 12:41:52 patroni/postgresql/postmaster.py 170 139 18% 1403s Jan 08 12:41:52 patroni/postgresql/rewind.py 416 416 0% 1403s Jan 08 12:41:52 patroni/postgresql/slots.py 349 300 14% 1403s Jan 08 12:41:52 patroni/postgresql/sync.py 130 96 26% 1403s Jan 08 12:41:52 patroni/postgresql/validator.py 157 52 67% 1403s Jan 08 12:41:52 patroni/psycopg.py 46 32 30% 1403s Jan 08 12:41:52 patroni/raft_controller.py 22 22 0% 1403s Jan 08 12:41:52 patroni/request.py 58 6 90% 1403s Jan 08 12:41:52 patroni/scripts/__init__.py 0 0 100% 1403s Jan 08 12:41:52 patroni/scripts/aws.py 59 59 0% 1403s Jan 08 12:41:52 patroni/scripts/barman/__init__.py 0 0 100% 1403s Jan 08 12:41:52 patroni/scripts/barman/cli.py 51 51 0% 1403s Jan 08 12:41:52 patroni/scripts/barman/config_switch.py 51 51 0% 1403s Jan 08 12:41:52 patroni/scripts/barman/recover.py 37 37 0% 1403s Jan 08 12:41:52 patroni/scripts/barman/utils.py 94 94 0% 1403s Jan 08 12:41:52 patroni/scripts/wale_restore.py 207 207 0% 1403s Jan 08 12:41:52 patroni/tags.py 38 11 71% 1403s Jan 08 12:41:52 patroni/utils.py 370 214 42% 1403s Jan 08 12:41:52 patroni/validator.py 307 221 28% 1403s Jan 08 12:41:52 patroni/version.py 1 0 100% 1403s Jan 08 12:41:52 patroni/watchdog/__init__.py 2 2 0% 1403s Jan 08 12:41:52 patroni/watchdog/base.py 203 203 0% 1403s Jan 08 12:41:52 patroni/watchdog/linux.py 135 135 0% 1403s Jan 08 12:41:52 ------------------------------------------------------------------------------------------------------------- 1403s Jan 08 12:41:52 TOTAL 52569 31805 39% 1403s Jan 08 12:41:52 12 features passed, 0 failed, 1 skipped 1403s Jan 08 12:41:52 55 scenarios passed, 0 failed, 5 skipped 1403s Jan 08 12:41:52 527 steps passed, 0 failed, 61 skipped, 0 undefined 1403s Jan 08 12:41:52 Took 8m22.827s 1403s ### End 16 acceptance-etcd ### 1403s + echo '### End 16 acceptance-etcd ###' 1403s + rm -f '/tmp/pgpass?' 1403s ++ id -u 1403s + '[' 0 -eq 0 ']' 1403s + '[' -x /etc/init.d/zookeeper ']' 1403s autopkgtest [12:41:52]: test acceptance-etcd: -----------------------] 1404s autopkgtest [12:41:53]: test acceptance-etcd: - - - - - - - - - - results - - - - - - - - - - 1404s acceptance-etcd PASS 1404s autopkgtest [12:41:53]: test acceptance-zookeeper: preparing testbed 1476s autopkgtest [12:43:05]: testbed dpkg architecture: s390x 1477s autopkgtest [12:43:06]: testbed apt version: 2.9.18 1477s autopkgtest [12:43:06]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1477s autopkgtest [12:43:06]: testbed release detected to be: plucky 1478s autopkgtest [12:43:07]: updating testbed package index (apt update) 1478s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 1478s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1478s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1479s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1479s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.3 kB] 1479s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 1479s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [129 kB] 1479s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [817 kB] 1479s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [235 kB] 1480s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [756 B] 1480s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [914 kB] 1480s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [5576 B] 1480s Fetched 2201 kB in 2s (1031 kB/s) 1481s Reading package lists... 1481s Reading package lists... 1481s Building dependency tree... 1481s Reading state information... 1482s Calculating upgrade... 1482s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1482s Reading package lists... 1482s Building dependency tree... 1482s Reading state information... 1482s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1482s autopkgtest [12:43:11]: upgrading testbed (apt dist-upgrade and autopurge) 1482s Reading package lists... 1482s Building dependency tree... 1482s Reading state information... 1482s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1482s Starting 2 pkgProblemResolver with broken count: 0 1482s Done 1483s Entering ResolveByKeep 1483s 1483s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1483s Reading package lists... 1483s Building dependency tree... 1483s Reading state information... 1483s Starting pkgProblemResolver with broken count: 0 1483s Starting 2 pkgProblemResolver with broken count: 0 1483s Done 1483s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1486s Reading package lists... 1486s Building dependency tree... 1486s Reading state information... 1486s Starting pkgProblemResolver with broken count: 0 1486s Starting 2 pkgProblemResolver with broken count: 0 1486s Done 1487s The following NEW packages will be installed: 1487s adwaita-icon-theme at-spi2-common ca-certificates-java 1487s dconf-gsettings-backend dconf-service default-jre default-jre-headless 1487s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 1487s fonts-font-awesome fonts-lato gtk-update-icon-cache hicolor-icon-theme 1487s humanity-icon-theme java-common junit4 libactivation-java libapache-pom-java 1487s libapr1t64 libasm-java libasound2-data libasound2t64 1487s libatinject-jsr330-api-java libatk-bridge2.0-0t64 libatk1.0-0t64 1487s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 1487s libcairo-gobject2 libcairo2 libcares2 libcolord2 libcommons-cli-java 1487s libcommons-io-java libcommons-logging-java libcommons-parent-java 1487s libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-radeon1 1487s libdropwizard-metrics-java libeclipse-jdt-core-compiler-batch-java 1487s libeclipse-jdt-core-java libel-api-java libepoxy0 liberror-prone-java 1487s libev4t64 libfindbugs-annotations-java libfontconfig1 libfreetype6 libgbm1 1487s libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri 1487s libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgraphite2-3 libgtk-3-0t64 1487s libgtk-3-common libguava-java libhamcrest-java libharfbuzz0b libio-pty-perl 1487s libipc-run-perl libjackson2-annotations-java libjackson2-core-java 1487s libjackson2-databind-java libjaxb-api-java libjbig0 libjctools-java 1487s libjetty9-extra-java libjetty9-java libjffi-java libjffi-jni 1487s libjnr-constants-java libjnr-enxio-java libjnr-ffi-java libjnr-posix-java 1487s libjnr-unixsocket-java libjnr-x86asm-java libjpeg-turbo8 libjpeg8 1487s libjs-jquery libjs-sphinxdoc libjs-underscore libjson-perl libjsp-api-java 1487s libjsr305-java liblcms2-2 liblog4j1.2-java libmail-java libnetty-java 1487s libnetty-tcnative-java libnetty-tcnative-jni libpango-1.0-0 1487s libpangocairo-1.0-0 libpangoft2-1.0-0 libpcsclite1 libpixman-1-0 libpq5 1487s libpython3.13-minimal libpython3.13-stdlib libservlet-api-java libsharpyuv0 1487s libslf4j-java libsnappy-java libsnappy-jni libsnappy1v5 libspring-beans-java 1487s libspring-core-java libtaglibs-standard-impl-java 1487s libtaglibs-standard-spec-java libthai-data libthai0 libtiff6 1487s libtime-duration-perl libtimedate-perl libtomcat9-java libvulkan1 1487s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 1487s libwebp7 libwebsocket-api-java libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 1487s libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 1487s libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 1487s libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 libxshmfence1 1487s libxslt1.1 libxtst6 libxxf86vm1 libzookeeper-java mesa-libgallium moreutils 1487s openjdk-21-jre openjdk-21-jre-headless patroni patroni-doc postgresql 1487s postgresql-16 postgresql-client-16 postgresql-client-common 1487s postgresql-common python3-behave python3-cdiff python3-click 1487s python3-colorama python3-coverage python3-dateutil python3-dnspython 1487s python3-eventlet python3-gevent python3-greenlet python3-kazoo 1487s python3-kerberos python3-parse python3-parse-type python3-prettytable 1487s python3-psutil python3-psycopg2 python3-pure-sasl python3-six 1487s python3-wcwidth python3-ydiff python3-zope.event python3-zope.interface 1487s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert ubuntu-mono 1487s x11-common zookeeper zookeeperd 1487s 0 upgraded, 198 newly installed, 0 to remove and 0 not upgraded. 1487s Need to get 135 MB of archives. 1487s After this operation, 467 MB of additional disk space will be used. 1487s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-lato all 2.015-1 [2781 kB] 1488s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libjson-perl all 4.10000-1 [81.9 kB] 1488s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-common all 262 [36.7 kB] 1488s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x ssl-cert all 1.1.3ubuntu1 [18.7 kB] 1488s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-common all 262 [162 kB] 1488s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-minimal s390x 3.13.1-2 [880 kB] 1489s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-minimal s390x 3.13.1-2 [2364 kB] 1489s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x ca-certificates-java all 20240118 [11.6 kB] 1489s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x java-common all 0.76 [6852 B] 1489s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x liblcms2-2 s390x 2.16-2 [175 kB] 1489s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libjpeg-turbo8 s390x 2.1.5-3ubuntu2 [147 kB] 1489s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libjpeg8 s390x 8c-2ubuntu11 [2146 B] 1489s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x libpcsclite1 s390x 2.3.0-3 [24.4 kB] 1489s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x openjdk-21-jre-headless s390x 21.0.5+11-1 [43.8 MB] 1492s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x default-jre-headless s390x 2:1.21-76 [3182 B] 1492s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 1492s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libdeflate0 s390x 1.22-1 [46.1 kB] 1492s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x libjbig0 s390x 2.1-6.1ubuntu2 [33.1 kB] 1492s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x libsharpyuv0 s390x 1.4.0-0.1 [16.2 kB] 1492s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x libwebp7 s390x 1.4.0-0.1 [204 kB] 1492s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x libtiff6 s390x 4.5.1+git230720-4ubuntu4 [217 kB] 1492s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x libgdk-pixbuf-2.0-0 s390x 2.42.12+dfsg-1 [152 kB] 1492s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x gtk-update-icon-cache s390x 4.17.1+ds-2 [52.5 kB] 1492s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x hicolor-icon-theme all 0.18-1 [13.5 kB] 1492s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x humanity-icon-theme all 0.6.16 [1282 kB] 1492s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x ubuntu-mono all 24.04-0ubuntu1 [151 kB] 1492s Get:27 http://ftpmaster.internal/ubuntu plucky/main s390x adwaita-icon-theme all 47.0-2 [525 kB] 1492s Get:28 http://ftpmaster.internal/ubuntu plucky/main s390x at-spi2-common all 2.54.0-1 [8774 B] 1492s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x libatk1.0-0t64 s390x 2.54.0-1 [54.7 kB] 1492s Get:30 http://ftpmaster.internal/ubuntu plucky/main s390x libxi6 s390x 2:1.8.2-1 [35.4 kB] 1492s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x libatspi2.0-0t64 s390x 2.54.0-1 [79.8 kB] 1492s Get:32 http://ftpmaster.internal/ubuntu plucky/main s390x libatk-bridge2.0-0t64 s390x 2.54.0-1 [66.4 kB] 1492s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x libfreetype6 s390x 2.13.3+dfsg-1 [431 kB] 1492s Get:34 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-dejavu-mono all 2.37-8 [502 kB] 1492s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-dejavu-core all 2.37-8 [835 kB] 1492s Get:36 http://ftpmaster.internal/ubuntu plucky/main s390x fontconfig-config s390x 2.15.0-1.1ubuntu2 [37.4 kB] 1492s Get:37 http://ftpmaster.internal/ubuntu plucky/main s390x libfontconfig1 s390x 2.15.0-1.1ubuntu2 [150 kB] 1492s Get:38 http://ftpmaster.internal/ubuntu plucky/main s390x libpixman-1-0 s390x 0.44.0-3 [201 kB] 1492s Get:39 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-render0 s390x 1.17.0-2 [17.0 kB] 1492s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-shm0 s390x 1.17.0-2 [5862 B] 1492s Get:41 http://ftpmaster.internal/ubuntu plucky/main s390x libxrender1 s390x 1:0.9.10-1.1build1 [20.4 kB] 1492s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x libcairo2 s390x 1.18.2-2 [580 kB] 1492s Get:43 http://ftpmaster.internal/ubuntu plucky/main s390x libcairo-gobject2 s390x 1.18.2-2 [127 kB] 1492s Get:44 http://ftpmaster.internal/ubuntu plucky/main s390x libcolord2 s390x 1.4.7-1build2 [151 kB] 1493s Get:45 http://ftpmaster.internal/ubuntu plucky/main s390x libavahi-common-data s390x 0.8-14ubuntu1 [30.5 kB] 1493s Get:46 http://ftpmaster.internal/ubuntu plucky/main s390x libavahi-common3 s390x 0.8-14ubuntu1 [23.6 kB] 1493s Get:47 http://ftpmaster.internal/ubuntu plucky/main s390x libavahi-client3 s390x 0.8-14ubuntu1 [26.8 kB] 1493s Get:48 http://ftpmaster.internal/ubuntu plucky/main s390x libcups2t64 s390x 2.4.11-0ubuntu2 [282 kB] 1493s Get:49 http://ftpmaster.internal/ubuntu plucky/main s390x libepoxy0 s390x 1.5.10-2 [222 kB] 1493s Get:50 http://ftpmaster.internal/ubuntu plucky/main s390x libgraphite2-3 s390x 1.3.14-2ubuntu1 [79.8 kB] 1493s Get:51 http://ftpmaster.internal/ubuntu plucky/main s390x libharfbuzz0b s390x 10.1.0-1 [537 kB] 1493s Get:52 http://ftpmaster.internal/ubuntu plucky/main s390x fontconfig s390x 2.15.0-1.1ubuntu2 [191 kB] 1493s Get:53 http://ftpmaster.internal/ubuntu plucky/main s390x libthai-data all 0.1.29-2build1 [158 kB] 1493s Get:54 http://ftpmaster.internal/ubuntu plucky/main s390x libdatrie1 s390x 0.2.13-3build1 [20.6 kB] 1493s Get:55 http://ftpmaster.internal/ubuntu plucky/main s390x libthai0 s390x 0.1.29-2build1 [20.7 kB] 1493s Get:56 http://ftpmaster.internal/ubuntu plucky/main s390x libpango-1.0-0 s390x 1.55.0+ds-3 [252 kB] 1493s Get:57 http://ftpmaster.internal/ubuntu plucky/main s390x libpangoft2-1.0-0 s390x 1.55.0+ds-3 [49.7 kB] 1493s Get:58 http://ftpmaster.internal/ubuntu plucky/main s390x libpangocairo-1.0-0 s390x 1.55.0+ds-3 [28.3 kB] 1493s Get:59 http://ftpmaster.internal/ubuntu plucky/main s390x libwayland-client0 s390x 1.23.0-1 [27.6 kB] 1493s Get:60 http://ftpmaster.internal/ubuntu plucky/main s390x libwayland-cursor0 s390x 1.23.0-1 [11.5 kB] 1493s Get:61 http://ftpmaster.internal/ubuntu plucky/main s390x libwayland-egl1 s390x 1.23.0-1 [5584 B] 1493s Get:62 http://ftpmaster.internal/ubuntu plucky/main s390x libxcomposite1 s390x 1:0.4.6-1 [6588 B] 1493s Get:63 http://ftpmaster.internal/ubuntu plucky/main s390x libxfixes3 s390x 1:6.0.0-2build1 [11.3 kB] 1493s Get:64 http://ftpmaster.internal/ubuntu plucky/main s390x libxcursor1 s390x 1:1.2.2-1 [22.7 kB] 1493s Get:65 http://ftpmaster.internal/ubuntu plucky/main s390x libxdamage1 s390x 1:1.1.6-1build1 [6156 B] 1493s Get:66 http://ftpmaster.internal/ubuntu plucky/main s390x libxinerama1 s390x 2:1.1.4-3build1 [6476 B] 1493s Get:67 http://ftpmaster.internal/ubuntu plucky/main s390x libxrandr2 s390x 2:1.5.4-1 [20.8 kB] 1493s Get:68 http://ftpmaster.internal/ubuntu plucky/main s390x libdconf1 s390x 0.40.0-4build2 [40.3 kB] 1493s Get:69 http://ftpmaster.internal/ubuntu plucky/main s390x dconf-service s390x 0.40.0-4build2 [28.6 kB] 1493s Get:70 http://ftpmaster.internal/ubuntu plucky/main s390x dconf-gsettings-backend s390x 0.40.0-4build2 [23.2 kB] 1493s Get:71 http://ftpmaster.internal/ubuntu plucky/main s390x libgtk-3-common all 3.24.43-4ubuntu1 [1203 kB] 1493s Get:72 http://ftpmaster.internal/ubuntu plucky/main s390x libgtk-3-0t64 s390x 3.24.43-4ubuntu1 [2936 kB] 1493s Get:73 http://ftpmaster.internal/ubuntu plucky/main s390x libglvnd0 s390x 1.7.0-1build1 [110 kB] 1493s Get:74 http://ftpmaster.internal/ubuntu plucky/main s390x libglapi-mesa s390x 24.2.8-1ubuntu1 [68.0 kB] 1493s Get:75 http://ftpmaster.internal/ubuntu plucky/main s390x libx11-xcb1 s390x 2:1.8.10-2 [7954 B] 1493s Get:76 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-dri2-0 s390x 1.17.0-2 [7448 B] 1493s Get:77 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-dri3-0 s390x 1.17.0-2 [7616 B] 1493s Get:78 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-glx0 s390x 1.17.0-2 [26.0 kB] 1493s Get:79 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-present0 s390x 1.17.0-2 [6244 B] 1493s Get:80 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-randr0 s390x 1.17.0-2 [19.2 kB] 1493s Get:81 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-sync1 s390x 1.17.0-2 [9488 B] 1493s Get:82 http://ftpmaster.internal/ubuntu plucky/main s390x libxcb-xfixes0 s390x 1.17.0-2 [10.5 kB] 1493s Get:83 http://ftpmaster.internal/ubuntu plucky/main s390x libxshmfence1 s390x 1.3-1build5 [4772 B] 1493s Get:84 http://ftpmaster.internal/ubuntu plucky/main s390x libxxf86vm1 s390x 1:1.1.4-1build4 [9630 B] 1493s Get:85 http://ftpmaster.internal/ubuntu plucky/main s390x libdrm-radeon1 s390x 2.4.123-1 [22.4 kB] 1493s Get:86 http://ftpmaster.internal/ubuntu plucky/main s390x mesa-libgallium s390x 24.2.8-1ubuntu1 [7719 kB] 1493s Get:87 http://ftpmaster.internal/ubuntu plucky/main s390x libvulkan1 s390x 1.3.296.0-1 [143 kB] 1493s Get:88 http://ftpmaster.internal/ubuntu plucky/main s390x libwayland-server0 s390x 1.23.0-1 [36.5 kB] 1493s Get:89 http://ftpmaster.internal/ubuntu plucky/main s390x libgbm1 s390x 24.2.8-1ubuntu1 [33.7 kB] 1493s Get:90 http://ftpmaster.internal/ubuntu plucky/main s390x libgl1-mesa-dri s390x 24.2.8-1ubuntu1 [34.4 kB] 1493s Get:91 http://ftpmaster.internal/ubuntu plucky/main s390x libglx-mesa0 s390x 24.2.8-1ubuntu1 [175 kB] 1493s Get:92 http://ftpmaster.internal/ubuntu plucky/main s390x libglx0 s390x 1.7.0-1build1 [32.2 kB] 1493s Get:93 http://ftpmaster.internal/ubuntu plucky/main s390x libgl1 s390x 1.7.0-1build1 [142 kB] 1493s Get:94 http://ftpmaster.internal/ubuntu plucky/main s390x libasound2-data all 1.2.12-1 [21.0 kB] 1493s Get:95 http://ftpmaster.internal/ubuntu plucky/main s390x libasound2t64 s390x 1.2.12-1 [408 kB] 1493s Get:96 http://ftpmaster.internal/ubuntu plucky/main s390x libgif7 s390x 5.2.2-1ubuntu1 [38.0 kB] 1493s Get:97 http://ftpmaster.internal/ubuntu plucky/main s390x x11-common all 1:7.7+23ubuntu3 [21.7 kB] 1493s Get:98 http://ftpmaster.internal/ubuntu plucky/main s390x libxtst6 s390x 2:1.2.3-1.1build1 [13.4 kB] 1493s Get:99 http://ftpmaster.internal/ubuntu plucky/main s390x openjdk-21-jre s390x 21.0.5+11-1 [235 kB] 1493s Get:100 http://ftpmaster.internal/ubuntu plucky/main s390x default-jre s390x 2:1.21-76 [920 B] 1493s Get:101 http://ftpmaster.internal/ubuntu plucky/universe s390x libhamcrest-java all 2.2-2 [117 kB] 1494s Get:102 http://ftpmaster.internal/ubuntu plucky/universe s390x junit4 all 4.13.2-5 [348 kB] 1494s Get:103 http://ftpmaster.internal/ubuntu plucky/universe s390x libcommons-cli-java all 1.6.0-1 [59.9 kB] 1494s Get:104 http://ftpmaster.internal/ubuntu plucky/universe s390x libapache-pom-java all 33-2 [5874 B] 1494s Get:105 http://ftpmaster.internal/ubuntu plucky/universe s390x libcommons-parent-java all 56-1 [10.7 kB] 1494s Get:106 http://ftpmaster.internal/ubuntu plucky/universe s390x libcommons-io-java all 2.17.0-1 [457 kB] 1494s Get:107 http://ftpmaster.internal/ubuntu plucky/universe s390x libdropwizard-metrics-java all 3.2.6-1 [240 kB] 1494s Get:108 http://ftpmaster.internal/ubuntu plucky/universe s390x libfindbugs-annotations-java all 3.1.0~preview2-4 [48.9 kB] 1494s Get:109 http://ftpmaster.internal/ubuntu plucky/universe s390x libatinject-jsr330-api-java all 1.0+ds1-5 [5348 B] 1494s Get:110 http://ftpmaster.internal/ubuntu plucky/universe s390x liberror-prone-java all 2.18.0-1 [22.5 kB] 1494s Get:111 http://ftpmaster.internal/ubuntu plucky/universe s390x libjsr305-java all 0.1~+svn49-11 [27.0 kB] 1494s Get:112 http://ftpmaster.internal/ubuntu plucky/universe s390x libguava-java all 32.0.1-1 [2692 kB] 1494s Get:113 http://ftpmaster.internal/ubuntu plucky/universe s390x libjackson2-annotations-java all 2.14.0-1 [64.7 kB] 1494s Get:114 http://ftpmaster.internal/ubuntu plucky/universe s390x libjackson2-core-java all 2.14.1-1 [432 kB] 1494s Get:115 http://ftpmaster.internal/ubuntu plucky/universe s390x libjackson2-databind-java all 2.14.0-1 [1531 kB] 1494s Get:116 http://ftpmaster.internal/ubuntu plucky/universe s390x libasm-java all 9.7.1-1 [388 kB] 1494s Get:117 http://ftpmaster.internal/ubuntu plucky/universe s390x libel-api-java all 3.0.0-3 [64.9 kB] 1494s Get:118 http://ftpmaster.internal/ubuntu plucky/universe s390x libjsp-api-java all 2.3.4-3 [53.7 kB] 1494s Get:119 http://ftpmaster.internal/ubuntu plucky/universe s390x libservlet-api-java all 4.0.1-2 [81.0 kB] 1494s Get:120 http://ftpmaster.internal/ubuntu plucky/universe s390x libwebsocket-api-java all 1.1-2 [40.1 kB] 1494s Get:121 http://ftpmaster.internal/ubuntu plucky/universe s390x libjetty9-java all 9.4.56-1 [2790 kB] 1494s Get:122 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-constants-java all 0.10.4-2 [1397 kB] 1494s Get:123 http://ftpmaster.internal/ubuntu plucky/universe s390x libjffi-jni s390x 1.3.13+ds-1 [30.7 kB] 1494s Get:124 http://ftpmaster.internal/ubuntu plucky/universe s390x libjffi-java all 1.3.13+ds-1 [112 kB] 1495s Get:125 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-x86asm-java all 1.0.2-5.1 [207 kB] 1495s Get:126 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-ffi-java all 2.2.15-2 [627 kB] 1495s Get:127 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-enxio-java all 0.32.16-1 [33.7 kB] 1495s Get:128 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-posix-java all 3.1.18-1 [267 kB] 1495s Get:129 http://ftpmaster.internal/ubuntu plucky/universe s390x libjnr-unixsocket-java all 0.38.21-2 [46.9 kB] 1495s Get:130 http://ftpmaster.internal/ubuntu plucky/universe s390x libactivation-java all 1.2.0-2 [84.7 kB] 1495s Get:131 http://ftpmaster.internal/ubuntu plucky/universe s390x libmail-java all 1.6.5-3 [681 kB] 1495s Get:132 http://ftpmaster.internal/ubuntu plucky/universe s390x libcommons-logging-java all 1.3.0-1ubuntu1 [63.8 kB] 1495s Get:133 http://ftpmaster.internal/ubuntu plucky/universe s390x libjaxb-api-java all 2.3.1-1 [119 kB] 1495s Get:134 http://ftpmaster.internal/ubuntu plucky/universe s390x libspring-core-java all 4.3.30-2ubuntu1 [1015 kB] 1495s Get:135 http://ftpmaster.internal/ubuntu plucky/universe s390x libspring-beans-java all 4.3.30-2ubuntu1 [677 kB] 1495s Get:136 http://ftpmaster.internal/ubuntu plucky/universe s390x libtaglibs-standard-spec-java all 1.2.5-3 [35.2 kB] 1495s Get:137 http://ftpmaster.internal/ubuntu plucky/universe s390x libtaglibs-standard-impl-java all 1.2.5-3 [182 kB] 1495s Get:138 http://ftpmaster.internal/ubuntu plucky/universe s390x libeclipse-jdt-core-compiler-batch-java all 3.35.0+eclipse4.29-2 [2933 kB] 1495s Get:139 http://ftpmaster.internal/ubuntu plucky/universe s390x libeclipse-jdt-core-java all 3.35.0+eclipse4.29-2 [3831 kB] 1495s Get:140 http://ftpmaster.internal/ubuntu plucky/universe s390x libtomcat9-java all 9.0.70-2ubuntu1.1 [6161 kB] 1495s Get:141 http://ftpmaster.internal/ubuntu plucky/universe s390x libjetty9-extra-java all 9.4.56-1 [1199 kB] 1495s Get:142 http://ftpmaster.internal/ubuntu plucky/universe s390x libjctools-java all 2.0.2-1 [188 kB] 1495s Get:143 http://ftpmaster.internal/ubuntu plucky/universe s390x libnetty-java all 1:4.1.48-10 [3628 kB] 1496s Get:144 http://ftpmaster.internal/ubuntu plucky/universe s390x libslf4j-java all 1.7.32-1 [141 kB] 1496s Get:145 http://ftpmaster.internal/ubuntu plucky/main s390x libsnappy1v5 s390x 1.2.1-1 [33.0 kB] 1496s Get:146 http://ftpmaster.internal/ubuntu plucky/universe s390x libsnappy-jni s390x 1.1.10.7-1 [6814 B] 1496s Get:147 http://ftpmaster.internal/ubuntu plucky/universe s390x libsnappy-java all 1.1.10.7-1 [83.6 kB] 1496s Get:148 http://ftpmaster.internal/ubuntu plucky/main s390x libapr1t64 s390x 1.7.5-1 [114 kB] 1496s Get:149 http://ftpmaster.internal/ubuntu plucky/universe s390x libnetty-tcnative-jni s390x 2.0.28-1build4 [36.8 kB] 1496s Get:150 http://ftpmaster.internal/ubuntu plucky/universe s390x libnetty-tcnative-java all 2.0.28-1build4 [24.8 kB] 1496s Get:151 http://ftpmaster.internal/ubuntu plucky/universe s390x liblog4j1.2-java all 1.2.17-11 [439 kB] 1496s Get:152 http://ftpmaster.internal/ubuntu plucky/universe s390x libzookeeper-java all 3.9.3-1 [1890 kB] 1496s Get:153 http://ftpmaster.internal/ubuntu plucky/universe s390x zookeeper all 3.9.3-1 [57.8 kB] 1496s Get:154 http://ftpmaster.internal/ubuntu plucky/universe s390x zookeeperd all 3.9.3-1 [6022 B] 1496s Get:155 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 1496s Get:156 http://ftpmaster.internal/ubuntu plucky/main s390x libcares2 s390x 1.34.4-2.1 [101 kB] 1496s Get:157 http://ftpmaster.internal/ubuntu plucky/universe s390x libev4t64 s390x 1:4.33-2.1build1 [32.0 kB] 1496s Get:158 http://ftpmaster.internal/ubuntu plucky/main s390x libio-pty-perl s390x 1:1.20-1build3 [31.6 kB] 1496s Get:159 http://ftpmaster.internal/ubuntu plucky/main s390x libipc-run-perl all 20231003.0-2 [91.5 kB] 1496s Get:160 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1496s Get:161 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 1496s Get:162 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 1496s Get:163 http://ftpmaster.internal/ubuntu plucky/main s390x libpq5 s390x 17.2-1 [146 kB] 1496s Get:164 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-stdlib s390x 3.13.1-2 [2074 kB] 1496s Get:165 http://ftpmaster.internal/ubuntu plucky/main s390x libtime-duration-perl all 1.21-2 [12.3 kB] 1496s Get:166 http://ftpmaster.internal/ubuntu plucky/main s390x libtimedate-perl all 2.3300-2 [34.0 kB] 1496s Get:167 http://ftpmaster.internal/ubuntu plucky/main s390x libxslt1.1 s390x 1.1.39-0exp1ubuntu2 [169 kB] 1496s Get:168 http://ftpmaster.internal/ubuntu plucky/universe s390x moreutils s390x 0.69-1 [57.4 kB] 1496s Get:169 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ydiff all 1.4.2-1 [19.0 kB] 1496s Get:170 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-cdiff all 1.4.2-1 [1778 B] 1496s Get:171 http://ftpmaster.internal/ubuntu plucky/main s390x python3-colorama all 0.4.6-4 [32.1 kB] 1496s Get:172 http://ftpmaster.internal/ubuntu plucky/main s390x python3-click all 8.1.7-2 [79.5 kB] 1496s Get:173 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-3 [80.2 kB] 1496s Get:174 http://ftpmaster.internal/ubuntu plucky/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1496s Get:175 http://ftpmaster.internal/ubuntu plucky/main s390x python3-prettytable all 3.12.0-1 [36.5 kB] 1496s Get:176 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psutil s390x 5.9.8-2build3 [195 kB] 1496s Get:177 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psycopg2 s390x 2.9.10-1 [147 kB] 1496s Get:178 http://ftpmaster.internal/ubuntu plucky/main s390x python3-greenlet s390x 3.1.0-1 [176 kB] 1496s Get:179 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 1496s Get:180 http://ftpmaster.internal/ubuntu plucky/main s390x python3-eventlet all 0.36.1-11ubuntu1 [275 kB] 1496s Get:181 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-zope.event all 5.0-0.1 [7512 B] 1496s Get:182 http://ftpmaster.internal/ubuntu plucky/main s390x python3-zope.interface s390x 7.2-1 [140 kB] 1496s Get:183 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-gevent s390x 24.11.1-1 [1095 kB] 1496s Get:184 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-kerberos s390x 1.1.14-3.1build10 [21.4 kB] 1496s Get:185 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 1496s Get:186 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.17.0-1 [13.2 kB] 1496s Get:187 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-kazoo all 2.9.0-2 [103 kB] 1496s Get:188 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni all 3.3.4-1 [269 kB] 1496s Get:189 http://ftpmaster.internal/ubuntu plucky/main s390x sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 1496s Get:190 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni-doc all 3.3.4-1 [508 kB] 1496s Get:191 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-16 s390x 16.4-3 [1294 kB] 1496s Get:192 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-16 s390x 16.4-3 [16.3 MB] 1497s Get:193 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql all 16+262 [11.8 kB] 1497s Get:194 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-parse all 1.20.2-1 [27.0 kB] 1497s Get:195 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-parse-type all 0.6.4-1 [23.4 kB] 1497s Get:196 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-behave all 1.2.6-6 [98.6 kB] 1497s Get:197 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13 s390x 3.13.1-2 [729 kB] 1497s Get:198 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-coverage s390x 7.4.4+dfsg1-0ubuntu3 [150 kB] 1497s Preconfiguring packages ... 1497s Fetched 135 MB in 10s (13.3 MB/s) 1497s Selecting previously unselected package fonts-lato. 1497s (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 ... 55616 files and directories currently installed.) 1497s Preparing to unpack .../000-fonts-lato_2.015-1_all.deb ... 1497s Unpacking fonts-lato (2.015-1) ... 1498s Selecting previously unselected package libjson-perl. 1498s Preparing to unpack .../001-libjson-perl_4.10000-1_all.deb ... 1498s Unpacking libjson-perl (4.10000-1) ... 1498s Selecting previously unselected package postgresql-client-common. 1498s Preparing to unpack .../002-postgresql-client-common_262_all.deb ... 1498s Unpacking postgresql-client-common (262) ... 1498s Selecting previously unselected package ssl-cert. 1498s Preparing to unpack .../003-ssl-cert_1.1.3ubuntu1_all.deb ... 1498s Unpacking ssl-cert (1.1.3ubuntu1) ... 1498s Selecting previously unselected package postgresql-common. 1498s Preparing to unpack .../004-postgresql-common_262_all.deb ... 1498s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 1498s Unpacking postgresql-common (262) ... 1498s Selecting previously unselected package libpython3.13-minimal:s390x. 1498s Preparing to unpack .../005-libpython3.13-minimal_3.13.1-2_s390x.deb ... 1498s Unpacking libpython3.13-minimal:s390x (3.13.1-2) ... 1498s Selecting previously unselected package python3.13-minimal. 1498s Preparing to unpack .../006-python3.13-minimal_3.13.1-2_s390x.deb ... 1498s Unpacking python3.13-minimal (3.13.1-2) ... 1498s Selecting previously unselected package ca-certificates-java. 1498s Preparing to unpack .../007-ca-certificates-java_20240118_all.deb ... 1498s Unpacking ca-certificates-java (20240118) ... 1498s Selecting previously unselected package java-common. 1498s Preparing to unpack .../008-java-common_0.76_all.deb ... 1498s Unpacking java-common (0.76) ... 1498s Selecting previously unselected package liblcms2-2:s390x. 1498s Preparing to unpack .../009-liblcms2-2_2.16-2_s390x.deb ... 1498s Unpacking liblcms2-2:s390x (2.16-2) ... 1498s Selecting previously unselected package libjpeg-turbo8:s390x. 1498s Preparing to unpack .../010-libjpeg-turbo8_2.1.5-3ubuntu2_s390x.deb ... 1498s Unpacking libjpeg-turbo8:s390x (2.1.5-3ubuntu2) ... 1498s Selecting previously unselected package libjpeg8:s390x. 1498s Preparing to unpack .../011-libjpeg8_8c-2ubuntu11_s390x.deb ... 1498s Unpacking libjpeg8:s390x (8c-2ubuntu11) ... 1498s Selecting previously unselected package libpcsclite1:s390x. 1498s Preparing to unpack .../012-libpcsclite1_2.3.0-3_s390x.deb ... 1498s Unpacking libpcsclite1:s390x (2.3.0-3) ... 1498s Selecting previously unselected package openjdk-21-jre-headless:s390x. 1498s Preparing to unpack .../013-openjdk-21-jre-headless_21.0.5+11-1_s390x.deb ... 1498s Unpacking openjdk-21-jre-headless:s390x (21.0.5+11-1) ... 1499s Selecting previously unselected package default-jre-headless. 1499s Preparing to unpack .../014-default-jre-headless_2%3a1.21-76_s390x.deb ... 1499s Unpacking default-jre-headless (2:1.21-76) ... 1499s Selecting previously unselected package libgdk-pixbuf2.0-common. 1499s Preparing to unpack .../015-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 1499s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1499s Selecting previously unselected package libdeflate0:s390x. 1499s Preparing to unpack .../016-libdeflate0_1.22-1_s390x.deb ... 1499s Unpacking libdeflate0:s390x (1.22-1) ... 1499s Selecting previously unselected package libjbig0:s390x. 1499s Preparing to unpack .../017-libjbig0_2.1-6.1ubuntu2_s390x.deb ... 1499s Unpacking libjbig0:s390x (2.1-6.1ubuntu2) ... 1499s Selecting previously unselected package libsharpyuv0:s390x. 1499s Preparing to unpack .../018-libsharpyuv0_1.4.0-0.1_s390x.deb ... 1499s Unpacking libsharpyuv0:s390x (1.4.0-0.1) ... 1499s Selecting previously unselected package libwebp7:s390x. 1499s Preparing to unpack .../019-libwebp7_1.4.0-0.1_s390x.deb ... 1499s Unpacking libwebp7:s390x (1.4.0-0.1) ... 1499s Selecting previously unselected package libtiff6:s390x. 1499s Preparing to unpack .../020-libtiff6_4.5.1+git230720-4ubuntu4_s390x.deb ... 1499s Unpacking libtiff6:s390x (4.5.1+git230720-4ubuntu4) ... 1499s Selecting previously unselected package libgdk-pixbuf-2.0-0:s390x. 1499s Preparing to unpack .../021-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_s390x.deb ... 1499s Unpacking libgdk-pixbuf-2.0-0:s390x (2.42.12+dfsg-1) ... 1499s Selecting previously unselected package gtk-update-icon-cache. 1499s Preparing to unpack .../022-gtk-update-icon-cache_4.17.1+ds-2_s390x.deb ... 1499s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 1499s No diversion 'diversion of /usr/share/man/man8/update-icon-caches.8.gz to /usr/share/man/man8/update-icon-caches.gtk2.8.gz by libgtk-3-bin', none removed. 1499s Unpacking gtk-update-icon-cache (4.17.1+ds-2) ... 1499s Selecting previously unselected package hicolor-icon-theme. 1499s Preparing to unpack .../023-hicolor-icon-theme_0.18-1_all.deb ... 1499s Unpacking hicolor-icon-theme (0.18-1) ... 1499s Selecting previously unselected package humanity-icon-theme. 1499s Preparing to unpack .../024-humanity-icon-theme_0.6.16_all.deb ... 1499s Unpacking humanity-icon-theme (0.6.16) ... 1499s Selecting previously unselected package ubuntu-mono. 1499s Preparing to unpack .../025-ubuntu-mono_24.04-0ubuntu1_all.deb ... 1499s Unpacking ubuntu-mono (24.04-0ubuntu1) ... 1499s Selecting previously unselected package adwaita-icon-theme. 1499s Preparing to unpack .../026-adwaita-icon-theme_47.0-2_all.deb ... 1499s Unpacking adwaita-icon-theme (47.0-2) ... 1499s Selecting previously unselected package at-spi2-common. 1499s Preparing to unpack .../027-at-spi2-common_2.54.0-1_all.deb ... 1499s Unpacking at-spi2-common (2.54.0-1) ... 1499s Selecting previously unselected package libatk1.0-0t64:s390x. 1499s Preparing to unpack .../028-libatk1.0-0t64_2.54.0-1_s390x.deb ... 1499s Unpacking libatk1.0-0t64:s390x (2.54.0-1) ... 1499s Selecting previously unselected package libxi6:s390x. 1499s Preparing to unpack .../029-libxi6_2%3a1.8.2-1_s390x.deb ... 1499s Unpacking libxi6:s390x (2:1.8.2-1) ... 1499s Selecting previously unselected package libatspi2.0-0t64:s390x. 1499s Preparing to unpack .../030-libatspi2.0-0t64_2.54.0-1_s390x.deb ... 1499s Unpacking libatspi2.0-0t64:s390x (2.54.0-1) ... 1499s Selecting previously unselected package libatk-bridge2.0-0t64:s390x. 1499s Preparing to unpack .../031-libatk-bridge2.0-0t64_2.54.0-1_s390x.deb ... 1499s Unpacking libatk-bridge2.0-0t64:s390x (2.54.0-1) ... 1499s Selecting previously unselected package libfreetype6:s390x. 1499s Preparing to unpack .../032-libfreetype6_2.13.3+dfsg-1_s390x.deb ... 1499s Unpacking libfreetype6:s390x (2.13.3+dfsg-1) ... 1499s Selecting previously unselected package fonts-dejavu-mono. 1499s Preparing to unpack .../033-fonts-dejavu-mono_2.37-8_all.deb ... 1499s Unpacking fonts-dejavu-mono (2.37-8) ... 1499s Selecting previously unselected package fonts-dejavu-core. 1499s Preparing to unpack .../034-fonts-dejavu-core_2.37-8_all.deb ... 1499s Unpacking fonts-dejavu-core (2.37-8) ... 1499s Selecting previously unselected package fontconfig-config. 1499s Preparing to unpack .../035-fontconfig-config_2.15.0-1.1ubuntu2_s390x.deb ... 1500s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 1500s Selecting previously unselected package libfontconfig1:s390x. 1500s Preparing to unpack .../036-libfontconfig1_2.15.0-1.1ubuntu2_s390x.deb ... 1500s Unpacking libfontconfig1:s390x (2.15.0-1.1ubuntu2) ... 1500s Selecting previously unselected package libpixman-1-0:s390x. 1500s Preparing to unpack .../037-libpixman-1-0_0.44.0-3_s390x.deb ... 1500s Unpacking libpixman-1-0:s390x (0.44.0-3) ... 1500s Selecting previously unselected package libxcb-render0:s390x. 1500s Preparing to unpack .../038-libxcb-render0_1.17.0-2_s390x.deb ... 1500s Unpacking libxcb-render0:s390x (1.17.0-2) ... 1500s Selecting previously unselected package libxcb-shm0:s390x. 1500s Preparing to unpack .../039-libxcb-shm0_1.17.0-2_s390x.deb ... 1500s Unpacking libxcb-shm0:s390x (1.17.0-2) ... 1500s Selecting previously unselected package libxrender1:s390x. 1500s Preparing to unpack .../040-libxrender1_1%3a0.9.10-1.1build1_s390x.deb ... 1500s Unpacking libxrender1:s390x (1:0.9.10-1.1build1) ... 1500s Selecting previously unselected package libcairo2:s390x. 1500s Preparing to unpack .../041-libcairo2_1.18.2-2_s390x.deb ... 1500s Unpacking libcairo2:s390x (1.18.2-2) ... 1500s Selecting previously unselected package libcairo-gobject2:s390x. 1500s Preparing to unpack .../042-libcairo-gobject2_1.18.2-2_s390x.deb ... 1500s Unpacking libcairo-gobject2:s390x (1.18.2-2) ... 1500s Selecting previously unselected package libcolord2:s390x. 1500s Preparing to unpack .../043-libcolord2_1.4.7-1build2_s390x.deb ... 1500s Unpacking libcolord2:s390x (1.4.7-1build2) ... 1500s Selecting previously unselected package libavahi-common-data:s390x. 1500s Preparing to unpack .../044-libavahi-common-data_0.8-14ubuntu1_s390x.deb ... 1500s Unpacking libavahi-common-data:s390x (0.8-14ubuntu1) ... 1500s Selecting previously unselected package libavahi-common3:s390x. 1500s Preparing to unpack .../045-libavahi-common3_0.8-14ubuntu1_s390x.deb ... 1500s Unpacking libavahi-common3:s390x (0.8-14ubuntu1) ... 1500s Selecting previously unselected package libavahi-client3:s390x. 1500s Preparing to unpack .../046-libavahi-client3_0.8-14ubuntu1_s390x.deb ... 1500s Unpacking libavahi-client3:s390x (0.8-14ubuntu1) ... 1500s Selecting previously unselected package libcups2t64:s390x. 1500s Preparing to unpack .../047-libcups2t64_2.4.11-0ubuntu2_s390x.deb ... 1500s Unpacking libcups2t64:s390x (2.4.11-0ubuntu2) ... 1500s Selecting previously unselected package libepoxy0:s390x. 1500s Preparing to unpack .../048-libepoxy0_1.5.10-2_s390x.deb ... 1500s Unpacking libepoxy0:s390x (1.5.10-2) ... 1500s Selecting previously unselected package libgraphite2-3:s390x. 1500s Preparing to unpack .../049-libgraphite2-3_1.3.14-2ubuntu1_s390x.deb ... 1500s Unpacking libgraphite2-3:s390x (1.3.14-2ubuntu1) ... 1500s Selecting previously unselected package libharfbuzz0b:s390x. 1500s Preparing to unpack .../050-libharfbuzz0b_10.1.0-1_s390x.deb ... 1500s Unpacking libharfbuzz0b:s390x (10.1.0-1) ... 1500s Selecting previously unselected package fontconfig. 1500s Preparing to unpack .../051-fontconfig_2.15.0-1.1ubuntu2_s390x.deb ... 1500s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 1500s Selecting previously unselected package libthai-data. 1500s Preparing to unpack .../052-libthai-data_0.1.29-2build1_all.deb ... 1500s Unpacking libthai-data (0.1.29-2build1) ... 1500s Selecting previously unselected package libdatrie1:s390x. 1500s Preparing to unpack .../053-libdatrie1_0.2.13-3build1_s390x.deb ... 1500s Unpacking libdatrie1:s390x (0.2.13-3build1) ... 1500s Selecting previously unselected package libthai0:s390x. 1500s Preparing to unpack .../054-libthai0_0.1.29-2build1_s390x.deb ... 1500s Unpacking libthai0:s390x (0.1.29-2build1) ... 1500s Selecting previously unselected package libpango-1.0-0:s390x. 1500s Preparing to unpack .../055-libpango-1.0-0_1.55.0+ds-3_s390x.deb ... 1500s Unpacking libpango-1.0-0:s390x (1.55.0+ds-3) ... 1500s Selecting previously unselected package libpangoft2-1.0-0:s390x. 1500s Preparing to unpack .../056-libpangoft2-1.0-0_1.55.0+ds-3_s390x.deb ... 1500s Unpacking libpangoft2-1.0-0:s390x (1.55.0+ds-3) ... 1500s Selecting previously unselected package libpangocairo-1.0-0:s390x. 1500s Preparing to unpack .../057-libpangocairo-1.0-0_1.55.0+ds-3_s390x.deb ... 1500s Unpacking libpangocairo-1.0-0:s390x (1.55.0+ds-3) ... 1500s Selecting previously unselected package libwayland-client0:s390x. 1500s Preparing to unpack .../058-libwayland-client0_1.23.0-1_s390x.deb ... 1500s Unpacking libwayland-client0:s390x (1.23.0-1) ... 1500s Selecting previously unselected package libwayland-cursor0:s390x. 1500s Preparing to unpack .../059-libwayland-cursor0_1.23.0-1_s390x.deb ... 1500s Unpacking libwayland-cursor0:s390x (1.23.0-1) ... 1500s Selecting previously unselected package libwayland-egl1:s390x. 1500s Preparing to unpack .../060-libwayland-egl1_1.23.0-1_s390x.deb ... 1500s Unpacking libwayland-egl1:s390x (1.23.0-1) ... 1500s Selecting previously unselected package libxcomposite1:s390x. 1500s Preparing to unpack .../061-libxcomposite1_1%3a0.4.6-1_s390x.deb ... 1500s Unpacking libxcomposite1:s390x (1:0.4.6-1) ... 1500s Selecting previously unselected package libxfixes3:s390x. 1500s Preparing to unpack .../062-libxfixes3_1%3a6.0.0-2build1_s390x.deb ... 1500s Unpacking libxfixes3:s390x (1:6.0.0-2build1) ... 1500s Selecting previously unselected package libxcursor1:s390x. 1500s Preparing to unpack .../063-libxcursor1_1%3a1.2.2-1_s390x.deb ... 1500s Unpacking libxcursor1:s390x (1:1.2.2-1) ... 1500s Selecting previously unselected package libxdamage1:s390x. 1500s Preparing to unpack .../064-libxdamage1_1%3a1.1.6-1build1_s390x.deb ... 1500s Unpacking libxdamage1:s390x (1:1.1.6-1build1) ... 1500s Selecting previously unselected package libxinerama1:s390x. 1500s Preparing to unpack .../065-libxinerama1_2%3a1.1.4-3build1_s390x.deb ... 1500s Unpacking libxinerama1:s390x (2:1.1.4-3build1) ... 1500s Selecting previously unselected package libxrandr2:s390x. 1500s Preparing to unpack .../066-libxrandr2_2%3a1.5.4-1_s390x.deb ... 1500s Unpacking libxrandr2:s390x (2:1.5.4-1) ... 1500s Selecting previously unselected package libdconf1:s390x. 1500s Preparing to unpack .../067-libdconf1_0.40.0-4build2_s390x.deb ... 1500s Unpacking libdconf1:s390x (0.40.0-4build2) ... 1500s Selecting previously unselected package dconf-service. 1500s Preparing to unpack .../068-dconf-service_0.40.0-4build2_s390x.deb ... 1500s Unpacking dconf-service (0.40.0-4build2) ... 1500s Selecting previously unselected package dconf-gsettings-backend:s390x. 1500s Preparing to unpack .../069-dconf-gsettings-backend_0.40.0-4build2_s390x.deb ... 1500s Unpacking dconf-gsettings-backend:s390x (0.40.0-4build2) ... 1500s Selecting previously unselected package libgtk-3-common. 1500s Preparing to unpack .../070-libgtk-3-common_3.24.43-4ubuntu1_all.deb ... 1500s Unpacking libgtk-3-common (3.24.43-4ubuntu1) ... 1500s Selecting previously unselected package libgtk-3-0t64:s390x. 1500s Preparing to unpack .../071-libgtk-3-0t64_3.24.43-4ubuntu1_s390x.deb ... 1500s Unpacking libgtk-3-0t64:s390x (3.24.43-4ubuntu1) ... 1500s Selecting previously unselected package libglvnd0:s390x. 1500s Preparing to unpack .../072-libglvnd0_1.7.0-1build1_s390x.deb ... 1500s Unpacking libglvnd0:s390x (1.7.0-1build1) ... 1500s Selecting previously unselected package libglapi-mesa:s390x. 1500s Preparing to unpack .../073-libglapi-mesa_24.2.8-1ubuntu1_s390x.deb ... 1500s Unpacking libglapi-mesa:s390x (24.2.8-1ubuntu1) ... 1500s Selecting previously unselected package libx11-xcb1:s390x. 1500s Preparing to unpack .../074-libx11-xcb1_2%3a1.8.10-2_s390x.deb ... 1500s Unpacking libx11-xcb1:s390x (2:1.8.10-2) ... 1500s Selecting previously unselected package libxcb-dri2-0:s390x. 1500s Preparing to unpack .../075-libxcb-dri2-0_1.17.0-2_s390x.deb ... 1500s Unpacking libxcb-dri2-0:s390x (1.17.0-2) ... 1500s Selecting previously unselected package libxcb-dri3-0:s390x. 1500s Preparing to unpack .../076-libxcb-dri3-0_1.17.0-2_s390x.deb ... 1500s Unpacking libxcb-dri3-0:s390x (1.17.0-2) ... 1500s Selecting previously unselected package libxcb-glx0:s390x. 1500s Preparing to unpack .../077-libxcb-glx0_1.17.0-2_s390x.deb ... 1500s Unpacking libxcb-glx0:s390x (1.17.0-2) ... 1500s Selecting previously unselected package libxcb-present0:s390x. 1500s Preparing to unpack .../078-libxcb-present0_1.17.0-2_s390x.deb ... 1500s Unpacking libxcb-present0:s390x (1.17.0-2) ... 1500s Selecting previously unselected package libxcb-randr0:s390x. 1500s Preparing to unpack .../079-libxcb-randr0_1.17.0-2_s390x.deb ... 1500s Unpacking libxcb-randr0:s390x (1.17.0-2) ... 1500s Selecting previously unselected package libxcb-sync1:s390x. 1500s Preparing to unpack .../080-libxcb-sync1_1.17.0-2_s390x.deb ... 1500s Unpacking libxcb-sync1:s390x (1.17.0-2) ... 1500s Selecting previously unselected package libxcb-xfixes0:s390x. 1500s Preparing to unpack .../081-libxcb-xfixes0_1.17.0-2_s390x.deb ... 1500s Unpacking libxcb-xfixes0:s390x (1.17.0-2) ... 1500s Selecting previously unselected package libxshmfence1:s390x. 1500s Preparing to unpack .../082-libxshmfence1_1.3-1build5_s390x.deb ... 1500s Unpacking libxshmfence1:s390x (1.3-1build5) ... 1500s Selecting previously unselected package libxxf86vm1:s390x. 1500s Preparing to unpack .../083-libxxf86vm1_1%3a1.1.4-1build4_s390x.deb ... 1500s Unpacking libxxf86vm1:s390x (1:1.1.4-1build4) ... 1500s Selecting previously unselected package libdrm-radeon1:s390x. 1500s Preparing to unpack .../084-libdrm-radeon1_2.4.123-1_s390x.deb ... 1500s Unpacking libdrm-radeon1:s390x (2.4.123-1) ... 1500s Selecting previously unselected package mesa-libgallium:s390x. 1500s Preparing to unpack .../085-mesa-libgallium_24.2.8-1ubuntu1_s390x.deb ... 1500s Unpacking mesa-libgallium:s390x (24.2.8-1ubuntu1) ... 1500s Selecting previously unselected package libvulkan1:s390x. 1500s Preparing to unpack .../086-libvulkan1_1.3.296.0-1_s390x.deb ... 1500s Unpacking libvulkan1:s390x (1.3.296.0-1) ... 1500s Selecting previously unselected package libwayland-server0:s390x. 1500s Preparing to unpack .../087-libwayland-server0_1.23.0-1_s390x.deb ... 1500s Unpacking libwayland-server0:s390x (1.23.0-1) ... 1500s Selecting previously unselected package libgbm1:s390x. 1500s Preparing to unpack .../088-libgbm1_24.2.8-1ubuntu1_s390x.deb ... 1500s Unpacking libgbm1:s390x (24.2.8-1ubuntu1) ... 1500s Selecting previously unselected package libgl1-mesa-dri:s390x. 1500s Preparing to unpack .../089-libgl1-mesa-dri_24.2.8-1ubuntu1_s390x.deb ... 1500s Unpacking libgl1-mesa-dri:s390x (24.2.8-1ubuntu1) ... 1500s Selecting previously unselected package libglx-mesa0:s390x. 1500s Preparing to unpack .../090-libglx-mesa0_24.2.8-1ubuntu1_s390x.deb ... 1500s Unpacking libglx-mesa0:s390x (24.2.8-1ubuntu1) ... 1500s Selecting previously unselected package libglx0:s390x. 1500s Preparing to unpack .../091-libglx0_1.7.0-1build1_s390x.deb ... 1500s Unpacking libglx0:s390x (1.7.0-1build1) ... 1500s Selecting previously unselected package libgl1:s390x. 1500s Preparing to unpack .../092-libgl1_1.7.0-1build1_s390x.deb ... 1500s Unpacking libgl1:s390x (1.7.0-1build1) ... 1500s Selecting previously unselected package libasound2-data. 1500s Preparing to unpack .../093-libasound2-data_1.2.12-1_all.deb ... 1500s Unpacking libasound2-data (1.2.12-1) ... 1500s Selecting previously unselected package libasound2t64:s390x. 1500s Preparing to unpack .../094-libasound2t64_1.2.12-1_s390x.deb ... 1500s Unpacking libasound2t64:s390x (1.2.12-1) ... 1500s Selecting previously unselected package libgif7:s390x. 1500s Preparing to unpack .../095-libgif7_5.2.2-1ubuntu1_s390x.deb ... 1500s Unpacking libgif7:s390x (5.2.2-1ubuntu1) ... 1500s Selecting previously unselected package x11-common. 1500s Preparing to unpack .../096-x11-common_1%3a7.7+23ubuntu3_all.deb ... 1500s Unpacking x11-common (1:7.7+23ubuntu3) ... 1500s Selecting previously unselected package libxtst6:s390x. 1500s Preparing to unpack .../097-libxtst6_2%3a1.2.3-1.1build1_s390x.deb ... 1500s Unpacking libxtst6:s390x (2:1.2.3-1.1build1) ... 1500s Selecting previously unselected package openjdk-21-jre:s390x. 1500s Preparing to unpack .../098-openjdk-21-jre_21.0.5+11-1_s390x.deb ... 1500s Unpacking openjdk-21-jre:s390x (21.0.5+11-1) ... 1500s Selecting previously unselected package default-jre. 1500s Preparing to unpack .../099-default-jre_2%3a1.21-76_s390x.deb ... 1500s Unpacking default-jre (2:1.21-76) ... 1500s Selecting previously unselected package libhamcrest-java. 1500s Preparing to unpack .../100-libhamcrest-java_2.2-2_all.deb ... 1500s Unpacking libhamcrest-java (2.2-2) ... 1500s Selecting previously unselected package junit4. 1500s Preparing to unpack .../101-junit4_4.13.2-5_all.deb ... 1500s Unpacking junit4 (4.13.2-5) ... 1500s Selecting previously unselected package libcommons-cli-java. 1500s Preparing to unpack .../102-libcommons-cli-java_1.6.0-1_all.deb ... 1500s Unpacking libcommons-cli-java (1.6.0-1) ... 1500s Selecting previously unselected package libapache-pom-java. 1500s Preparing to unpack .../103-libapache-pom-java_33-2_all.deb ... 1500s Unpacking libapache-pom-java (33-2) ... 1500s Selecting previously unselected package libcommons-parent-java. 1500s Preparing to unpack .../104-libcommons-parent-java_56-1_all.deb ... 1500s Unpacking libcommons-parent-java (56-1) ... 1500s Selecting previously unselected package libcommons-io-java. 1500s Preparing to unpack .../105-libcommons-io-java_2.17.0-1_all.deb ... 1500s Unpacking libcommons-io-java (2.17.0-1) ... 1500s Selecting previously unselected package libdropwizard-metrics-java. 1500s Preparing to unpack .../106-libdropwizard-metrics-java_3.2.6-1_all.deb ... 1500s Unpacking libdropwizard-metrics-java (3.2.6-1) ... 1501s Selecting previously unselected package libfindbugs-annotations-java. 1501s Preparing to unpack .../107-libfindbugs-annotations-java_3.1.0~preview2-4_all.deb ... 1501s Unpacking libfindbugs-annotations-java (3.1.0~preview2-4) ... 1501s Selecting previously unselected package libatinject-jsr330-api-java. 1501s Preparing to unpack .../108-libatinject-jsr330-api-java_1.0+ds1-5_all.deb ... 1501s Unpacking libatinject-jsr330-api-java (1.0+ds1-5) ... 1501s Selecting previously unselected package liberror-prone-java. 1501s Preparing to unpack .../109-liberror-prone-java_2.18.0-1_all.deb ... 1501s Unpacking liberror-prone-java (2.18.0-1) ... 1501s Selecting previously unselected package libjsr305-java. 1501s Preparing to unpack .../110-libjsr305-java_0.1~+svn49-11_all.deb ... 1501s Unpacking libjsr305-java (0.1~+svn49-11) ... 1501s Selecting previously unselected package libguava-java. 1501s Preparing to unpack .../111-libguava-java_32.0.1-1_all.deb ... 1501s Unpacking libguava-java (32.0.1-1) ... 1501s Selecting previously unselected package libjackson2-annotations-java. 1501s Preparing to unpack .../112-libjackson2-annotations-java_2.14.0-1_all.deb ... 1501s Unpacking libjackson2-annotations-java (2.14.0-1) ... 1501s Selecting previously unselected package libjackson2-core-java. 1501s Preparing to unpack .../113-libjackson2-core-java_2.14.1-1_all.deb ... 1501s Unpacking libjackson2-core-java (2.14.1-1) ... 1501s Selecting previously unselected package libjackson2-databind-java. 1501s Preparing to unpack .../114-libjackson2-databind-java_2.14.0-1_all.deb ... 1501s Unpacking libjackson2-databind-java (2.14.0-1) ... 1501s Selecting previously unselected package libasm-java. 1501s Preparing to unpack .../115-libasm-java_9.7.1-1_all.deb ... 1501s Unpacking libasm-java (9.7.1-1) ... 1501s Selecting previously unselected package libel-api-java. 1501s Preparing to unpack .../116-libel-api-java_3.0.0-3_all.deb ... 1501s Unpacking libel-api-java (3.0.0-3) ... 1501s Selecting previously unselected package libjsp-api-java. 1501s Preparing to unpack .../117-libjsp-api-java_2.3.4-3_all.deb ... 1501s Unpacking libjsp-api-java (2.3.4-3) ... 1501s Selecting previously unselected package libservlet-api-java. 1501s Preparing to unpack .../118-libservlet-api-java_4.0.1-2_all.deb ... 1501s Unpacking libservlet-api-java (4.0.1-2) ... 1501s Selecting previously unselected package libwebsocket-api-java. 1501s Preparing to unpack .../119-libwebsocket-api-java_1.1-2_all.deb ... 1501s Unpacking libwebsocket-api-java (1.1-2) ... 1501s Selecting previously unselected package libjetty9-java. 1501s Preparing to unpack .../120-libjetty9-java_9.4.56-1_all.deb ... 1501s Unpacking libjetty9-java (9.4.56-1) ... 1501s Selecting previously unselected package libjnr-constants-java. 1501s Preparing to unpack .../121-libjnr-constants-java_0.10.4-2_all.deb ... 1501s Unpacking libjnr-constants-java (0.10.4-2) ... 1501s Selecting previously unselected package libjffi-jni:s390x. 1501s Preparing to unpack .../122-libjffi-jni_1.3.13+ds-1_s390x.deb ... 1501s Unpacking libjffi-jni:s390x (1.3.13+ds-1) ... 1501s Selecting previously unselected package libjffi-java. 1501s Preparing to unpack .../123-libjffi-java_1.3.13+ds-1_all.deb ... 1501s Unpacking libjffi-java (1.3.13+ds-1) ... 1501s Selecting previously unselected package libjnr-x86asm-java. 1501s Preparing to unpack .../124-libjnr-x86asm-java_1.0.2-5.1_all.deb ... 1501s Unpacking libjnr-x86asm-java (1.0.2-5.1) ... 1501s Selecting previously unselected package libjnr-ffi-java. 1501s Preparing to unpack .../125-libjnr-ffi-java_2.2.15-2_all.deb ... 1501s Unpacking libjnr-ffi-java (2.2.15-2) ... 1501s Selecting previously unselected package libjnr-enxio-java. 1501s Preparing to unpack .../126-libjnr-enxio-java_0.32.16-1_all.deb ... 1501s Unpacking libjnr-enxio-java (0.32.16-1) ... 1501s Selecting previously unselected package libjnr-posix-java. 1501s Preparing to unpack .../127-libjnr-posix-java_3.1.18-1_all.deb ... 1501s Unpacking libjnr-posix-java (3.1.18-1) ... 1501s Selecting previously unselected package libjnr-unixsocket-java. 1501s Preparing to unpack .../128-libjnr-unixsocket-java_0.38.21-2_all.deb ... 1501s Unpacking libjnr-unixsocket-java (0.38.21-2) ... 1501s Selecting previously unselected package libactivation-java. 1501s Preparing to unpack .../129-libactivation-java_1.2.0-2_all.deb ... 1501s Unpacking libactivation-java (1.2.0-2) ... 1501s Selecting previously unselected package libmail-java. 1501s Preparing to unpack .../130-libmail-java_1.6.5-3_all.deb ... 1501s Unpacking libmail-java (1.6.5-3) ... 1501s Selecting previously unselected package libcommons-logging-java. 1501s Preparing to unpack .../131-libcommons-logging-java_1.3.0-1ubuntu1_all.deb ... 1501s Unpacking libcommons-logging-java (1.3.0-1ubuntu1) ... 1501s Selecting previously unselected package libjaxb-api-java. 1501s Preparing to unpack .../132-libjaxb-api-java_2.3.1-1_all.deb ... 1501s Unpacking libjaxb-api-java (2.3.1-1) ... 1501s Selecting previously unselected package libspring-core-java. 1501s Preparing to unpack .../133-libspring-core-java_4.3.30-2ubuntu1_all.deb ... 1501s Unpacking libspring-core-java (4.3.30-2ubuntu1) ... 1501s Selecting previously unselected package libspring-beans-java. 1501s Preparing to unpack .../134-libspring-beans-java_4.3.30-2ubuntu1_all.deb ... 1501s Unpacking libspring-beans-java (4.3.30-2ubuntu1) ... 1501s Selecting previously unselected package libtaglibs-standard-spec-java. 1501s Preparing to unpack .../135-libtaglibs-standard-spec-java_1.2.5-3_all.deb ... 1501s Unpacking libtaglibs-standard-spec-java (1.2.5-3) ... 1501s Selecting previously unselected package libtaglibs-standard-impl-java. 1501s Preparing to unpack .../136-libtaglibs-standard-impl-java_1.2.5-3_all.deb ... 1501s Unpacking libtaglibs-standard-impl-java (1.2.5-3) ... 1501s Selecting previously unselected package libeclipse-jdt-core-compiler-batch-java. 1501s Preparing to unpack .../137-libeclipse-jdt-core-compiler-batch-java_3.35.0+eclipse4.29-2_all.deb ... 1501s Unpacking libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1501s Selecting previously unselected package libeclipse-jdt-core-java. 1501s Preparing to unpack .../138-libeclipse-jdt-core-java_3.35.0+eclipse4.29-2_all.deb ... 1501s Unpacking libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1501s Selecting previously unselected package libtomcat9-java. 1501s Preparing to unpack .../139-libtomcat9-java_9.0.70-2ubuntu1.1_all.deb ... 1501s Unpacking libtomcat9-java (9.0.70-2ubuntu1.1) ... 1501s Selecting previously unselected package libjetty9-extra-java. 1501s Preparing to unpack .../140-libjetty9-extra-java_9.4.56-1_all.deb ... 1501s Unpacking libjetty9-extra-java (9.4.56-1) ... 1501s Selecting previously unselected package libjctools-java. 1501s Preparing to unpack .../141-libjctools-java_2.0.2-1_all.deb ... 1501s Unpacking libjctools-java (2.0.2-1) ... 1501s Selecting previously unselected package libnetty-java. 1501s Preparing to unpack .../142-libnetty-java_1%3a4.1.48-10_all.deb ... 1501s Unpacking libnetty-java (1:4.1.48-10) ... 1501s Selecting previously unselected package libslf4j-java. 1501s Preparing to unpack .../143-libslf4j-java_1.7.32-1_all.deb ... 1501s Unpacking libslf4j-java (1.7.32-1) ... 1501s Selecting previously unselected package libsnappy1v5:s390x. 1501s Preparing to unpack .../144-libsnappy1v5_1.2.1-1_s390x.deb ... 1501s Unpacking libsnappy1v5:s390x (1.2.1-1) ... 1501s Selecting previously unselected package libsnappy-jni. 1501s Preparing to unpack .../145-libsnappy-jni_1.1.10.7-1_s390x.deb ... 1501s Unpacking libsnappy-jni (1.1.10.7-1) ... 1501s Selecting previously unselected package libsnappy-java. 1501s Preparing to unpack .../146-libsnappy-java_1.1.10.7-1_all.deb ... 1501s Unpacking libsnappy-java (1.1.10.7-1) ... 1501s Selecting previously unselected package libapr1t64:s390x. 1501s Preparing to unpack .../147-libapr1t64_1.7.5-1_s390x.deb ... 1501s Unpacking libapr1t64:s390x (1.7.5-1) ... 1501s Selecting previously unselected package libnetty-tcnative-jni. 1501s Preparing to unpack .../148-libnetty-tcnative-jni_2.0.28-1build4_s390x.deb ... 1501s Unpacking libnetty-tcnative-jni (2.0.28-1build4) ... 1501s Selecting previously unselected package libnetty-tcnative-java. 1501s Preparing to unpack .../149-libnetty-tcnative-java_2.0.28-1build4_all.deb ... 1501s Unpacking libnetty-tcnative-java (2.0.28-1build4) ... 1501s Selecting previously unselected package liblog4j1.2-java. 1501s Preparing to unpack .../150-liblog4j1.2-java_1.2.17-11_all.deb ... 1501s Unpacking liblog4j1.2-java (1.2.17-11) ... 1501s Selecting previously unselected package libzookeeper-java. 1501s Preparing to unpack .../151-libzookeeper-java_3.9.3-1_all.deb ... 1501s Unpacking libzookeeper-java (3.9.3-1) ... 1501s Selecting previously unselected package zookeeper. 1501s Preparing to unpack .../152-zookeeper_3.9.3-1_all.deb ... 1501s Unpacking zookeeper (3.9.3-1) ... 1501s Selecting previously unselected package zookeeperd. 1501s Preparing to unpack .../153-zookeeperd_3.9.3-1_all.deb ... 1501s Unpacking zookeeperd (3.9.3-1) ... 1501s Selecting previously unselected package fonts-font-awesome. 1501s Preparing to unpack .../154-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 1501s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1501s Selecting previously unselected package libcares2:s390x. 1501s Preparing to unpack .../155-libcares2_1.34.4-2.1_s390x.deb ... 1501s Unpacking libcares2:s390x (1.34.4-2.1) ... 1501s Selecting previously unselected package libev4t64:s390x. 1501s Preparing to unpack .../156-libev4t64_1%3a4.33-2.1build1_s390x.deb ... 1501s Unpacking libev4t64:s390x (1:4.33-2.1build1) ... 1501s Selecting previously unselected package libio-pty-perl. 1501s Preparing to unpack .../157-libio-pty-perl_1%3a1.20-1build3_s390x.deb ... 1501s Unpacking libio-pty-perl (1:1.20-1build3) ... 1501s Selecting previously unselected package libipc-run-perl. 1501s Preparing to unpack .../158-libipc-run-perl_20231003.0-2_all.deb ... 1501s Unpacking libipc-run-perl (20231003.0-2) ... 1501s Selecting previously unselected package libjs-jquery. 1501s Preparing to unpack .../159-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1501s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1501s Selecting previously unselected package libjs-underscore. 1501s Preparing to unpack .../160-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 1501s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1501s Selecting previously unselected package libjs-sphinxdoc. 1501s Preparing to unpack .../161-libjs-sphinxdoc_8.1.3-4_all.deb ... 1501s Unpacking libjs-sphinxdoc (8.1.3-4) ... 1501s Selecting previously unselected package libpq5:s390x. 1501s Preparing to unpack .../162-libpq5_17.2-1_s390x.deb ... 1501s Unpacking libpq5:s390x (17.2-1) ... 1501s Selecting previously unselected package libpython3.13-stdlib:s390x. 1501s Preparing to unpack .../163-libpython3.13-stdlib_3.13.1-2_s390x.deb ... 1501s Unpacking libpython3.13-stdlib:s390x (3.13.1-2) ... 1501s Selecting previously unselected package libtime-duration-perl. 1501s Preparing to unpack .../164-libtime-duration-perl_1.21-2_all.deb ... 1501s Unpacking libtime-duration-perl (1.21-2) ... 1501s Selecting previously unselected package libtimedate-perl. 1501s Preparing to unpack .../165-libtimedate-perl_2.3300-2_all.deb ... 1501s Unpacking libtimedate-perl (2.3300-2) ... 1501s Selecting previously unselected package libxslt1.1:s390x. 1502s Preparing to unpack .../166-libxslt1.1_1.1.39-0exp1ubuntu2_s390x.deb ... 1502s Unpacking libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ... 1502s Selecting previously unselected package moreutils. 1502s Preparing to unpack .../167-moreutils_0.69-1_s390x.deb ... 1502s Unpacking moreutils (0.69-1) ... 1502s Selecting previously unselected package python3-ydiff. 1502s Preparing to unpack .../168-python3-ydiff_1.4.2-1_all.deb ... 1502s Unpacking python3-ydiff (1.4.2-1) ... 1502s Selecting previously unselected package python3-cdiff. 1502s Preparing to unpack .../169-python3-cdiff_1.4.2-1_all.deb ... 1502s Unpacking python3-cdiff (1.4.2-1) ... 1502s Selecting previously unselected package python3-colorama. 1502s Preparing to unpack .../170-python3-colorama_0.4.6-4_all.deb ... 1502s Unpacking python3-colorama (0.4.6-4) ... 1502s Selecting previously unselected package python3-click. 1502s Preparing to unpack .../171-python3-click_8.1.7-2_all.deb ... 1502s Unpacking python3-click (8.1.7-2) ... 1502s Selecting previously unselected package python3-dateutil. 1502s Preparing to unpack .../172-python3-dateutil_2.9.0-3_all.deb ... 1502s Unpacking python3-dateutil (2.9.0-3) ... 1502s Selecting previously unselected package python3-wcwidth. 1502s Preparing to unpack .../173-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1502s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1502s Selecting previously unselected package python3-prettytable. 1502s Preparing to unpack .../174-python3-prettytable_3.12.0-1_all.deb ... 1502s Unpacking python3-prettytable (3.12.0-1) ... 1502s Selecting previously unselected package python3-psutil. 1502s Preparing to unpack .../175-python3-psutil_5.9.8-2build3_s390x.deb ... 1502s Unpacking python3-psutil (5.9.8-2build3) ... 1502s Selecting previously unselected package python3-psycopg2. 1502s Preparing to unpack .../176-python3-psycopg2_2.9.10-1_s390x.deb ... 1502s Unpacking python3-psycopg2 (2.9.10-1) ... 1502s Selecting previously unselected package python3-greenlet. 1502s Preparing to unpack .../177-python3-greenlet_3.1.0-1_s390x.deb ... 1502s Unpacking python3-greenlet (3.1.0-1) ... 1502s Selecting previously unselected package python3-dnspython. 1502s Preparing to unpack .../178-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 1502s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 1502s Selecting previously unselected package python3-eventlet. 1502s Preparing to unpack .../179-python3-eventlet_0.36.1-11ubuntu1_all.deb ... 1502s Unpacking python3-eventlet (0.36.1-11ubuntu1) ... 1502s Selecting previously unselected package python3-zope.event. 1502s Preparing to unpack .../180-python3-zope.event_5.0-0.1_all.deb ... 1502s Unpacking python3-zope.event (5.0-0.1) ... 1502s Selecting previously unselected package python3-zope.interface. 1502s Preparing to unpack .../181-python3-zope.interface_7.2-1_s390x.deb ... 1502s Unpacking python3-zope.interface (7.2-1) ... 1502s Selecting previously unselected package python3-gevent. 1502s Preparing to unpack .../182-python3-gevent_24.11.1-1_s390x.deb ... 1502s Unpacking python3-gevent (24.11.1-1) ... 1502s Selecting previously unselected package python3-kerberos. 1502s Preparing to unpack .../183-python3-kerberos_1.1.14-3.1build10_s390x.deb ... 1502s Unpacking python3-kerberos (1.1.14-3.1build10) ... 1502s Selecting previously unselected package python3-pure-sasl. 1502s Preparing to unpack .../184-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 1502s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 1502s Selecting previously unselected package python3-six. 1502s Preparing to unpack .../185-python3-six_1.17.0-1_all.deb ... 1502s Unpacking python3-six (1.17.0-1) ... 1502s Selecting previously unselected package python3-kazoo. 1502s Preparing to unpack .../186-python3-kazoo_2.9.0-2_all.deb ... 1502s Unpacking python3-kazoo (2.9.0-2) ... 1502s Selecting previously unselected package patroni. 1502s Preparing to unpack .../187-patroni_3.3.4-1_all.deb ... 1502s Unpacking patroni (3.3.4-1) ... 1502s Selecting previously unselected package sphinx-rtd-theme-common. 1502s Preparing to unpack .../188-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 1502s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 1502s Selecting previously unselected package patroni-doc. 1502s Preparing to unpack .../189-patroni-doc_3.3.4-1_all.deb ... 1502s Unpacking patroni-doc (3.3.4-1) ... 1502s Selecting previously unselected package postgresql-client-16. 1502s Preparing to unpack .../190-postgresql-client-16_16.4-3_s390x.deb ... 1502s Unpacking postgresql-client-16 (16.4-3) ... 1502s Selecting previously unselected package postgresql-16. 1502s Preparing to unpack .../191-postgresql-16_16.4-3_s390x.deb ... 1502s Unpacking postgresql-16 (16.4-3) ... 1502s Selecting previously unselected package postgresql. 1502s Preparing to unpack .../192-postgresql_16+262_all.deb ... 1502s Unpacking postgresql (16+262) ... 1502s Selecting previously unselected package python3-parse. 1502s Preparing to unpack .../193-python3-parse_1.20.2-1_all.deb ... 1502s Unpacking python3-parse (1.20.2-1) ... 1502s Selecting previously unselected package python3-parse-type. 1502s Preparing to unpack .../194-python3-parse-type_0.6.4-1_all.deb ... 1502s Unpacking python3-parse-type (0.6.4-1) ... 1502s Selecting previously unselected package python3-behave. 1502s Preparing to unpack .../195-python3-behave_1.2.6-6_all.deb ... 1502s Unpacking python3-behave (1.2.6-6) ... 1502s Selecting previously unselected package python3.13. 1502s Preparing to unpack .../196-python3.13_3.13.1-2_s390x.deb ... 1502s Unpacking python3.13 (3.13.1-2) ... 1502s Selecting previously unselected package python3-coverage. 1502s Preparing to unpack .../197-python3-coverage_7.4.4+dfsg1-0ubuntu3_s390x.deb ... 1502s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 1502s Setting up postgresql-client-common (262) ... 1502s Setting up libgraphite2-3:s390x (1.3.14-2ubuntu1) ... 1502s Setting up libxcb-dri3-0:s390x (1.17.0-2) ... 1502s Setting up liblcms2-2:s390x (2.16-2) ... 1502s Setting up libtaglibs-standard-spec-java (1.2.5-3) ... 1502s Setting up libpixman-1-0:s390x (0.44.0-3) ... 1502s Setting up libev4t64:s390x (1:4.33-2.1build1) ... 1502s Setting up libjackson2-annotations-java (2.14.0-1) ... 1502s Setting up libsharpyuv0:s390x (1.4.0-0.1) ... 1502s Setting up libwayland-server0:s390x (1.23.0-1) ... 1502s Setting up libx11-xcb1:s390x (2:1.8.10-2) ... 1502s Setting up libslf4j-java (1.7.32-1) ... 1502s Setting up fonts-lato (2.015-1) ... 1502s Setting up libeclipse-jdt-core-compiler-batch-java (3.35.0+eclipse4.29-2) ... 1502s Setting up libxdamage1:s390x (1:1.1.6-1build1) ... 1502s Setting up libxcb-xfixes0:s390x (1.17.0-2) ... 1502s Setting up libjsr305-java (0.1~+svn49-11) ... 1502s Setting up hicolor-icon-theme (0.18-1) ... 1502s Setting up libxi6:s390x (2:1.8.2-1) ... 1502s Setting up java-common (0.76) ... 1502s Setting up libxrender1:s390x (1:0.9.10-1.1build1) ... 1502s Setting up libdatrie1:s390x (0.2.13-3build1) ... 1502s Setting up libcommons-cli-java (1.6.0-1) ... 1502s Setting up libio-pty-perl (1:1.20-1build3) ... 1502s Setting up python3-colorama (0.4.6-4) ... 1502s Setting up libxcb-render0:s390x (1.17.0-2) ... 1502s Setting up python3-zope.event (5.0-0.1) ... 1503s Setting up python3-zope.interface (7.2-1) ... 1503s Setting up libdrm-radeon1:s390x (2.4.123-1) ... 1503s Setting up libglvnd0:s390x (1.7.0-1build1) ... 1503s Setting up libxcb-glx0:s390x (1.17.0-2) ... 1503s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 1503s Setting up python3-ydiff (1.4.2-1) ... 1503s Setting up libasm-java (9.7.1-1) ... 1503s Setting up x11-common (1:7.7+23ubuntu3) ... 1503s Setting up libpq5:s390x (17.2-1) ... 1503s Setting up libdeflate0:s390x (1.22-1) ... 1503s Setting up python3-kerberos (1.1.14-3.1build10) ... 1503s Setting up liblog4j1.2-java (1.2.17-11) ... 1503s Setting up libel-api-java (3.0.0-3) ... 1503s Setting up libxcb-shm0:s390x (1.17.0-2) ... 1503s Setting up python3-click (8.1.7-2) ... 1504s Setting up libjnr-x86asm-java (1.0.2-5.1) ... 1504s Setting up libjbig0:s390x (2.1-6.1ubuntu2) ... 1504s Setting up libcolord2:s390x (1.4.7-1build2) ... 1504s Setting up python3-psutil (5.9.8-2build3) ... 1504s Setting up libeclipse-jdt-core-java (3.35.0+eclipse4.29-2) ... 1504s Setting up libxxf86vm1:s390x (1:1.1.4-1build4) ... 1504s Setting up libsnappy1v5:s390x (1.2.1-1) ... 1504s Setting up libxcb-present0:s390x (1.17.0-2) ... 1504s Setting up libtaglibs-standard-impl-java (1.2.5-3) ... 1504s Setting up libdconf1:s390x (0.40.0-4build2) ... 1504s Setting up libjctools-java (2.0.2-1) ... 1504s Setting up libdropwizard-metrics-java (3.2.6-1) ... 1504s Setting up python3-six (1.17.0-1) ... 1504s Setting up libpython3.13-minimal:s390x (3.13.1-2) ... 1504s Setting up libasound2-data (1.2.12-1) ... 1504s Setting up libasound2t64:s390x (1.2.12-1) ... 1504s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1504s Setting up libfreetype6:s390x (2.13.3+dfsg-1) ... 1504s Setting up libfindbugs-annotations-java (3.1.0~preview2-4) ... 1504s Setting up libepoxy0:s390x (1.5.10-2) ... 1504s Setting up ssl-cert (1.1.3ubuntu1) ... 1505s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 1505s Setting up libxfixes3:s390x (1:6.0.0-2build1) ... 1505s Setting up libxcb-sync1:s390x (1.17.0-2) ... 1505s Setting up libapache-pom-java (33-2) ... 1505s Setting up libavahi-common-data:s390x (0.8-14ubuntu1) ... 1505s Setting up libatinject-jsr330-api-java (1.0+ds1-5) ... 1505s Setting up libatspi2.0-0t64:s390x (2.54.0-1) ... 1505s Setting up libwebsocket-api-java (1.1-2) ... 1505s Setting up python3-greenlet (3.1.0-1) ... 1505s Setting up libxinerama1:s390x (2:1.1.4-3build1) ... 1505s Setting up fonts-dejavu-mono (2.37-8) ... 1505s Setting up libcares2:s390x (1.34.4-2.1) ... 1505s Setting up libxrandr2:s390x (2:1.5.4-1) ... 1505s Setting up python3-psycopg2 (2.9.10-1) ... 1505s Setting up fonts-dejavu-core (2.37-8) ... 1505s Setting up libipc-run-perl (20231003.0-2) ... 1505s Setting up libpcsclite1:s390x (2.3.0-3) ... 1505s Setting up libjpeg-turbo8:s390x (2.1.5-3ubuntu2) ... 1505s Setting up libactivation-java (1.2.0-2) ... 1505s Setting up libtomcat9-java (9.0.70-2ubuntu1.1) ... 1505s Setting up libhamcrest-java (2.2-2) ... 1505s Setting up libglapi-mesa:s390x (24.2.8-1ubuntu1) ... 1505s Setting up libjsp-api-java (2.3.4-3) ... 1505s Setting up libvulkan1:s390x (1.3.296.0-1) ... 1505s Setting up libtime-duration-perl (1.21-2) ... 1505s Setting up libwebp7:s390x (1.4.0-0.1) ... 1505s Setting up libtimedate-perl (2.3300-2) ... 1505s Setting up libxcb-dri2-0:s390x (1.17.0-2) ... 1506s Setting up libgif7:s390x (5.2.2-1ubuntu1) ... 1506s Setting up libxshmfence1:s390x (1.3-1build5) ... 1506s Setting up libmail-java (1.6.5-3) ... 1506s Setting up at-spi2-common (2.54.0-1) ... 1506s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 1506s Setting up libnetty-java (1:4.1.48-10) ... 1506s Setting up libxcb-randr0:s390x (1.17.0-2) ... 1506s Setting up python3-parse (1.20.2-1) ... 1506s Setting up libapr1t64:s390x (1.7.5-1) ... 1506s Setting up libjson-perl (4.10000-1) ... 1506s Setting up libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ... 1506s Setting up libservlet-api-java (4.0.1-2) ... 1506s Setting up libjackson2-core-java (2.14.1-1) ... 1506s Setting up python3.13-minimal (3.13.1-2) ... 1507s Setting up libharfbuzz0b:s390x (10.1.0-1) ... 1507s Setting up libthai-data (0.1.29-2build1) ... 1507s Setting up python3-dateutil (2.9.0-3) ... 1507s Setting up libjffi-jni:s390x (1.3.13+ds-1) ... 1507s Setting up libwayland-egl1:s390x (1.23.0-1) ... 1507s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1507s Setting up ca-certificates-java (20240118) ... 1507s No JRE found. Skipping Java certificates setup. 1507s Setting up python3-prettytable (3.12.0-1) ... 1507s Setting up libsnappy-jni (1.1.10.7-1) ... 1507s Setting up libxcomposite1:s390x (1:0.4.6-1) ... 1507s Setting up libpython3.13-stdlib:s390x (3.13.1-2) ... 1507s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 1507s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 1507s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 1507s Setting up libjnr-constants-java (0.10.4-2) ... 1507s Setting up libwayland-client0:s390x (1.23.0-1) ... 1507s Setting up libjpeg8:s390x (8c-2ubuntu11) ... 1507s Setting up libjaxb-api-java (2.3.1-1) ... 1507s Setting up libjffi-java (1.3.13+ds-1) ... 1507s Setting up mesa-libgallium:s390x (24.2.8-1ubuntu1) ... 1507s Setting up libjetty9-java (9.4.56-1) ... 1507s Setting up moreutils (0.69-1) ... 1507s Setting up libatk1.0-0t64:s390x (2.54.0-1) ... 1507s Setting up openjdk-21-jre-headless:s390x (21.0.5+11-1) ... 1507s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/bin/java to provide /usr/bin/java (java) in auto mode 1507s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode 1507s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode 1507s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode 1507s update-alternatives: using /usr/lib/jvm/java-21-openjdk-s390x/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode 1507s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 1507s Setting up libgbm1:s390x (24.2.8-1ubuntu1) ... 1507s Setting up python3.13 (3.13.1-2) ... 1508s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 1508s Setting up libxtst6:s390x (2:1.2.3-1.1build1) ... 1508s Setting up libxcursor1:s390x (1:1.2.2-1) ... 1508s Setting up postgresql-client-16 (16.4-3) ... 1508s 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 1508s Setting up python3-cdiff (1.4.2-1) ... 1508s Setting up libgl1-mesa-dri:s390x (24.2.8-1ubuntu1) ... 1508s Setting up libcommons-parent-java (56-1) ... 1508s Setting up libavahi-common3:s390x (0.8-14ubuntu1) ... 1508s Setting up libcommons-logging-java (1.3.0-1ubuntu1) ... 1508s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 1508s Setting up dconf-service (0.40.0-4build2) ... 1508s Setting up python3-gevent (24.11.1-1) ... 1509s Setting up libjackson2-databind-java (2.14.0-1) ... 1509s Setting up libthai0:s390x (0.1.29-2build1) ... 1509s Setting up python3-parse-type (0.6.4-1) ... 1509s Setting up python3-eventlet (0.36.1-11ubuntu1) ... 1509s Setting up libnetty-tcnative-jni (2.0.28-1build4) ... 1509s Setting up python3-kazoo (2.9.0-2) ... 1510s Setting up postgresql-common (262) ... 1510s Creating config file /etc/postgresql-common/createcluster.conf with new version 1510s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 1510s Removing obsolete dictionary files: 1510s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 1511s Setting up libjs-sphinxdoc (8.1.3-4) ... 1511s Setting up libtiff6:s390x (4.5.1+git230720-4ubuntu4) ... 1511s Setting up libwayland-cursor0:s390x (1.23.0-1) ... 1511s Setting up libgdk-pixbuf-2.0-0:s390x (2.42.12+dfsg-1) ... 1511s Setting up python3-behave (1.2.6-6) ... 1511s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1511s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1511s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1511s """Registers a custom type that will be available to "parse" 1511s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 1511s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 1511s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 1511s """Registers a custom type that will be available to "parse" 1511s Setting up libsnappy-java (1.1.10.7-1) ... 1511s Setting up libfontconfig1:s390x (2.15.0-1.1ubuntu2) ... 1511s Setting up patroni (3.3.4-1) ... 1511s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 1512s Setting up libavahi-client3:s390x (0.8-14ubuntu1) ... 1512s Setting up libjnr-ffi-java (2.2.15-2) ... 1512s Setting up libatk-bridge2.0-0t64:s390x (2.54.0-1) ... 1512s Setting up gtk-update-icon-cache (4.17.1+ds-2) ... 1512s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 1514s Regenerating fonts cache... done. 1514s Setting up libglx-mesa0:s390x (24.2.8-1ubuntu1) ... 1514s Setting up postgresql-16 (16.4-3) ... 1514s Creating new PostgreSQL cluster 16/main ... 1514s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 1514s The files belonging to this database system will be owned by user "postgres". 1514s This user must also own the server process. 1514s 1514s The database cluster will be initialized with locale "C.UTF-8". 1514s The default database encoding has accordingly been set to "UTF8". 1514s The default text search configuration will be set to "english". 1514s 1514s Data page checksums are disabled. 1514s 1514s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 1514s creating subdirectories ... ok 1514s selecting dynamic shared memory implementation ... posix 1514s selecting default max_connections ... 100 1514s selecting default shared_buffers ... 128MB 1514s selecting default time zone ... Etc/UTC 1514s creating configuration files ... ok 1514s running bootstrap script ... ok 1514s performing post-bootstrap initialization ... ok 1514s syncing data to disk ... ok 1518s Setting up libglx0:s390x (1.7.0-1build1) ... 1518s Setting up libspring-core-java (4.3.30-2ubuntu1) ... 1518s Setting up dconf-gsettings-backend:s390x (0.40.0-4build2) ... 1518s Setting up libcommons-io-java (2.17.0-1) ... 1518s Setting up patroni-doc (3.3.4-1) ... 1518s Setting up libpango-1.0-0:s390x (1.55.0+ds-3) ... 1518s Setting up libcairo2:s390x (1.18.2-2) ... 1518s Setting up libjnr-enxio-java (0.32.16-1) ... 1518s Setting up libgl1:s390x (1.7.0-1build1) ... 1518s Setting up libcairo-gobject2:s390x (1.18.2-2) ... 1518s Setting up postgresql (16+262) ... 1518s Setting up libpangoft2-1.0-0:s390x (1.55.0+ds-3) ... 1518s Setting up libcups2t64:s390x (2.4.11-0ubuntu2) ... 1518s Setting up libgtk-3-common (3.24.43-4ubuntu1) ... 1518s Setting up libjnr-posix-java (3.1.18-1) ... 1518s Setting up libpangocairo-1.0-0:s390x (1.55.0+ds-3) ... 1518s Setting up libspring-beans-java (4.3.30-2ubuntu1) ... 1518s Setting up libjnr-unixsocket-java (0.38.21-2) ... 1518s Setting up libjetty9-extra-java (9.4.56-1) ... 1518s Setting up libguava-java (32.0.1-1) ... 1518s Setting up adwaita-icon-theme (47.0-2) ... 1518s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 1518s Setting up liberror-prone-java (2.18.0-1) ... 1518s Setting up humanity-icon-theme (0.6.16) ... 1518s Setting up ubuntu-mono (24.04-0ubuntu1) ... 1518s Processing triggers for systemd (257-2ubuntu1) ... 1518s Processing triggers for man-db (2.13.0-1) ... 1519s Processing triggers for libglib2.0-0t64:s390x (2.82.4-1) ... 1519s Setting up libgtk-3-0t64:s390x (3.24.43-4ubuntu1) ... 1519s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1519s Processing triggers for ca-certificates-java (20240118) ... 1519s Adding debian:ACCVRAIZ1.pem 1519s Adding debian:AC_RAIZ_FNMT-RCM.pem 1519s Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem 1519s Adding debian:ANF_Secure_Server_Root_CA.pem 1519s Adding debian:Actalis_Authentication_Root_CA.pem 1519s Adding debian:AffirmTrust_Commercial.pem 1519s Adding debian:AffirmTrust_Networking.pem 1519s Adding debian:AffirmTrust_Premium.pem 1519s Adding debian:AffirmTrust_Premium_ECC.pem 1519s Adding debian:Amazon_Root_CA_1.pem 1519s Adding debian:Amazon_Root_CA_2.pem 1519s Adding debian:Amazon_Root_CA_3.pem 1519s Adding debian:Amazon_Root_CA_4.pem 1519s Adding debian:Atos_TrustedRoot_2011.pem 1519s Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem 1519s Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem 1519s Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem 1519s Adding debian:BJCA_Global_Root_CA1.pem 1519s Adding debian:BJCA_Global_Root_CA2.pem 1519s Adding debian:Baltimore_CyberTrust_Root.pem 1519s Adding debian:Buypass_Class_2_Root_CA.pem 1519s Adding debian:Buypass_Class_3_Root_CA.pem 1519s Adding debian:CA_Disig_Root_R2.pem 1519s Adding debian:CFCA_EV_ROOT.pem 1519s Adding debian:COMODO_Certification_Authority.pem 1519s Adding debian:COMODO_ECC_Certification_Authority.pem 1519s Adding debian:COMODO_RSA_Certification_Authority.pem 1519s Adding debian:Certainly_Root_E1.pem 1519s Adding debian:Certainly_Root_R1.pem 1519s Adding debian:Certigna.pem 1519s Adding debian:Certigna_Root_CA.pem 1519s Adding debian:Certum_EC-384_CA.pem 1519s Adding debian:Certum_Trusted_Network_CA.pem 1519s Adding debian:Certum_Trusted_Network_CA_2.pem 1519s Adding debian:Certum_Trusted_Root_CA.pem 1519s Adding debian:CommScope_Public_Trust_ECC_Root-01.pem 1519s Adding debian:CommScope_Public_Trust_ECC_Root-02.pem 1519s Adding debian:CommScope_Public_Trust_RSA_Root-01.pem 1519s Adding debian:CommScope_Public_Trust_RSA_Root-02.pem 1519s Adding debian:Comodo_AAA_Services_root.pem 1519s Adding debian:D-TRUST_BR_Root_CA_1_2020.pem 1519s Adding debian:D-TRUST_EV_Root_CA_1_2020.pem 1519s Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem 1519s Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem 1519s Adding debian:DigiCert_Assured_ID_Root_CA.pem 1519s Adding debian:DigiCert_Assured_ID_Root_G2.pem 1519s Adding debian:DigiCert_Assured_ID_Root_G3.pem 1519s Adding debian:DigiCert_Global_Root_CA.pem 1519s Adding debian:DigiCert_Global_Root_G2.pem 1519s Adding debian:DigiCert_Global_Root_G3.pem 1519s Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem 1519s Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem 1519s Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem 1519s Adding debian:DigiCert_Trusted_Root_G4.pem 1519s Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem 1519s Adding debian:Entrust_Root_Certification_Authority.pem 1519s Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem 1519s Adding debian:Entrust_Root_Certification_Authority_-_G2.pem 1519s Adding debian:Entrust_Root_Certification_Authority_-_G4.pem 1519s Adding debian:GDCA_TrustAUTH_R5_ROOT.pem 1519s Adding debian:GLOBALTRUST_2020.pem 1519s Adding debian:GTS_Root_R1.pem 1519s Adding debian:GTS_Root_R2.pem 1519s Adding debian:GTS_Root_R3.pem 1519s Adding debian:GTS_Root_R4.pem 1519s Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem 1519s Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem 1519s Adding debian:GlobalSign_Root_CA.pem 1519s Adding debian:GlobalSign_Root_CA_-_R3.pem 1519s Adding debian:GlobalSign_Root_CA_-_R6.pem 1519s Adding debian:GlobalSign_Root_E46.pem 1519s Adding debian:GlobalSign_Root_R46.pem 1519s Adding debian:Go_Daddy_Class_2_CA.pem 1519s Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem 1519s Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem 1519s Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem 1519s Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem 1519s Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem 1519s Adding debian:HiPKI_Root_CA_-_G1.pem 1519s Adding debian:Hongkong_Post_Root_CA_3.pem 1519s Adding debian:ISRG_Root_X1.pem 1519s Adding debian:ISRG_Root_X2.pem 1519s Adding debian:IdenTrust_Commercial_Root_CA_1.pem 1519s Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem 1519s Adding debian:Izenpe.com.pem 1519s Adding debian:Microsec_e-Szigno_Root_CA_2009.pem 1519s Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem 1519s Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem 1519s Adding debian:NAVER_Global_Root_Certification_Authority.pem 1519s Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem 1519s Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem 1519s Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem 1519s Adding debian:QuoVadis_Root_CA_1_G3.pem 1519s Adding debian:QuoVadis_Root_CA_2.pem 1519s Adding debian:QuoVadis_Root_CA_2_G3.pem 1519s Adding debian:QuoVadis_Root_CA_3.pem 1519s Adding debian:QuoVadis_Root_CA_3_G3.pem 1519s Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem 1519s Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem 1519s Adding debian:SSL.com_Root_Certification_Authority_ECC.pem 1519s Adding debian:SSL.com_Root_Certification_Authority_RSA.pem 1519s Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem 1519s Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem 1519s Adding debian:SZAFIR_ROOT_CA2.pem 1519s Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem 1519s Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem 1519s Adding debian:SecureSign_RootCA11.pem 1519s Adding debian:SecureTrust_CA.pem 1519s Adding debian:Secure_Global_CA.pem 1519s Adding debian:Security_Communication_ECC_RootCA1.pem 1519s Adding debian:Security_Communication_RootCA2.pem 1519s Adding debian:Security_Communication_RootCA3.pem 1519s Adding debian:Security_Communication_Root_CA.pem 1519s Adding debian:Starfield_Class_2_CA.pem 1519s Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem 1519s Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem 1519s Adding debian:SwissSign_Gold_CA_-_G2.pem 1519s Adding debian:SwissSign_Silver_CA_-_G2.pem 1519s Adding debian:T-TeleSec_GlobalRoot_Class_2.pem 1519s Adding debian:T-TeleSec_GlobalRoot_Class_3.pem 1519s Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem 1519s Adding debian:TWCA_Global_Root_CA.pem 1519s Adding debian:TWCA_Root_Certification_Authority.pem 1519s Adding debian:TeliaSonera_Root_CA_v1.pem 1519s Adding debian:Telia_Root_CA_v2.pem 1519s Adding debian:TrustAsia_Global_Root_CA_G3.pem 1519s Adding debian:TrustAsia_Global_Root_CA_G4.pem 1519s Adding debian:Trustwave_Global_Certification_Authority.pem 1519s Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem 1519s Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem 1519s Adding debian:TunTrust_Root_CA.pem 1519s Adding debian:UCA_Extended_Validation_Root.pem 1519s Adding debian:UCA_Global_G2_Root.pem 1519s Adding debian:USERTrust_ECC_Certification_Authority.pem 1519s Adding debian:USERTrust_RSA_Certification_Authority.pem 1519s Adding debian:XRamp_Global_CA_Root.pem 1519s Adding debian:certSIGN_ROOT_CA.pem 1519s Adding debian:certSIGN_Root_CA_G2.pem 1519s Adding debian:e-Szigno_Root_CA_2017.pem 1519s Adding debian:ePKI_Root_Certification_Authority.pem 1519s Adding debian:emSign_ECC_Root_CA_-_C3.pem 1519s Adding debian:emSign_ECC_Root_CA_-_G3.pem 1519s Adding debian:emSign_Root_CA_-_C1.pem 1519s Adding debian:emSign_Root_CA_-_G1.pem 1519s Adding debian:vTrus_ECC_Root_CA.pem 1519s Adding debian:vTrus_Root_CA.pem 1519s done. 1519s Setting up openjdk-21-jre:s390x (21.0.5+11-1) ... 1519s Setting up junit4 (4.13.2-5) ... 1519s Setting up default-jre-headless (2:1.21-76) ... 1519s Setting up default-jre (2:1.21-76) ... 1519s Setting up libnetty-tcnative-java (2.0.28-1build4) ... 1519s Setting up libzookeeper-java (3.9.3-1) ... 1519s Setting up zookeeper (3.9.3-1) ... 1519s warn: The home directory `/var/lib/zookeeper' already exists. Not touching this directory. 1519s warn: Warning: The home directory `/var/lib/zookeeper' does not belong to the user you are currently creating. 1519s update-alternatives: using /etc/zookeeper/conf_example to provide /etc/zookeeper/conf (zookeeper-conf) in auto mode 1519s Setting up zookeeperd (3.9.3-1) ... 1523s autopkgtest [12:43:52]: test acceptance-zookeeper: debian/tests/acceptance zookeeper "-e dcs_failsafe_mode" 1523s autopkgtest [12:43:52]: test acceptance-zookeeper: [----------------------- 1528s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 1528s ++ ls -1r /usr/lib/postgresql/ 1528s ### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1528s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 1528s + '[' 16 == 10 -o 16 == 11 ']' 1528s + echo '### PostgreSQL 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1528s + su postgres -p -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=s390x 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' 1528s Jan 08 12:43:57 Feature: basic replication # features/basic_replication.feature:1 1528s Jan 08 12:43:57 We should check that the basic bootstrapping, replication and failover works. 1528s Jan 08 12:43:57 Scenario: check replication of a single table # features/basic_replication.feature:4 1528s Jan 08 12:43:57 Given I start postgres0 # features/steps/basic_replication.py:8 1531s Jan 08 12:44:00 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1531s Jan 08 12:44:00 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1531s Jan 08 12:44:00 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 1531s Jan 08 12:44:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 1531s Jan 08 12:44:00 When I start postgres1 # features/steps/basic_replication.py:8 1534s Jan 08 12:44:02 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 1536s Jan 08 12:44:04 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 1536s Jan 08 12:44:05 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1536s Jan 08 12:44:05 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1537s Jan 08 12:44:06 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1537s Jan 08 12:44:06 1537s Jan 08 12:44:06 Scenario: check restart of sync replica # features/basic_replication.feature:17 1537s Jan 08 12:44:06 Given I shut down postgres2 # features/steps/basic_replication.py:29 1538s Jan 08 12:44:07 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 1538s Jan 08 12:44:07 When I start postgres2 # features/steps/basic_replication.py:8 1540s Jan 08 12:44:09 And I shut down postgres1 # features/steps/basic_replication.py:29 1543s Jan 08 12:44:12 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1544s Jan 08 12:44:13 When I start postgres1 # features/steps/basic_replication.py:8 1546s Jan 08 12:44:15 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1547s Jan 08 12:44:16 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1547s Jan 08 12:44:16 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1547s Jan 08 12:44:16 1547s Jan 08 12:44:16 Scenario: check stuck sync replica # features/basic_replication.feature:28 1547s Jan 08 12:44: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 1547s Jan 08 12:44:16 Then I receive a response code 200 # features/steps/patroni_api.py:98 1547s Jan 08 12:44:16 And I create table on postgres0 # features/steps/basic_replication.py:73 1547s Jan 08 12:44:16 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 1548s Jan 08 12:44:17 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 1548s Jan 08 12:44:17 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 1548s Jan 08 12:44:17 And I load data on postgres0 # features/steps/basic_replication.py:84 1548s Jan 08 12:44:17 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 1551s Jan 08 12:44:20 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 1551s Jan 08 12:44:20 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1552s Jan 08 12:44:21 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1552s Jan 08 12:44:21 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 1552s Jan 08 12:44:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1552s Jan 08 12:44:21 And I drop table on postgres0 # features/steps/basic_replication.py:73 1552s Jan 08 12:44:21 1552s Jan 08 12:44:21 Scenario: check multi sync replication # features/basic_replication.feature:44 1552s Jan 08 12:44:21 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 1552s Jan 08 12:44:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 1552s Jan 08 12:44:21 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1556s Jan 08 12:44:25 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1556s Jan 08 12:44:25 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1556s Jan 08 12:44:25 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 1556s Jan 08 12:44:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 1556s Jan 08 12:44:25 And I shut down postgres1 # features/steps/basic_replication.py:29 1560s Jan 08 12:44:28 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 1561s Jan 08 12:44:29 When I start postgres1 # features/steps/basic_replication.py:8 1564s Jan 08 12:44:32 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1564s Jan 08 12:44:32 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 1564s Jan 08 12:44:33 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 1564s Jan 08 12:44:33 1564s Jan 08 12:44:33 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 1564s Jan 08 12:44:33 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1565s Jan 08 12:44:34 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1565s Jan 08 12:44:34 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1567s Jan 08 12:44:36 And I shut down postgres0 # features/steps/basic_replication.py:29 1568s Jan 08 12:44:37 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1569s Jan 08 12:44:38 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1569s Jan 08 12:44:38 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 1588s Jan 08 12:44:57 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 1592s Jan 08 12:45:01 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 1592s Jan 08 12:45:01 When I issue a PATCH request to http://127.0.0.1:8010/config with {"synchronous_mode": null, "master_start_timeout": 0} # features/steps/patroni_api.py:71 1592s Jan 08 12:45:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 1592s Jan 08 12:45:01 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 1592s Jan 08 12:45:01 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1595s Jan 08 12:45: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 1595s Jan 08 12:45:04 1595s Jan 08 12:45:04 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 1595s Jan 08 12:45:04 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 1595s Jan 08 12:45:04 And I start postgres0 # features/steps/basic_replication.py:8 1595s Jan 08 12:45:04 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1601s Jan 08 12:45:10 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 1601s Jan 08 12:45:10 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 1601s Jan 08 12:45:10 1601s Jan 08 12:45:10 @reject-duplicate-name 1601s Jan 08 12:45:10 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 1601s Jan 08 12:45:10 Given I start duplicate postgres0 on port 8011 # features/steps/basic_replication.py:13 1603s Jan 08 12:45:12 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # features/steps/basic_replication.py:121 1607s Jan 08 12:45:16 1607s Jan 08 12:45:16 Feature: cascading replication # features/cascading_replication.feature:1 1607s Jan 08 12:45:16 We should check that patroni can do base backup and streaming from the replica 1607s Jan 08 12:45:16 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 1607s Jan 08 12:45:16 Given I start postgres0 # features/steps/basic_replication.py:8 1609s Jan 08 12:45:18 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1610s Jan 08 12:45:19 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 1612s Jan 08 12:45:21 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1613s Jan 08 12:45:22 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 1613s Jan 08 12:45:22 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 1613s Jan 08 12:45:22 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1613s Jan 08 12:45:22 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1616s Jan 08 12:45:25 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 1626s Jan 08 12:45:35 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 1632s Jan 08 12:45:41 1632s Jan 08 12:45:41SKIP FEATURE citus: Citus extenstion isn't available 1632s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 1632s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 1632s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 1632s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 1632s Feature: citus # features/citus.feature:1 1632s Jan 08 12:45:41 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 1632s Jan 08 12:45:41 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 1632s Jan 08 12:45:41 Given I start postgres0 in citus group 0 # None 1632s Jan 08 12:45:41 And I start postgres2 in citus group 1 # None 1632s Jan 08 12:45:41 Then postgres0 is a leader in a group 0 after 10 seconds # None 1632s Jan 08 12:45:41 And postgres2 is a leader in a group 1 after 10 seconds # None 1632s Jan 08 12:45:41 When I start postgres1 in citus group 0 # None 1632s Jan 08 12:45:41 And I start postgres3 in citus group 1 # None 1632s Jan 08 12:45:41 Then replication works from postgres0 to postgres1 after 15 seconds # None 1632s Jan 08 12:45:41 Then replication works from postgres2 to postgres3 after 15 seconds # None 1632s Jan 08 12:45:41 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 1632s Jan 08 12:45:41 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1632s Jan 08 12:45:41 1632s Jan 08 12:45:41 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 1632s Jan 08 12:45:41 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 1632s Jan 08 12:45:41 Then postgres1 role is the primary after 10 seconds # None 1632s Jan 08 12:45:41 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 1632s Jan 08 12:45:41 And replication works from postgres1 to postgres0 after 15 seconds # None 1632s Jan 08 12:45:41 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1632s Jan 08 12:45:41 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 1632s Jan 08 12:45:41 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 1632s Jan 08 12:45:41 Then postgres0 role is the primary after 10 seconds # None 1632s Jan 08 12:45:41 And replication works from postgres0 to postgres1 after 15 seconds # None 1632s Jan 08 12:45:41 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 1632s Jan 08 12:45:41 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 1632s Jan 08 12:45:41 1632s 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 1632s Jan 08 12:45:41 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 1632s Jan 08 12:45:41 Given I create a distributed table on postgres0 # None 1632s Jan 08 12:45:41 And I start a thread inserting data on postgres0 # None 1632s Jan 08 12:45:41 When I run patronictl.py switchover batman --group 1 --force # None 1632s Jan 08 12:45:41 Then I receive a response returncode 0 # None 1632s Jan 08 12:45:41 And postgres3 role is the primary after 10 seconds # None 1632s Jan 08 12:45:41 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 1632s Jan 08 12:45:41 And replication works from postgres3 to postgres2 after 15 seconds # None 1632s Jan 08 12:45:41 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1632s Jan 08 12:45:41 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 1632s Jan 08 12:45:41 And a thread is still alive # None 1632s Jan 08 12:45:41 When I run patronictl.py switchover batman --group 1 --force # None 1632s Jan 08 12:45:41 Then I receive a response returncode 0 # None 1632s Jan 08 12:45:41 And postgres2 role is the primary after 10 seconds # None 1632s Jan 08 12:45:41 And replication works from postgres2 to postgres3 after 15 seconds # None 1632s Jan 08 12:45:41 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1632s Jan 08 12:45:41 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 1632s Jan 08 12:45:41 And a thread is still alive # None 1632s Jan 08 12:45:41 When I stop a thread # None 1632s Jan 08 12:45:41 Then a distributed table on postgres0 has expected rows # None 1632s Jan 08 12:45:41 1632s Jan 08 12:45:41 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 1632s Jan 08 12:45:41 Given I cleanup a distributed table on postgres0 # None 1632s Jan 08 12:45:41 And I start a thread inserting data on postgres0 # None 1632s Jan 08 12:45:41 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1632s Jan 08 12:45:41 Then I receive a response returncode 0 # None 1632s Jan 08 12:45:41 And postgres2 role is the primary after 10 seconds # None 1632s Jan 08 12:45:41 And replication works from postgres2 to postgres3 after 15 seconds # None 1632s Jan 08 12:45:41 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 1632s Jan 08 12:45:41 And a thread is still alive # None 1632s Jan 08 12:45:41 When I stop a thread # None 1632s Jan 08 12:45:41 Then a distributed table on postgres0 has expected rows # None 1632s Jan 08 12:45:41 1632s Jan 08 12:45:41 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 1632s Jan 08 12:45:41 Given I start postgres4 in citus group 2 # None 1632s Jan 08 12:45:41 Then postgres4 is a leader in a group 2 after 10 seconds # None 1632s Jan 08 12:45:41 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 1632s Jan 08 12:45:41 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 1632s Jan 08 12:45:41 Then I receive a response returncode 0 # None 1632s Jan 08 12:45:41 And I receive a response output "+ttl: 20" # None 1632s Jan 08 12:45:41 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 1632s Jan 08 12:45:41 When I shut down postgres4 # None 1632s Jan 08 12:45:41 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 1632s Jan 08 12:45:41 When I run patronictl.py restart batman postgres2 --group 1 --force # None 1632s Jan 08 12:45:41 Then a transaction finishes in 20 seconds # None 1632s Jan 08 12:45:41 1632s Jan 08 12:45:41 Feature: custom bootstrap # features/custom_bootstrap.feature:1 1632s Jan 08 12:45:41 We should check that patroni can bootstrap a new cluster from a backup 1632s Jan 08 12:45:41 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 1632s Jan 08 12:45:41 Given I start postgres0 # features/steps/basic_replication.py:8 1635s Jan 08 12:45:44 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1636s Jan 08 12:45:45 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1636s Jan 08 12:45:45 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 1639s Jan 08 12:45:48 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1640s Jan 08 12:45:49 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 1640s Jan 08 12:45:49 1640s Jan 08 12:45:49 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 1640s Jan 08 12:45:49 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 1640s Jan 08 12:45:49 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1640s Jan 08 12:45:49 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 1643s Jan 08 12:45:52 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 1643s Jan 08 12:45:52 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 1650s Jan 08 12:45:59 1650s Jan 08 12:45:59 Feature: ignored slots # features/ignored_slots.feature:1 1650s Jan 08 12:45:59 1650s Jan 08 12:45:59 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 1650s Jan 08 12:45:59 Given I start postgres1 # features/steps/basic_replication.py:8 1653s Jan 08 12:46:02 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1653s Jan 08 12:46:02 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1653s Jan 08 12:46:02 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 1653s Jan 08 12:46:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1653s Jan 08 12:46:02 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 1653s Jan 08 12:46:02 When I shut down postgres1 # features/steps/basic_replication.py:29 1655s Jan 08 12:46:04 And I start postgres1 # features/steps/basic_replication.py:8 1657s Jan 08 12:46:06 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1658s Jan 08 12:46:07 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1659s Jan 08 12:46:08 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 1659s Jan 08 12:46:08 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1659s Jan 08 12:46:08 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1659s Jan 08 12:46:08 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1659s Jan 08 12:46:08 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1659s Jan 08 12:46:08 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 1659s Jan 08 12:46:08 Then postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1659s Jan 08 12:46:08 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1659s Jan 08 12:46:08 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1659s Jan 08 12:46:08 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1659s Jan 08 12:46:08 When I start postgres0 # features/steps/basic_replication.py:8 1662s Jan 08 12:46:11 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1662s Jan 08 12:46:11 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1662s Jan 08 12:46:11 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1663s Jan 08 12:46:12 When I shut down postgres1 # features/steps/basic_replication.py:29 1665s Jan 08 12:46:14 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1666s Jan 08 12:46:15 When I start postgres1 # features/steps/basic_replication.py:8 1668s Jan 08 12:46:17 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 1668s Jan 08 12:46:17 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 1669s Jan 08 12:46:18 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1671s Jan 08 12:46: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 1671s Jan 08 12:46: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 1671s Jan 08 12:46: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 1671s Jan 08 12:46: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 1671s Jan 08 12:46:20 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 1671s Jan 08 12:46:20 When I shut down postgres0 # features/steps/basic_replication.py:29 1673s Jan 08 12:46:22 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 1674s Jan 08 12:46:23 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1674s Jan 08 12:46:23 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1674s Jan 08 12:46:23 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1674s Jan 08 12:46:23 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 1676s Jan 08 12:46:25 1676s Jan 08 12:46:25 Feature: nostream node # features/nostream_node.feature:1 1676s Jan 08 12:46:25 1676s Jan 08 12:46:25 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 1676s Jan 08 12:46:25 When I start postgres0 # features/steps/basic_replication.py:8 1679s Jan 08 12:46:28 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 1681s Jan 08 12:46:30 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 1682s Jan 08 12:46:31 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 1687s Jan 08 12:46:36 1687s Jan 08 12:46:36 @slot-advance 1687s Jan 08 12:46:36 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 1687s Jan 08 12:46:36 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 1687s Jan 08 12:46:36 Then I receive a response code 200 # features/steps/patroni_api.py:98 1687s Jan 08 12:46:36 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1689s Jan 08 12:46:38 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1690s Jan 08 12:46:39 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 1693s Jan 08 12:46:42 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1699s Jan 08 12:46:48 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1699s Jan 08 12:46:48 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1705s Jan 08 12:46:54 1705s Jan 08 12:46:54 Feature: patroni api # features/patroni_api.feature:1 1705s Jan 08 12:46:54 We should check that patroni correctly responds to valid and not-valid API requests. 1705s Jan 08 12:46:54 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 1705s Jan 08 12:46:54 Given I start postgres0 # features/steps/basic_replication.py:8 1708s Jan 08 12:46:57 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1708s Jan 08 12:46:57 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1708s Jan 08 12:46:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1708s Jan 08 12:46:57 And I receive a response state running # features/steps/patroni_api.py:98 1708s Jan 08 12:46:57 And I receive a response role master # features/steps/patroni_api.py:98 1708s Jan 08 12:46:57 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 1708s Jan 08 12:46:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 1708s Jan 08 12:46:57 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 1708s Jan 08 12:46:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1708s Jan 08 12:46:57 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1708s Jan 08 12:46:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 1708s Jan 08 12:46:57 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 1708s Jan 08 12:46:57 Then I receive a response code 503 # features/steps/patroni_api.py:98 1708s Jan 08 12:46:57 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 1708s Jan 08 12:46:57 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 1709s Jan 08 12:46:58 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1709s Jan 08 12:46:58 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 1709s Jan 08 12:46:58 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 1709s Jan 08 12:46:58 Then I receive a response code 412 # features/steps/patroni_api.py:98 1709s Jan 08 12:46:58 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 1709s Jan 08 12:46:58 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 1709s Jan 08 12:46:58 Then I receive a response code 400 # features/steps/patroni_api.py:98 1709s Jan 08 12:46:58 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 1710s Jan 08 12:46:58 Then I receive a response code 400 # features/steps/patroni_api.py:98 1710s Jan 08 12:46:58 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 1710s Jan 08 12:46:58 1710s Jan 08 12:46:58 Scenario: check local configuration reload # features/patroni_api.feature:32 1710s Jan 08 12:46:58 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 1710s Jan 08 12:46:59 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 1710s Jan 08 12:46:59 Then I receive a response code 202 # features/steps/patroni_api.py:98 1710s Jan 08 12:46:59 1710s Jan 08 12:46:59 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 1710s Jan 08 12:46: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 1710s Jan 08 12:46:59 Then I receive a response code 200 # features/steps/patroni_api.py:98 1710s Jan 08 12:46:59 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 1712s Jan 08 12:47:01 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 1712s Jan 08 12:47:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 1712s Jan 08 12:47:01 And I receive a response ttl 20 # features/steps/patroni_api.py:98 1712s Jan 08 12:47:01 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1713s Jan 08 12:47:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 1713s Jan 08 12:47:01 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 1713s Jan 08 12:47:01 And I sleep for 4 seconds # features/steps/patroni_api.py:39 1716s Jan 08 12:47:05 1716s Jan 08 12:47:05 Scenario: check the scheduled restart # features/patroni_api.feature:49 1716s Jan 08 12:47:05 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 1717s Jan 08 12:47:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1717s Jan 08 12:47:06 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 1717s Jan 08 12:47:06 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 1717s Jan 08 12:47:06 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 1717s Jan 08 12:47:06 Then I receive a response code 202 # features/steps/patroni_api.py:98 1717s Jan 08 12:47:06 And I sleep for 8 seconds # features/steps/patroni_api.py:39 1725s Jan 08 12:47:14 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 1725s Jan 08 12:47:14 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 1725s Jan 08 12:47:14 Then I receive a response code 202 # features/steps/patroni_api.py:98 1725s Jan 08 12:47:14 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 1732s Jan 08 12:47:21 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1733s Jan 08 12:47:22 1733s Jan 08 12:47:22 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 1733s Jan 08 12:47:22 Given I start postgres1 # features/steps/basic_replication.py:8 1735s Jan 08 12:47:24 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1736s Jan 08 12:47:25 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 1737s Jan 08 12:47:26 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1737s Jan 08 12:47:26 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 1737s Jan 08 12:47:26 waiting for server to shut down.... done 1737s Jan 08 12:47:26 server stopped 1737s Jan 08 12:47:26 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1737s Jan 08 12:47:26 Then I receive a response code 503 # features/steps/patroni_api.py:98 1737s Jan 08 12:47:26 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 1738s Jan 08 12:47:27 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1741s Jan 08 12:47:30 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1741s Jan 08 12:47:30 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1742s Jan 08 12:47:31 And I sleep for 2 seconds # features/steps/patroni_api.py:39 1744s Jan 08 12:47:33 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1744s Jan 08 12:47:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 1744s Jan 08 12:47:33 And I receive a response state running # features/steps/patroni_api.py:98 1744s Jan 08 12:47:33 And I receive a response role replica # features/steps/patroni_api.py:98 1744s Jan 08 12:47:33 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 1747s Jan 08 12:47:36 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1747s Jan 08 12:47:36 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 1747s Jan 08 12:47:36 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 1748s Jan 08 12:47:37 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1748s Jan 08 12:47:37 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1750s Jan 08 12:47:39 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1750s Jan 08 12:47:39 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 1750s Jan 08 12:47:39 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 1751s Jan 08 12:47:40 1751s Jan 08 12:47:40 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 1751s Jan 08 12:47:40 Given I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0", "candidate": "postgres1"} # features/steps/patroni_api.py:71 1753s Jan 08 12:47:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 1753s Jan 08 12:47:42 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 1753s Jan 08 12:47:42 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1753s Jan 08 12:47:42 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1758s Jan 08 12:47:47 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 1758s Jan 08 12:47:47 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1758s Jan 08 12:47:47 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1758s Jan 08 12:47:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 1758s Jan 08 12:47:47 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1758s Jan 08 12:47:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1758s Jan 08 12:47:47 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1758s Jan 08 12:47:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 1758s Jan 08 12:47:47 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1758s Jan 08 12:47:47 Then I receive a response code 503 # features/steps/patroni_api.py:98 1758s Jan 08 12:47:47 1758s Jan 08 12:47:47 Scenario: check the scheduled switchover # features/patroni_api.feature:107 1758s Jan 08 12:47:47 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1759s Jan 08 12:47:48 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 1759s Jan 08 12:47:48 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 1759s Jan 08 12:47:48 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 1761s Jan 08 12:47:50 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1761s Jan 08 12:47:50 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 1762s Jan 08 12:47:51 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1762s Jan 08 12:47:51 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 1772s Jan 08 12:48:01 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1773s Jan 08 12:48:02 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1775s Jan 08 12:48:04 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 1775s Jan 08 12:48:04 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1776s Jan 08 12:48:05 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 1776s Jan 08 12:48:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1776s Jan 08 12:48:05 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 1776s Jan 08 12:48:05 Then I receive a response code 503 # features/steps/patroni_api.py:98 1776s Jan 08 12:48:05 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1776s Jan 08 12:48:05 Then I receive a response code 503 # features/steps/patroni_api.py:98 1776s Jan 08 12:48:05 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 1776s Jan 08 12:48:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 1780s Jan 08 12:48:09 1780s Jan 08 12:48:09 Feature: permanent slots # features/permanent_slots.feature:1 1780s Jan 08 12:48:09 1780s Jan 08 12:48:09 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 1780s Jan 08 12:48:09 Given I start postgres0 # features/steps/basic_replication.py:8 1783s Jan 08 12:48:12 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1784s Jan 08 12:48:12 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1784s Jan 08 12:48:12 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 1784s Jan 08 12:48:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1784s Jan 08 12:48:13 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1784s Jan 08 12:48:13 When I start postgres1 # features/steps/basic_replication.py:8 1787s Jan 08 12:48:16 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 1790s Jan 08 12:48:19 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 1793s Jan 08 12:48:22 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1793s Jan 08 12:48:22 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 1793s Jan 08 12:48:22 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 1793s Jan 08 12:48:22 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1793s Jan 08 12:48:22 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 1793s Jan 08 12:48:22 1793s Jan 08 12:48:22 @slot-advance 1793s Jan 08 12:48:22 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 1793s Jan 08 12:48:22 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 1796s Jan 08 12:48:25 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 1796s Jan 08 12:48:25 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1797s Jan 08 12:48:26 1797s Jan 08 12:48:26 @slot-advance 1797s Jan 08 12:48:26 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 1797s Jan 08 12:48:26 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 1803s Jan 08 12:48:32 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1803s Jan 08 12:48:32 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1804s Jan 08 12:48:33 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1804s Jan 08 12:48:33 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 1804s Jan 08 12:48:33 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 1804s Jan 08 12:48:33 1804s Jan 08 12:48:33 @slot-advance 1804s Jan 08 12:48:33 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 1804s Jan 08 12:48:33 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1804s Jan 08 12:48:33 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 1804s Jan 08 12:48:33 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1804s Jan 08 12:48:33 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 1804s Jan 08 12:48:33 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 1804s Jan 08 12:48:33 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 1804s Jan 08 12:48:33 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1804s Jan 08 12:48:33 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1804s Jan 08 12:48:33 1804s Jan 08 12:48:33 @slot-advance 1804s Jan 08 12:48:33 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 1804s Jan 08 12:48:33 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 1804s Jan 08 12:48:33 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 1804s Jan 08 12:48:33 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 1804s Jan 08 12:48:33 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1808s Jan 08 12:48:37 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1808s Jan 08 12:48:37 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1808s Jan 08 12:48:37 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 1808s Jan 08 12:48:37 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 1808s Jan 08 12:48:37 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 1808s Jan 08 12:48:37 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 1808s Jan 08 12:48:37 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 1808s Jan 08 12:48:37 1808s Jan 08 12:48:37 @slot-advance 1808s Jan 08 12:48:37 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 1808s Jan 08 12:48:37 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 1808s Jan 08 12:48:37 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 1808s Jan 08 12:48:37 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 1808s Jan 08 12:48:37 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 1808s Jan 08 12:48:37 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 1808s Jan 08 12:48:37 1808s Jan 08 12:48:37 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 1808s Jan 08 12:48:37 Given I shut down postgres3 # features/steps/basic_replication.py:29 1809s Jan 08 12:48:38 And I shut down postgres2 # features/steps/basic_replication.py:29 1810s Jan 08 12:48:39 And I shut down postgres0 # features/steps/basic_replication.py:29 1812s Jan 08 12:48:41 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 1812s Jan 08 12:48:41 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 1812s Jan 08 12:48:41 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 1812s Jan 08 12:48:41 When I start postgres0 # features/steps/basic_replication.py:8 1814s Jan 08 12:48:43 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 1814s Jan 08 12:48:43 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1815s Jan 08 12:48:44 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 1818s Jan 08 12:48:47 1818s Jan 08 12:48:47 Feature: priority replication # features/priority_failover.feature:1 1818s Jan 08 12:48:47 We should check that we can give nodes priority during failover 1818s Jan 08 12:48:47 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 1818s Jan 08 12:48:47 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1821s Jan 08 12:48:50 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 1824s Jan 08 12:48:53 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 1829s Jan 08 12:48:58 When I shut down postgres0 # features/steps/basic_replication.py:29 1831s Jan 08 12:49:00 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1833s Jan 08 12:49:02 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 1833s Jan 08 12:49:02 When I start postgres0 # features/steps/basic_replication.py:8 1835s Jan 08 12:49:04 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1836s Jan 08 12:49:05 1836s Jan 08 12:49:05 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 1836s Jan 08 12:49:05 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 1839s Jan 08 12:49:08 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 1842s Jan 08 12:49:11 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 1844s Jan 08 12:49:13 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 1845s Jan 08 12:49:14 When I shut down postgres0 # features/steps/basic_replication.py:29 1847s Jan 08 12:49:16 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1847s Jan 08 12:49:16 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1847s Jan 08 12:49:16 1847s Jan 08 12:49:16 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 1847s Jan 08 12:49:16 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 1847s Jan 08 12:49:16 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 1847s Jan 08 12:49:16 Then I receive a response code 202 # features/steps/patroni_api.py:98 1847s Jan 08 12:49:16 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 1849s Jan 08 12:49:18 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 1850s Jan 08 12:49:19 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 1850s Jan 08 12:49:19 Then I receive a response code 412 # features/steps/patroni_api.py:98 1850s Jan 08 12:49:19 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 1850s Jan 08 12:49:19 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 1850s Jan 08 12:49:19 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 1850s Jan 08 12:49:19 Then I receive a response code 202 # features/steps/patroni_api.py:98 1850s Jan 08 12:49:19 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 1851s Jan 08 12:49:20 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 1852s Jan 08 12:49:21 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 1855s Jan 08 12:49:24 Then I receive a response code 200 # features/steps/patroni_api.py:98 1855s Jan 08 12:49:24 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1860s Jan 08 12:49:29 1860s Jan 08 12:49:29 Feature: recovery # features/recovery.feature:1 1860s Jan 08 12:49:29 We want to check that crashed postgres is started back 1860s Jan 08 12:49:29 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 1860s Jan 08 12:49:29 Given I start postgres0 # features/steps/basic_replication.py:8 1863s Jan 08 12:49:32 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1863s Jan 08 12:49:32 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1863s Jan 08 12:49:32 When I start postgres1 # features/steps/basic_replication.py:8 1866s Jan 08 12:49:35 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 1866s Jan 08 12:49:35 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1871s Jan 08 12:49:40 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1871s Jan 08 12:49:40 waiting for server to shut down.... done 1871s Jan 08 12:49:40 server stopped 1871s Jan 08 12:49:40 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1873s Jan 08 12:49:42 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1873s Jan 08 12:49:42 Then I receive a response code 200 # features/steps/patroni_api.py:98 1873s Jan 08 12:49:42 And I receive a response role master # features/steps/patroni_api.py:98 1873s Jan 08 12:49:42 And I receive a response timeline 1 # features/steps/patroni_api.py:98 1873s Jan 08 12:49:42 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 1874s Jan 08 12:49:43 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1876s Jan 08 12:49:45 1876s Jan 08 12:49:45 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 1876s Jan 08 12:49:45 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 1876s Jan 08 12:49:45 Then I receive a response code 200 # features/steps/patroni_api.py:98 1876s Jan 08 12:49:45 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 1876s Jan 08 12:49:45 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 1876s Jan 08 12:49:45 waiting for server to shut down.... done 1876s Jan 08 12:49:45 server stopped 1876s Jan 08 12:49:45 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1878s Jan 08 12:49:47 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1882s Jan 08 12:49:51 1882s Jan 08 12:49:51 Feature: standby cluster # features/standby_cluster.feature:1 1882s Jan 08 12:49:51 1882s Jan 08 12:49:51 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 1882s Jan 08 12:49:51 Given I start postgres1 # features/steps/basic_replication.py:8 1885s Jan 08 12:49:54 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 1885s Jan 08 12:49:54 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 1885s Jan 08 12:49:54 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"pm_1": {"type": "physical"}}, "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 1885s Jan 08 12:49:54 Then I receive a response code 200 # features/steps/patroni_api.py:98 1885s Jan 08 12:49:54 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 1885s Jan 08 12:49:54 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1888s Jan 08 12:49:57 When I issue a PATCH request to http://127.0.0.1:8009/config with {"slots": {"test_logical": {"type": "logical", "database": "postgres", "plugin": "test_decoding"}}} # features/steps/patroni_api.py:71 1888s Jan 08 12:49:57 Then I receive a response code 200 # features/steps/patroni_api.py:98 1888s Jan 08 12:49:57 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 1889s Jan 08 12:49:58 When I start postgres0 # features/steps/basic_replication.py:8 1892s Jan 08 12:50:01 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 1892s Jan 08 12:50:01 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 1893s Jan 08 12:50:02 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 1893s Jan 08 12:50:02 Then I receive a response code 200 # features/steps/patroni_api.py:98 1893s Jan 08 12:50:02 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1893s Jan 08 12:50:02 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 1893s Jan 08 12:50:02 1893s Jan 08 12:50:02 @slot-advance 1893s Jan 08 12:50:02 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 1893s Jan 08 12:50:02 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 1894s Jan 08 12:50:03 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 1901s Jan 08 12:50:10 1901s Jan 08 12:50:10 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 1901s Jan 08 12:50:10 When I shut down postgres1 # features/steps/basic_replication.py:29 1903s Jan 08 12:50:12 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1903s Jan 08 12:50:12 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 1904s Jan 08 12:50:13 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 1904s Jan 08 12:50:13 Then I receive a response code 200 # features/steps/patroni_api.py:98 1904s Jan 08 12:50:13 1904s Jan 08 12:50:13 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 1904s Jan 08 12:50:13 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 1906s Jan 08 12:50:15 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 1907s Jan 08 12:50:16 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 1907s Jan 08 12:50:16 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 1907s Jan 08 12:50:16 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 1908s Jan 08 12:50:17 Then I receive a response code 200 # features/steps/patroni_api.py:98 1908s Jan 08 12:50:17 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1908s Jan 08 12:50:17 And I sleep for 3 seconds # features/steps/patroni_api.py:39 1911s Jan 08 12:50:20 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1911s Jan 08 12:50:20 Then I receive a response code 503 # features/steps/patroni_api.py:98 1911s Jan 08 12:50:20 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 1911s Jan 08 12:50:20 Then I receive a response code 200 # features/steps/patroni_api.py:98 1911s Jan 08 12:50:20 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1911s Jan 08 12:50:20 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 1911s Jan 08 12:50:20 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 1913s Jan 08 12:50:22 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 1913s Jan 08 12:50:22 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 1914s Jan 08 12:50:23 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 1914s Jan 08 12:50:23 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 1914s Jan 08 12:50:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 1914s Jan 08 12:50:23 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 1914s Jan 08 12:50:23 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 1914s Jan 08 12:50:23 1914s Jan 08 12:50:23 Scenario: check switchover # features/standby_cluster.feature:57 1914s Jan 08 12:50:23 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 1917s Jan 08 12:50: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 1917s Jan 08 12:50:26 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 1919s Jan 08 12:50:28 And there is a postgres2_cb.log with "on_start replica batman1\non_role_change standby_leader batman1" in postgres2 data directory # features/steps/cascading_replication.py:12 1919s Jan 08 12:50:28 1919s Jan 08 12:50:28 Scenario: check failover # features/standby_cluster.feature:63 1919s Jan 08 12:50:28 When I kill postgres2 # features/steps/basic_replication.py:34 1920s Jan 08 12:50:29 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 1920s Jan 08 12:50:29 waiting for server to shut down.... done 1920s Jan 08 12:50:29 server stopped 1920s Jan 08 12:50:29 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 1940s Jan 08 12:50: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 1940s Jan 08 12:50:49 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 1940s Jan 08 12:50:49 Then I receive a response code 503 # features/steps/patroni_api.py:98 1940s Jan 08 12:50:49 And I receive a response role standby_leader # features/steps/patroni_api.py:98 1940s Jan 08 12:50:49 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 1941s Jan 08 12:50: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 1946s Jan 08 12:50:55 1946s Jan 08 12:50:55 Feature: watchdog # features/watchdog.feature:1 1946s Jan 08 12:50:55 Verify that watchdog gets pinged and triggered under appropriate circumstances. 1946s Jan 08 12:50:55 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 1946s Jan 08 12:50:55 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 1948s Jan 08 12:50:57 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 1948s Jan 08 12:50:57 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1948s Jan 08 12:50:57 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1949s Jan 08 12:50:58 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 1949s Jan 08 12:50:58 1949s Jan 08 12:50:58 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 1949s Jan 08 12:50:58 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 1950s Jan 08 12:50:59 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1950s Jan 08 12:50:59 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 1950s Jan 08 12:50:59 When I sleep for 4 seconds # features/steps/patroni_api.py:39 1954s Jan 08 12:51:03 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 1954s Jan 08 12:51:03 1954s Jan 08 12:51:03 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 1954s Jan 08 12:51:03 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 1955s Jan 08 12:51:04 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1955s Jan 08 12:51:04 When I sleep for 2 seconds # features/steps/patroni_api.py:39 1957s Jan 08 12:51:06 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1957s Jan 08 12:51:06 1957s Jan 08 12:51:06 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 1957s Jan 08 12:51:06 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1957s Jan 08 12:51:06 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 1958s Jan 08 12:51:07 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 1958s Jan 08 12:51:07 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 1958s Jan 08 12:51:07 1958s Jan 08 12:51:07 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 1958s Jan 08 12:51:07 Given I shut down postgres0 # features/steps/basic_replication.py:29 1960s Jan 08 12:51:09 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 1960s Jan 08 12:51:09 1960s Jan 08 12:51:09 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 1960s Jan 08 12:51:09 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 1960s Jan 08 12:51:09 And I start postgres0 with watchdog # features/steps/watchdog.py:16 1962s Jan 08 12:51:11 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 1963s Jan 08 12:51:12 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 1963s Jan 08 12:51:12 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 1987s Jan 08 12:51:36 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10042.XpBdRVyx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10106.XLasgUCx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10162.XnvFCPqx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10276.XBDuCLnx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10405.XIagbQNx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10594.XxjBZIKx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10642.XULqsckx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10649.XZoFgimx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10654.XVJrfoYx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.10670.Xyuyahax 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.6492.XSxBvDzx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.6541.XxpPcJex 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.6584.XhoScGYx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.6658.XLQwBaBx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.6706.XdktvNQx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.6780.XJDIXBIx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.6831.XjBmpdRx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.6836.XTJjlCux 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.6938.XaLhmTGx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7040.XBpKyyTx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7052.XTngZuPx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7097.XfEhHXYx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7159.XCOTqymx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7329.XIuVPoTx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7378.XKRhAPRx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7435.XjPfRvEx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7532.XPRZOJfx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7589.XCQdfHnx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7653.XlEoDQUx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7748.XwWpdbwx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7852.XmXbkccx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7893.XTNgOWvx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.7968.XLqfyaex 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8001.XmoDVoAx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8180.XblaXlvx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8231.XEQvJFVx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8251.XcISYgWx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8292.XsvxhXox 1988s Jan 08 12:51:37 Skipping duplicate data .coverage.autopkgtest.8344.XzbibNfx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8351.XBMBNXyx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8390.XNjPNNPx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8435.XupSfXgx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8608.XvQbSECx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8612.XUxajUkx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8620.XTZSoGfx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8781.XeYmBLZx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8829.XXbqIUlx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8879.XzHhzUvx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8934.XrnhGfix 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.8989.XpSmplAx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.9153.XvLexxXx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.9216.XQQlxNmx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.9261.XOLacXax 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.9349.XyowkJYx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.9414.XiLIvTNx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.9499.XhmafEjx 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.9839.XZdDIlax 1988s Jan 08 12:51:37 Combined data file .coverage.autopkgtest.9884.XvTpWkcx 1989s Jan 08 12:51:38 Name Stmts Miss Cover 1989s Jan 08 12:51:38 -------------------------------------------------------------------------------------------------------- 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/__init__.py 1 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/client.py 629 266 58% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/exceptions.py 110 1 99% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/handlers/__init__.py 0 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/handlers/threading.py 94 15 84% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/handlers/utils.py 222 74 67% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/hosts.py 18 4 78% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/loggingsupport.py 1 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/protocol/__init__.py 0 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/protocol/connection.py 485 176 64% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/protocol/paths.py 33 8 76% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/protocol/serialization.py 316 111 65% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/protocol/states.py 49 9 82% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/python2atexit.py 32 19 41% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/__init__.py 0 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/barrier.py 97 80 18% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/counter.py 49 36 27% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/election.py 16 10 38% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/lease.py 54 36 33% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/lock.py 295 242 18% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/partitioner.py 155 120 23% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/party.py 62 43 31% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/queue.py 157 126 20% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/recipe/watchers.py 172 138 20% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/retry.py 60 9 85% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/security.py 58 35 40% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/kazoo/version.py 1 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/__main__.py 199 63 68% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/api.py 780 292 63% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/config.py 371 92 75% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 92 86% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/dcs/zookeeper.py 289 70 76% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/ha.py 1270 390 69% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 173 79% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 217 74% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 166 60% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 41 88% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/request.py 58 7 88% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/utils.py 370 122 67% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 46 77% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/puresasl/__init__.py 21 2 90% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/puresasl/client.py 71 47 34% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/puresasl/mechanisms.py 363 263 28% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/six.py 506 259 49% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 128 45% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 23 57% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/connection.py 324 110 66% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/response.py 562 334 41% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 52 50% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 52 70% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/timeout.py + echo '### End 16 acceptance-zookeeper -e dcs_failsafe_mode ###' 1989s + rm -f '/tmp/pgpass?' 1989s ++ id -u 1989s + '[' 0 -eq 0 ']' 1989s + '[' -x /etc/init.d/zookeeper ']' 1989s + /etc/init.d/zookeeper stop 1989s 71 19 73% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 18 31% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 1989s Jan 08 12:51:38 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 1989s Jan 08 12:51:38 patroni/__init__.py 13 2 85% 1989s Jan 08 12:51:38 patroni/__main__.py 199 199 0% 1989s Jan 08 12:51:38 patroni/api.py 780 780 0% 1989s Jan 08 12:51:38 patroni/async_executor.py 96 69 28% 1989s Jan 08 12:51:38 patroni/collections.py 56 15 73% 1989s Jan 08 12:51:38 patroni/config.py 371 194 48% 1989s Jan 08 12:51:38 patroni/config_generator.py 212 212 0% 1989s Jan 08 12:51:38 patroni/ctl.py 936 411 56% 1989s Jan 08 12:51:38 patroni/daemon.py 76 76 0% 1989s Jan 08 12:51:38 patroni/dcs/__init__.py 654 276 58% 1989s Jan 08 12:51:38 patroni/dcs/consul.py 484 484 0% 1989s Jan 08 12:51:38 patroni/dcs/etcd3.py 679 679 0% 1989s Jan 08 12:51:38 patroni/dcs/etcd.py 603 603 0% 1989s Jan 08 12:51:38 patroni/dcs/exhibitor.py 62 62 0% 1989s Jan 08 12:51:38 patroni/dcs/kubernetes.py 940 940 0% 1989s Jan 08 12:51:38 patroni/dcs/raft.py 319 319 0% 1989s Jan 08 12:51:38 patroni/dcs/zookeeper.py 289 153 47% 1989s Jan 08 12:51:38 patroni/dynamic_loader.py 35 7 80% 1989s Jan 08 12:51:38 patroni/exceptions.py 16 1 94% 1989s Jan 08 12:51:38 patroni/file_perm.py 43 15 65% 1989s Jan 08 12:51:38 patroni/global_config.py 81 18 78% 1989s Jan 08 12:51:38 patroni/ha.py 1270 1270 0% 1989s Jan 08 12:51:38 patroni/log.py 221 175 21% 1989s Jan 08 12:51:38 patroni/postgresql/__init__.py 822 652 21% 1989s Jan 08 12:51:38 patroni/postgresql/available_parameters/__init__.py 24 6 75% 1989s Jan 08 12:51:38 patroni/postgresql/bootstrap.py 255 225 12% 1989s Jan 08 12:51:38 patroni/postgresql/callback_executor.py 55 34 38% 1989s Jan 08 12:51:38 patroni/postgresql/cancellable.py 104 84 19% 1989s Jan 08 12:51:38 patroni/postgresql/config.py 838 718 14% 1989s Jan 08 12:51:38 patroni/postgresql/connection.py 75 50 33% 1989s Jan 08 12:51:38 patroni/postgresql/misc.py 43 30 30% 1989s Jan 08 12:51:38 patroni/postgresql/mpp/__init__.py 89 21 76% 1989s Jan 08 12:51:38 patroni/postgresql/mpp/citus.py 259 259 0% 1989s Jan 08 12:51:38 patroni/postgresql/postmaster.py 170 139 18% 1989s Jan 08 12:51:38 patroni/postgresql/rewind.py 416 416 0% 1989s Jan 08 12:51:38 patroni/postgresql/slots.py 349 300 14% 1989s Jan 08 12:51:38 patroni/postgresql/sync.py 130 96 26% 1989s Jan 08 12:51:38 patroni/postgresql/validator.py 157 52 67% 1989s Jan 08 12:51:38 patroni/psycopg.py 46 32 30% 1989s Jan 08 12:51:38 patroni/raft_controller.py 22 22 0% 1989s Jan 08 12:51:38 patroni/request.py 58 6 90% 1989s Jan 08 12:51:38 patroni/scripts/__init__.py 0 0 100% 1989s Jan 08 12:51:38 patroni/scripts/aws.py 59 59 0% 1989s Jan 08 12:51:38 patroni/scripts/barman/__init__.py 0 0 100% 1989s Jan 08 12:51:38 patroni/scripts/barman/cli.py 51 51 0% 1989s Jan 08 12:51:38 patroni/scripts/barman/config_switch.py 51 51 0% 1989s Jan 08 12:51:38 patroni/scripts/barman/recover.py 37 37 0% 1989s Jan 08 12:51:38 patroni/scripts/barman/utils.py 94 94 0% 1989s Jan 08 12:51:38 patroni/scripts/wale_restore.py 207 207 0% 1989s Jan 08 12:51:38 patroni/tags.py 38 11 71% 1989s Jan 08 12:51:38 patroni/utils.py 370 246 34% 1989s Jan 08 12:51:38 patroni/validator.py 307 221 28% 1989s Jan 08 12:51:38 patroni/version.py 1 0 100% 1989s Jan 08 12:51:38 patroni/watchdog/__init__.py 2 2 0% 1989s Jan 08 12:51:38 patroni/watchdog/base.py 203 203 0% 1989s Jan 08 12:51:38 patroni/watchdog/linux.py 135 135 0% 1989s Jan 08 12:51:38 -------------------------------------------------------------------------------------------------------- 1989s Jan 08 12:51:38 TOTAL 40053 24038 40% 1989s Jan 08 12:51:38 11 features passed, 0 failed, 1 skipped 1989s Jan 08 12:51:38 44 scenarios passed, 0 failed, 5 skipped 1989s Jan 08 12:51:38 445 steps passed, 0 failed, 61 skipped, 0 undefined 1989s Jan 08 12:51:38 Took 6m53.859s 1989s ### End 16 acceptance-zookeeper -e dcs_failsafe_mode ### 1990s Stopping zookeeper (via systemctl): zookeeper.service. 1990s autopkgtest [12:51:39]: test acceptance-zookeeper: -----------------------] 1991s autopkgtest [12:51:40]: test acceptance-zookeeper: - - - - - - - - - - results - - - - - - - - - - 1991s acceptance-zookeeper PASS 1991s autopkgtest [12:51:40]: test acceptance-raft: preparing testbed 2065s autopkgtest [12:52:54]: testbed dpkg architecture: s390x 2065s autopkgtest [12:52:54]: testbed apt version: 2.9.18 2065s autopkgtest [12:52:54]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2065s autopkgtest [12:52:54]: testbed release detected to be: plucky 2066s autopkgtest [12:52:55]: updating testbed package index (apt update) 2066s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2067s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2067s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2067s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2067s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [129 kB] 2067s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.3 kB] 2067s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [817 kB] 2067s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 2067s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [235 kB] 2067s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [756 B] 2067s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [914 kB] 2067s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [5576 B] 2067s Fetched 2201 kB in 1s (2377 kB/s) 2068s Reading package lists... 2068s Reading package lists... 2068s Building dependency tree... 2068s Reading state information... 2069s Calculating upgrade... 2069s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2069s Reading package lists... 2069s Building dependency tree... 2069s Reading state information... 2069s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2069s autopkgtest [12:52:58]: upgrading testbed (apt dist-upgrade and autopurge) 2069s Reading package lists... 2069s Building dependency tree... 2069s Reading state information... 2069s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 2069s Starting 2 pkgProblemResolver with broken count: 0 2069s Done 2070s Entering ResolveByKeep 2070s 2070s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2070s Reading package lists... 2070s Building dependency tree... 2070s Reading state information... 2070s Starting pkgProblemResolver with broken count: 0 2070s Starting 2 pkgProblemResolver with broken count: 0 2070s Done 2070s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2073s Reading package lists... 2073s Building dependency tree... 2073s Reading state information... 2073s Starting pkgProblemResolver with broken count: 0 2073s Starting 2 pkgProblemResolver with broken count: 0 2073s Done 2073s The following NEW packages will be installed: 2073s fonts-font-awesome fonts-lato libio-pty-perl libipc-run-perl libjs-jquery 2073s libjs-sphinxdoc libjs-underscore libjson-perl libpq5 libpython3.13-minimal 2073s libpython3.13-stdlib libtime-duration-perl libtimedate-perl libxslt1.1 2073s moreutils patroni patroni-doc postgresql postgresql-16 postgresql-client-16 2073s postgresql-client-common postgresql-common python3-behave python3-cdiff 2073s python3-click python3-colorama python3-coverage python3-dateutil 2073s python3-parse python3-parse-type python3-prettytable python3-psutil 2073s python3-psycopg2 python3-pysyncobj python3-six python3-wcwidth python3-ydiff 2073s python3.13 python3.13-minimal sphinx-rtd-theme-common ssl-cert 2073s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 2073s Need to get 31.0 MB of archives. 2073s After this operation, 106 MB of additional disk space will be used. 2073s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-lato all 2.015-1 [2781 kB] 2074s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libjson-perl all 4.10000-1 [81.9 kB] 2074s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-common all 262 [36.7 kB] 2074s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x ssl-cert all 1.1.3ubuntu1 [18.7 kB] 2074s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-common all 262 [162 kB] 2074s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-minimal s390x 3.13.1-2 [880 kB] 2074s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-minimal s390x 3.13.1-2 [2364 kB] 2074s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2074s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libio-pty-perl s390x 1:1.20-1build3 [31.6 kB] 2074s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libipc-run-perl all 20231003.0-2 [91.5 kB] 2074s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2074s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2074s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 2074s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x libpq5 s390x 17.2-1 [146 kB] 2074s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-stdlib s390x 3.13.1-2 [2074 kB] 2074s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x libtime-duration-perl all 1.21-2 [12.3 kB] 2074s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libtimedate-perl all 2.3300-2 [34.0 kB] 2074s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x libxslt1.1 s390x 1.1.39-0exp1ubuntu2 [169 kB] 2074s Get:19 http://ftpmaster.internal/ubuntu plucky/universe s390x moreutils s390x 0.69-1 [57.4 kB] 2074s Get:20 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ydiff all 1.4.2-1 [19.0 kB] 2074s Get:21 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-cdiff all 1.4.2-1 [1778 B] 2074s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x python3-colorama all 0.4.6-4 [32.1 kB] 2074s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x python3-click all 8.1.7-2 [79.5 kB] 2074s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-3 [80.2 kB] 2074s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2074s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x python3-prettytable all 3.12.0-1 [36.5 kB] 2074s Get:27 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psutil s390x 5.9.8-2build3 [195 kB] 2074s Get:28 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psycopg2 s390x 2.9.10-1 [147 kB] 2074s Get:29 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pysyncobj all 0.3.12-1 [38.9 kB] 2075s Get:30 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni all 3.3.4-1 [269 kB] 2075s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 2075s Get:32 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni-doc all 3.3.4-1 [508 kB] 2075s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-client-16 s390x 16.4-3 [1294 kB] 2075s Get:34 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql-16 s390x 16.4-3 [16.3 MB] 2076s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x postgresql all 16+262 [11.8 kB] 2076s Get:36 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-parse all 1.20.2-1 [27.0 kB] 2076s Get:37 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.17.0-1 [13.2 kB] 2076s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-parse-type all 0.6.4-1 [23.4 kB] 2076s Get:39 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-behave all 1.2.6-6 [98.6 kB] 2076s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13 s390x 3.13.1-2 [729 kB] 2076s Get:41 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-coverage s390x 7.4.4+dfsg1-0ubuntu3 [150 kB] 2076s Preconfiguring packages ... 2076s Fetched 31.0 MB in 2s (13.7 MB/s) 2076s Selecting previously unselected package fonts-lato. 2076s (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 ... 55616 files and directories currently installed.) 2076s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2076s Unpacking fonts-lato (2.015-1) ... 2076s Selecting previously unselected package libjson-perl. 2076s Preparing to unpack .../01-libjson-perl_4.10000-1_all.deb ... 2076s Unpacking libjson-perl (4.10000-1) ... 2076s Selecting previously unselected package postgresql-client-common. 2076s Preparing to unpack .../02-postgresql-client-common_262_all.deb ... 2076s Unpacking postgresql-client-common (262) ... 2076s Selecting previously unselected package ssl-cert. 2076s Preparing to unpack .../03-ssl-cert_1.1.3ubuntu1_all.deb ... 2076s Unpacking ssl-cert (1.1.3ubuntu1) ... 2076s Selecting previously unselected package postgresql-common. 2076s Preparing to unpack .../04-postgresql-common_262_all.deb ... 2076s Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' 2076s Unpacking postgresql-common (262) ... 2076s Selecting previously unselected package libpython3.13-minimal:s390x. 2076s Preparing to unpack .../05-libpython3.13-minimal_3.13.1-2_s390x.deb ... 2076s Unpacking libpython3.13-minimal:s390x (3.13.1-2) ... 2076s Selecting previously unselected package python3.13-minimal. 2076s Preparing to unpack .../06-python3.13-minimal_3.13.1-2_s390x.deb ... 2076s Unpacking python3.13-minimal (3.13.1-2) ... 2076s Selecting previously unselected package fonts-font-awesome. 2076s Preparing to unpack .../07-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2076s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2076s Selecting previously unselected package libio-pty-perl. 2076s Preparing to unpack .../08-libio-pty-perl_1%3a1.20-1build3_s390x.deb ... 2076s Unpacking libio-pty-perl (1:1.20-1build3) ... 2076s Selecting previously unselected package libipc-run-perl. 2076s Preparing to unpack .../09-libipc-run-perl_20231003.0-2_all.deb ... 2076s Unpacking libipc-run-perl (20231003.0-2) ... 2076s Selecting previously unselected package libjs-jquery. 2076s Preparing to unpack .../10-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2076s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2076s Selecting previously unselected package libjs-underscore. 2076s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2076s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2076s Selecting previously unselected package libjs-sphinxdoc. 2076s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-4_all.deb ... 2076s Unpacking libjs-sphinxdoc (8.1.3-4) ... 2076s Selecting previously unselected package libpq5:s390x. 2076s Preparing to unpack .../13-libpq5_17.2-1_s390x.deb ... 2076s Unpacking libpq5:s390x (17.2-1) ... 2076s Selecting previously unselected package libpython3.13-stdlib:s390x. 2076s Preparing to unpack .../14-libpython3.13-stdlib_3.13.1-2_s390x.deb ... 2076s Unpacking libpython3.13-stdlib:s390x (3.13.1-2) ... 2077s Selecting previously unselected package libtime-duration-perl. 2077s Preparing to unpack .../15-libtime-duration-perl_1.21-2_all.deb ... 2077s Unpacking libtime-duration-perl (1.21-2) ... 2077s Selecting previously unselected package libtimedate-perl. 2077s Preparing to unpack .../16-libtimedate-perl_2.3300-2_all.deb ... 2077s Unpacking libtimedate-perl (2.3300-2) ... 2077s Selecting previously unselected package libxslt1.1:s390x. 2077s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_s390x.deb ... 2077s Unpacking libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ... 2077s Selecting previously unselected package moreutils. 2077s Preparing to unpack .../18-moreutils_0.69-1_s390x.deb ... 2077s Unpacking moreutils (0.69-1) ... 2077s Selecting previously unselected package python3-ydiff. 2077s Preparing to unpack .../19-python3-ydiff_1.4.2-1_all.deb ... 2077s Unpacking python3-ydiff (1.4.2-1) ... 2077s Selecting previously unselected package python3-cdiff. 2077s Preparing to unpack .../20-python3-cdiff_1.4.2-1_all.deb ... 2077s Unpacking python3-cdiff (1.4.2-1) ... 2077s Selecting previously unselected package python3-colorama. 2077s Preparing to unpack .../21-python3-colorama_0.4.6-4_all.deb ... 2077s Unpacking python3-colorama (0.4.6-4) ... 2077s Selecting previously unselected package python3-click. 2077s Preparing to unpack .../22-python3-click_8.1.7-2_all.deb ... 2077s Unpacking python3-click (8.1.7-2) ... 2077s Selecting previously unselected package python3-dateutil. 2077s Preparing to unpack .../23-python3-dateutil_2.9.0-3_all.deb ... 2077s Unpacking python3-dateutil (2.9.0-3) ... 2077s Selecting previously unselected package python3-wcwidth. 2077s Preparing to unpack .../24-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2077s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2077s Selecting previously unselected package python3-prettytable. 2077s Preparing to unpack .../25-python3-prettytable_3.12.0-1_all.deb ... 2077s Unpacking python3-prettytable (3.12.0-1) ... 2077s Selecting previously unselected package python3-psutil. 2077s Preparing to unpack .../26-python3-psutil_5.9.8-2build3_s390x.deb ... 2077s Unpacking python3-psutil (5.9.8-2build3) ... 2077s Selecting previously unselected package python3-psycopg2. 2077s Preparing to unpack .../27-python3-psycopg2_2.9.10-1_s390x.deb ... 2077s Unpacking python3-psycopg2 (2.9.10-1) ... 2077s Selecting previously unselected package python3-pysyncobj. 2077s Preparing to unpack .../28-python3-pysyncobj_0.3.12-1_all.deb ... 2077s Unpacking python3-pysyncobj (0.3.12-1) ... 2077s Selecting previously unselected package patroni. 2077s Preparing to unpack .../29-patroni_3.3.4-1_all.deb ... 2077s Unpacking patroni (3.3.4-1) ... 2077s Selecting previously unselected package sphinx-rtd-theme-common. 2077s Preparing to unpack .../30-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 2077s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2077s Selecting previously unselected package patroni-doc. 2077s Preparing to unpack .../31-patroni-doc_3.3.4-1_all.deb ... 2077s Unpacking patroni-doc (3.3.4-1) ... 2077s Selecting previously unselected package postgresql-client-16. 2077s Preparing to unpack .../32-postgresql-client-16_16.4-3_s390x.deb ... 2077s Unpacking postgresql-client-16 (16.4-3) ... 2077s Selecting previously unselected package postgresql-16. 2077s Preparing to unpack .../33-postgresql-16_16.4-3_s390x.deb ... 2077s Unpacking postgresql-16 (16.4-3) ... 2077s Selecting previously unselected package postgresql. 2077s Preparing to unpack .../34-postgresql_16+262_all.deb ... 2077s Unpacking postgresql (16+262) ... 2077s Selecting previously unselected package python3-parse. 2077s Preparing to unpack .../35-python3-parse_1.20.2-1_all.deb ... 2077s Unpacking python3-parse (1.20.2-1) ... 2077s Selecting previously unselected package python3-six. 2077s Preparing to unpack .../36-python3-six_1.17.0-1_all.deb ... 2077s Unpacking python3-six (1.17.0-1) ... 2077s Selecting previously unselected package python3-parse-type. 2077s Preparing to unpack .../37-python3-parse-type_0.6.4-1_all.deb ... 2077s Unpacking python3-parse-type (0.6.4-1) ... 2077s Selecting previously unselected package python3-behave. 2077s Preparing to unpack .../38-python3-behave_1.2.6-6_all.deb ... 2077s Unpacking python3-behave (1.2.6-6) ... 2077s Selecting previously unselected package python3.13. 2077s Preparing to unpack .../39-python3.13_3.13.1-2_s390x.deb ... 2077s Unpacking python3.13 (3.13.1-2) ... 2077s Selecting previously unselected package python3-coverage. 2077s Preparing to unpack .../40-python3-coverage_7.4.4+dfsg1-0ubuntu3_s390x.deb ... 2077s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2077s Setting up postgresql-client-common (262) ... 2077s Setting up fonts-lato (2.015-1) ... 2077s Setting up libio-pty-perl (1:1.20-1build3) ... 2077s Setting up python3-pysyncobj (0.3.12-1) ... 2077s Setting up python3-colorama (0.4.6-4) ... 2077s Setting up python3-ydiff (1.4.2-1) ... 2078s Setting up libpq5:s390x (17.2-1) ... 2078s Setting up python3-click (8.1.7-2) ... 2078s Setting up python3-psutil (5.9.8-2build3) ... 2078s Setting up python3-six (1.17.0-1) ... 2078s Setting up libpython3.13-minimal:s390x (3.13.1-2) ... 2078s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2079s Setting up ssl-cert (1.1.3ubuntu1) ... 2079s Created symlink '/etc/systemd/system/multi-user.target.wants/ssl-cert.service' → '/usr/lib/systemd/system/ssl-cert.service'. 2079s Setting up python3-psycopg2 (2.9.10-1) ... 2079s Setting up libipc-run-perl (20231003.0-2) ... 2079s Setting up libtime-duration-perl (1.21-2) ... 2079s Setting up libtimedate-perl (2.3300-2) ... 2079s Setting up python3-parse (1.20.2-1) ... 2079s Setting up libjson-perl (4.10000-1) ... 2079s Setting up libxslt1.1:s390x (1.1.39-0exp1ubuntu2) ... 2079s Setting up python3.13-minimal (3.13.1-2) ... 2080s Setting up python3-dateutil (2.9.0-3) ... 2080s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2080s Setting up python3-prettytable (3.12.0-1) ... 2080s Setting up libpython3.13-stdlib:s390x (3.13.1-2) ... 2080s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2080s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2080s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2080s Setting up moreutils (0.69-1) ... 2080s Setting up python3.13 (3.13.1-2) ... 2081s Setting up postgresql-client-16 (16.4-3) ... 2081s 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 2081s Setting up python3-cdiff (1.4.2-1) ... 2081s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2081s Setting up python3-parse-type (0.6.4-1) ... 2082s Setting up postgresql-common (262) ... 2082s Creating config file /etc/postgresql-common/createcluster.conf with new version 2082s Building PostgreSQL dictionaries from installed myspell/hunspell packages... 2082s Removing obsolete dictionary files: 2082s Created symlink '/etc/systemd/system/multi-user.target.wants/postgresql.service' → '/usr/lib/systemd/system/postgresql.service'. 2082s Setting up libjs-sphinxdoc (8.1.3-4) ... 2082s Setting up python3-behave (1.2.6-6) ... 2083s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2083s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2083s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2083s """Registers a custom type that will be available to "parse" 2083s /usr/lib/python3/dist-packages/behave/formatter/ansi_escapes.py:57: SyntaxWarning: invalid escape sequence '\[' 2083s _ANSI_ESCAPE_PATTERN = re.compile(u"\x1b\[\d+[mA]", re.UNICODE) 2083s /usr/lib/python3/dist-packages/behave/matchers.py:267: SyntaxWarning: invalid escape sequence '\d' 2083s """Registers a custom type that will be available to "parse" 2083s Setting up patroni (3.3.4-1) ... 2083s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2083s Setting up postgresql-16 (16.4-3) ... 2084s Creating new PostgreSQL cluster 16/main ... 2084s /usr/lib/postgresql/16/bin/initdb -D /var/lib/postgresql/16/main --auth-local peer --auth-host scram-sha-256 --no-instructions 2084s The files belonging to this database system will be owned by user "postgres". 2084s This user must also own the server process. 2084s 2084s The database cluster will be initialized with locale "C.UTF-8". 2084s The default database encoding has accordingly been set to "UTF8". 2084s The default text search configuration will be set to "english". 2084s 2084s Data page checksums are disabled. 2084s 2084s fixing permissions on existing directory /var/lib/postgresql/16/main ... ok 2084s creating subdirectories ... ok 2084s selecting dynamic shared memory implementation ... posix 2084s selecting default max_connections ... 100 2084s selecting default shared_buffers ... 128MB 2084s selecting default time zone ... Etc/UTC 2084s creating configuration files ... ok 2084s running bootstrap script ... ok 2084s performing post-bootstrap initialization ... ok 2084s syncing data to disk ... ok 2087s Setting up patroni-doc (3.3.4-1) ... 2087s Setting up postgresql (16+262) ... 2087s Processing triggers for systemd (257-2ubuntu1) ... 2087s Processing triggers for man-db (2.13.0-1) ... 2088s Processing triggers for libc-bin (2.40-4ubuntu1) ... 2090s autopkgtest [12:53:19]: test acceptance-raft: debian/tests/acceptance raft 2090s autopkgtest [12:53:19]: test acceptance-raft: [----------------------- 2090s dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation) 2090s ++ ls -1r /usr/lib/postgresql/ 2090s + for PG_VERSION in $(ls -1r /usr/lib/postgresql/) 2090s + '[' 16 == 10 -o 16 == 11 ']' 2090s + echo '### PostgreSQL 16 acceptance-raft ###' 2090s ### PostgreSQL 16 acceptance-raft ### 2090s + bash -c 'set -o pipefail; ETCD_UNSUPPORTED_ARCH=s390x 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' 2096s Jan 08 12:53:25 Feature: basic replication # features/basic_replication.feature:1 2096s Jan 08 12:53:25 We should check that the basic bootstrapping, replication and failover works. 2096s Jan 08 12:53:25 Scenario: check replication of a single table # features/basic_replication.feature:4 2096s Jan 08 12:53:25 Given I start postgres0 # features/steps/basic_replication.py:8 2099s Jan 08 12:53:28 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2099s Jan 08 12:53:28 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2099s Jan 08 12:53:28 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 2099s Jan 08 12:53:28 Then I receive a response code 200 # features/steps/patroni_api.py:98 2099s Jan 08 12:53:28 When I start postgres1 # features/steps/basic_replication.py:8 2107s Jan 08 12:53:36 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2116s Jan 08 12:53:45 And "sync" key in DCS has leader=postgres0 after 20 seconds # features/steps/cascading_replication.py:23 2116s Jan 08 12:53:45 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2116s Jan 08 12:53:45 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2117s Jan 08 12:53:46 Then table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2117s Jan 08 12:53:46 2117s Jan 08 12:53:46 Scenario: check restart of sync replica # features/basic_replication.feature:17 2117s Jan 08 12:53:46 Given I shut down postgres2 # features/steps/basic_replication.py:29 2118s Jan 08 12:53:47 Then "sync" key in DCS has sync_standby=postgres1 after 5 seconds # features/steps/cascading_replication.py:23 2118s Jan 08 12:53:47 When I start postgres2 # features/steps/basic_replication.py:8 2120s Jan 08 12:53:49 And I shut down postgres1 # features/steps/basic_replication.py:29 2123s Jan 08 12:53:52 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2124s Jan 08 12:53:53 When I start postgres1 # features/steps/basic_replication.py:8 2126s Jan 08 12:53:55 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2127s Jan 08 12:53:56 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2127s Jan 08 12:53:56 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2127s Jan 08 12:53:56 2127s Jan 08 12:53:56 Scenario: check stuck sync replica # features/basic_replication.feature:28 2127s Jan 08 12:53:56 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 2127s Jan 08 12:53:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2127s Jan 08 12:53:56 And I create table on postgres0 # features/steps/basic_replication.py:73 2127s Jan 08 12:53:56 And table mytest is present on postgres1 after 2 seconds # features/steps/basic_replication.py:93 2128s Jan 08 12:53:57 And table mytest is present on postgres2 after 2 seconds # features/steps/basic_replication.py:93 2128s Jan 08 12:53:57 When I pause wal replay on postgres2 # features/steps/basic_replication.py:64 2128s Jan 08 12:53:57 And I load data on postgres0 # features/steps/basic_replication.py:84 2129s Jan 08 12:53:58 Then "sync" key in DCS has sync_standby=postgres1 after 15 seconds # features/steps/cascading_replication.py:23 2132s Jan 08 12:54:01 And I resume wal replay on postgres2 # features/steps/basic_replication.py:64 2132s Jan 08 12:54:01 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2132s Jan 08 12:54:01 And Status code on GET http://127.0.0.1:8010/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2132s Jan 08 12:54:01 When I issue a PATCH request to http://127.0.0.1:8008/config with {"pause": null, "maximum_lag_on_syncnode": -1, "postgresql": {"parameters": {"synchronous_commit": "on"}}} # features/steps/patroni_api.py:71 2132s Jan 08 12:54:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2132s Jan 08 12:54:01 And I drop table on postgres0 # features/steps/basic_replication.py:73 2132s Jan 08 12:54:01 2132s Jan 08 12:54:01 Scenario: check multi sync replication # features/basic_replication.feature:44 2132s Jan 08 12:54:01 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 2} # features/steps/patroni_api.py:71 2132s Jan 08 12:54:01 Then I receive a response code 200 # features/steps/patroni_api.py:98 2132s Jan 08 12:54:01 Then "sync" key in DCS has sync_standby=postgres1,postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2136s Jan 08 12:54:05 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2136s Jan 08 12:54:05 And Status code on GET http://127.0.0.1:8009/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2136s Jan 08 12:54:05 When I issue a PATCH request to http://127.0.0.1:8008/config with {"synchronous_node_count": 1} # features/steps/patroni_api.py:71 2136s Jan 08 12:54:05 Then I receive a response code 200 # features/steps/patroni_api.py:98 2136s Jan 08 12:54:05 And I shut down postgres1 # features/steps/basic_replication.py:29 2139s Jan 08 12:54:08 Then "sync" key in DCS has sync_standby=postgres2 after 10 seconds # features/steps/cascading_replication.py:23 2140s Jan 08 12:54:09 When I start postgres1 # features/steps/basic_replication.py:8 2143s Jan 08 12:54:12 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2143s Jan 08 12:54:12 And Status code on GET http://127.0.0.1:8010/sync is 200 after 3 seconds # features/steps/patroni_api.py:142 2143s Jan 08 12:54:12 And Status code on GET http://127.0.0.1:8009/async is 200 after 3 seconds # features/steps/patroni_api.py:142 2143s Jan 08 12:54:12 2143s Jan 08 12:54:12 Scenario: check the basic failover in synchronous mode # features/basic_replication.feature:59 2143s Jan 08 12:54:12 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2145s Jan 08 12:54:14 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2145s Jan 08 12:54:14 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2147s Jan 08 12:54:16 And I shut down postgres0 # features/steps/basic_replication.py:29 2148s Jan 08 12:54:17 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2149s Jan 08 12:54:18 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2149s Jan 08 12:54:18 And postgres2 role is the primary after 24 seconds # features/steps/basic_replication.py:105 2168s Jan 08 12:54:37 And Response on GET http://127.0.0.1:8010/history contains recovery after 10 seconds # features/steps/patroni_api.py:156 2171s Jan 08 12:54:39 And there is a postgres2_cb.log with "on_role_change master batman" in postgres2 data directory # features/steps/cascading_replication.py:12 2171s Jan 08 12:54:39 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 2171s Jan 08 12:54:39 Then I receive a response code 200 # features/steps/patroni_api.py:98 2171s Jan 08 12:54:39 When I add the table bar to postgres2 # features/steps/basic_replication.py:54 2171s Jan 08 12:54:39 Then table bar is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2173s Jan 08 12:54:41 And Response on GET http://127.0.0.1:8010/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2173s Jan 08 12:54:42 2173s Jan 08 12:54:42 Scenario: check rejoin of the former primary with pg_rewind # features/basic_replication.feature:75 2173s Jan 08 12:54:42 Given I add the table splitbrain to postgres0 # features/steps/basic_replication.py:54 2173s Jan 08 12:54:42 And I start postgres0 # features/steps/basic_replication.py:8 2173s Jan 08 12:54:42 Then postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2179s Jan 08 12:54:48 When I add the table buz to postgres2 # features/steps/basic_replication.py:54 2179s Jan 08 12:54:48 Then table buz is present on postgres0 after 20 seconds # features/steps/basic_replication.py:93 2179s SKIP Scenario check graceful rejection when two nodes have the same name: Flaky test with Raft 2195s Jan 08 12:55:04 2195s Jan 08 12:55:04 @reject-duplicate-name 2195s Jan 08 12:55:04 Scenario: check graceful rejection when two nodes have the same name # features/basic_replication.feature:83 2195s Jan 08 12:55:04 Given I start duplicate postgres0 on port 8011 # None 2195s Jan 08 12:55:04 Then there is one of ["Can't start; there is already a node named 'postgres0' running"] CRITICAL in the dup-postgres0 patroni log after 5 seconds # None 2195s Jan 08 12:55:04 2195s Jan 08 12:55:04 Feature: cascading replication # features/cascading_replication.feature:1 2195s Jan 08 12:55:04 We should check that patroni can do base backup and streaming from the replica 2195s Jan 08 12:55:04 Scenario: check a base backup and streaming replication from a replica # features/cascading_replication.feature:4 2195s Jan 08 12:55:04 Given I start postgres0 # features/steps/basic_replication.py:8 2204s Jan 08 12:55:13 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2204s Jan 08 12:55:13 And I configure and start postgres1 with a tag clonefrom true # features/steps/cascading_replication.py:7 2207s Jan 08 12:55:16 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2212s Jan 08 12:55:21 And I create label with "postgres0" in postgres0 data directory # features/steps/cascading_replication.py:18 2212s Jan 08 12:55:21 And I create label with "postgres1" in postgres1 data directory # features/steps/cascading_replication.py:18 2212s Jan 08 12:55:21 And "members/postgres1" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2212s Jan 08 12:55:21 And I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2220s Jan 08 12:55:29 Then replication works from postgres0 to postgres2 after 30 seconds # features/steps/basic_replication.py:112 2221s Jan 08 12:55:30 And there is a label with "postgres1" in postgres2 data directory # features/steps/cascading_replication.py:12 2237s Jan 08 12:55:46 2237s SKIP FEATURE citus: Citus extenstion isn't available 2237s SKIP Scenario check that worker cluster is registered in the coordinator: Citus extenstion isn't available 2237s SKIP Scenario coordinator failover updates pg_dist_node: Citus extenstion isn't available 2237s SKIP Scenario worker switchover doesn't break client queries on the coordinator: Citus extenstion isn't available 2237s SKIP Scenario worker primary restart doesn't break client queries on the coordinator: Citus extenstion isn't available 2237s 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 2237s Jan 08 12:55:46 Feature: citus # features/citus.feature:1 2237s Jan 08 12:55:46 We should check that coordinator discovers and registers workers and clients don't have errors when worker cluster switches over 2237s Jan 08 12:55:46 Scenario: check that worker cluster is registered in the coordinator # features/citus.feature:4 2237s Jan 08 12:55:46 Given I start postgres0 in citus group 0 # None 2237s Jan 08 12:55:46 And I start postgres2 in citus group 1 # None 2237s Jan 08 12:55:46 Then postgres0 is a leader in a group 0 after 10 seconds # None 2237s Jan 08 12:55:46 And postgres2 is a leader in a group 1 after 10 seconds # None 2237s Jan 08 12:55:46 When I start postgres1 in citus group 0 # None 2237s Jan 08 12:55:46 And I start postgres3 in citus group 1 # None 2237s Jan 08 12:55:46 Then replication works from postgres0 to postgres1 after 15 seconds # None 2237s Jan 08 12:55:46 Then replication works from postgres2 to postgres3 after 15 seconds # None 2237s Jan 08 12:55:46 And postgres0 is registered in the postgres0 as the primary in group 0 after 5 seconds # None 2237s Jan 08 12:55:46 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2237s Jan 08 12:55:46 2237s Jan 08 12:55:46 Scenario: coordinator failover updates pg_dist_node # features/citus.feature:16 2237s Jan 08 12:55:46 Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force # None 2237s Jan 08 12:55:46 Then postgres1 role is the primary after 10 seconds # None 2237s Jan 08 12:55:46 And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds # None 2237s Jan 08 12:55:46 And replication works from postgres1 to postgres0 after 15 seconds # None 2237s Jan 08 12:55:46 And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2237s Jan 08 12:55:46 And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds # None 2237s Jan 08 12:55:46 When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force # None 2237s Jan 08 12:55:46 Then postgres0 role is the primary after 10 seconds # None 2237s Jan 08 12:55:46 And replication works from postgres0 to postgres1 after 15 seconds # None 2237s Jan 08 12:55:46 And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds # None 2237s Jan 08 12:55:46 And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds # None 2237s Jan 08 12:55:46 2237s Jan 08 12:55:46 Scenario: worker switchover doesn't break client queries on the coordinator # features/citus.feature:29 2237s Jan 08 12:55:46 Given I create a distributed table on postgres0 # None 2237s Jan 08 12:55:46 And I start a thread inserting data on postgres0 # None 2237s Jan 08 12:55:46 When I run patronictl.py switchover batman --group 1 --force # None 2237s Jan 08 12:55:46 Then I receive a response returncode 0 # None 2237s Jan 08 12:55:46 And postgres3 role is the primary after 10 seconds # None 2237s Jan 08 12:55:46 And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds # None 2237s Jan 08 12:55:46 And replication works from postgres3 to postgres2 after 15 seconds # None 2237s Jan 08 12:55:46 And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2237s Jan 08 12:55:46 And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds # None 2237s Jan 08 12:55:46 And a thread is still alive # None 2237s Jan 08 12:55:46 When I run patronictl.py switchover batman --group 1 --force # None 2237s Jan 08 12:55:46 Then I receive a response returncode 0 # None 2237s Jan 08 12:55:46 And postgres2 role is the primary after 10 seconds # None 2237s Jan 08 12:55:46 And replication works from postgres2 to postgres3 after 15 seconds # None 2237s Jan 08 12:55:46 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2237s Jan 08 12:55:46 And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds # None 2237s Jan 08 12:55:46 And a thread is still alive # None 2237s Jan 08 12:55:46 When I stop a thread # None 2237s Jan 08 12:55:46 Then a distributed table on postgres0 has expected rows # None 2237s Jan 08 12:55:46 2237s Jan 08 12:55:46 Scenario: worker primary restart doesn't break client queries on the coordinator # features/citus.feature:50 2237s Jan 08 12:55:46 Given I cleanup a distributed table on postgres0 # None 2237s Jan 08 12:55:46 And I start a thread inserting data on postgres0 # None 2237s Jan 08 12:55:46 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2237s Jan 08 12:55:46 Then I receive a response returncode 0 # None 2237s Jan 08 12:55:46 And postgres2 role is the primary after 10 seconds # None 2237s Jan 08 12:55:46 And replication works from postgres2 to postgres3 after 15 seconds # None 2237s Jan 08 12:55:46 And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds # None 2237s Jan 08 12:55:46 And a thread is still alive # None 2237s Jan 08 12:55:46 When I stop a thread # None 2237s Jan 08 12:55:46 Then a distributed table on postgres0 has expected rows # None 2243s Jan 08 12:55:52 2243s Jan 08 12:55:52 Scenario: check that in-flight transaction is rolled back after timeout when other workers need to change pg_dist_node # features/citus.feature:62 2243s Jan 08 12:55:52 Given I start postgres4 in citus group 2 # None 2243s Jan 08 12:55:52 Then postgres4 is a leader in a group 2 after 10 seconds # None 2243s Jan 08 12:55:52 And "members/postgres4" key in a group 2 in DCS has role=master after 3 seconds # None 2243s Jan 08 12:55:52 When I run patronictl.py edit-config batman --group 2 -s ttl=20 --force # None 2243s Jan 08 12:55:52 Then I receive a response returncode 0 # None 2243s Jan 08 12:55:52 And I receive a response output "+ttl: 20" # None 2243s Jan 08 12:55:52 Then postgres4 is registered in the postgres2 as the primary in group 2 after 5 seconds # None 2243s Jan 08 12:55:52 When I shut down postgres4 # None 2243s Jan 08 12:55:52 Then there is a transaction in progress on postgres0 changing pg_dist_node after 5 seconds # None 2243s Jan 08 12:55:52 When I run patronictl.py restart batman postgres2 --group 1 --force # None 2243s Jan 08 12:55:52 Then a transaction finishes in 20 seconds # None 2243s Jan 08 12:55:52 2243s Jan 08 12:55:52 Feature: custom bootstrap # features/custom_bootstrap.feature:1 2243s Jan 08 12:55:52 We should check that patroni can bootstrap a new cluster from a backup 2243s Jan 08 12:55:52 Scenario: clone existing cluster using pg_basebackup # features/custom_bootstrap.feature:4 2243s Jan 08 12:55:52 Given I start postgres0 # features/steps/basic_replication.py:8 2246s Jan 08 12:55:55 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2247s Jan 08 12:55:56 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2247s Jan 08 12:55:56 And I start postgres1 in a cluster batman1 as a clone of postgres0 # features/steps/custom_bootstrap.py:6 2251s Jan 08 12:56:00 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2252s Jan 08 12:56:01 Then table foo is present on postgres1 after 10 seconds # features/steps/basic_replication.py:93 2252s Jan 08 12:56:01 2252s Jan 08 12:56:01 Scenario: make a backup and do a restore into a new cluster # features/custom_bootstrap.feature:12 2252s Jan 08 12:56:01 Given I add the table bar to postgres1 # features/steps/basic_replication.py:54 2252s Jan 08 12:56:01 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2252s Jan 08 12:56:01 When I start postgres2 in a cluster batman2 from backup # features/steps/custom_bootstrap.py:11 2256s Jan 08 12:56:05 Then postgres2 is a leader of batman2 after 30 seconds # features/steps/custom_bootstrap.py:16 2257s Jan 08 12:56:06 And table bar is present on postgres2 after 10 seconds # features/steps/basic_replication.py:93 2273s Jan 08 12:56:22 2273s Jan 08 12:56:22 Feature: dcs failsafe mode # features/dcs_failsafe_mode.feature:1 2273s Jan 08 12:56:22 We should check the basic dcs failsafe mode functioning 2273s Jan 08 12:56:22 Scenario: check failsafe mode can be successfully enabled # features/dcs_failsafe_mode.feature:4 2273s Jan 08 12:56:22 Given I start postgres0 # features/steps/basic_replication.py:8 2276s Jan 08 12:56:25 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2276s Jan 08 12:56:25 Then "config" key in DCS has ttl=30 after 10 seconds # features/steps/cascading_replication.py:23 2276s Jan 08 12:56:25 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 2276s Jan 08 12:56:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2276s Jan 08 12:56:25 And Response on GET http://127.0.0.1:8008/failsafe contains postgres0 after 10 seconds # features/steps/patroni_api.py:156 2276s Jan 08 12:56:25 When I issue a GET request to http://127.0.0.1:8008/failsafe # features/steps/patroni_api.py:61 2276s Jan 08 12:56:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2276s Jan 08 12:56:25 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2276s Jan 08 12:56:25 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 2276s Jan 08 12:56:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2276s Jan 08 12:56:25 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 2276s Jan 08 12:56:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2276s Jan 08 12:56:25 2276s Jan 08 12:56:25 @dcs-failsafe 2276s Jan 08 12:56:25 Scenario: check one-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:20 2276s Jan 08 12:56:25 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2276s Jan 08 12:56:25 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 2280s Jan 08 12:56:29 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2280s Jan 08 12:56:29 2280s Jan 08 12:56:29 @dcs-failsafe 2280s Jan 08 12:56:29 Scenario: check new replica isn't promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:26 2280s Jan 08 12:56:29 Given DCS is up # features/steps/dcs_failsafe_mode.py:9 2280s Jan 08 12:56:29 When I do a backup of postgres0 # features/steps/custom_bootstrap.py:25 2280s Jan 08 12:56:29 And I shut down postgres0 # features/steps/basic_replication.py:29 2282s Jan 08 12:56:31 When I start postgres1 in a cluster batman from backup with no_leader # features/steps/dcs_failsafe_mode.py:14 2286s Jan 08 12:56:34 Then postgres1 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2286s Jan 08 12:56:34 2286s Jan 08 12:56:34 Scenario: check leader and replica are both in /failsafe key after leader is back # features/dcs_failsafe_mode.feature:33 2286s Jan 08 12:56:34 Given I start postgres0 # features/steps/basic_replication.py:8 2288s Jan 08 12:56:36 And I start postgres1 # features/steps/basic_replication.py:8 2288s Jan 08 12:56:36 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2289s Jan 08 12:56:37 And "members/postgres1" key in DCS has state=running after 2 seconds # features/steps/cascading_replication.py:23 2289s Jan 08 12:56:37 And Response on GET http://127.0.0.1:8009/failsafe contains postgres1 after 10 seconds # features/steps/patroni_api.py:156 2292s Jan 08 12:56:41 When I issue a GET request to http://127.0.0.1:8009/failsafe # features/steps/patroni_api.py:61 2292s Jan 08 12:56:41 Then I receive a response code 200 # features/steps/patroni_api.py:98 2292s Jan 08 12:56:41 And I receive a response postgres0 http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:98 2292s Jan 08 12:56:41 And I receive a response postgres1 http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:98 2292s Jan 08 12:56:41 2292s Jan 08 12:56:41 @dcs-failsafe @slot-advance 2292s Jan 08 12:56:41 Scenario: check leader and replica are functioning while DCS is down # features/dcs_failsafe_mode.feature:46 2292s Jan 08 12:56:41 Given I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2292s Jan 08 12:56:41 Then physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2294s Jan 08 12:56:43 And logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2297s Jan 08 12:56:46 And DCS is down # features/steps/dcs_failsafe_mode.py:4 2297s Jan 08 12:56:46 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 2301s Jan 08 12:56:50 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2301s Jan 08 12:56:50 And postgres1 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2301s Jan 08 12:56:50 And replication works from postgres0 to postgres1 after 10 seconds # features/steps/basic_replication.py:112 2301s Jan 08 12:56:50 When I get all changes from logical slot dcs_slot_0 on postgres0 # features/steps/slots.py:70 2301s Jan 08 12:56:50 And I get all changes from physical slot dcs_slot_1 on postgres0 # features/steps/slots.py:75 2301s Jan 08 12:56:50 Then logical slot dcs_slot_0 is in sync between postgres0 and postgres1 after 20 seconds # features/steps/slots.py:51 2308s Jan 08 12:56:57 And physical slot dcs_slot_1 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2308s Jan 08 12:56:57 2308s Jan 08 12:56:57 @dcs-failsafe 2308s Jan 08 12:56:57 Scenario: check primary is demoted when one replica is shut down and DCS is down # features/dcs_failsafe_mode.feature:61 2308s Jan 08 12:56:57 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2308s Jan 08 12:56:57 And I kill postgres1 # features/steps/basic_replication.py:34 2309s Jan 08 12:56:58 And I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2309s Jan 08 12:56:58 waiting for server to shut down.... done 2309s Jan 08 12:56:58 server stopped 2309s Jan 08 12:56:58 Then postgres0 role is the replica after 12 seconds # features/steps/basic_replication.py:105 2311s Jan 08 12:57:00 2311s Jan 08 12:57:00 @dcs-failsafe 2311s Jan 08 12:57:00 Scenario: check known replica is promoted when leader is down and DCS is up # features/dcs_failsafe_mode.feature:68 2311s Jan 08 12:57:00 Given I kill postgres0 # features/steps/basic_replication.py:34 2312s Jan 08 12:57:01 And I shut down postmaster on postgres0 # features/steps/basic_replication.py:39 2312s Jan 08 12:57:01 waiting for server to shut down.... done 2312s Jan 08 12:57:01 server stopped 2312s Jan 08 12:57:01 And DCS is up # features/steps/dcs_failsafe_mode.py:9 2312s Jan 08 12:57:01 When I start postgres1 # features/steps/basic_replication.py:8 2314s Jan 08 12:57:03 Then "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2315s Jan 08 12:57:04 And postgres1 role is the primary after 25 seconds # features/steps/basic_replication.py:105 2316s Jan 08 12:57:05 2316s Jan 08 12:57:05 @dcs-failsafe 2316s Jan 08 12:57:05 Scenario: scale to three-node cluster # features/dcs_failsafe_mode.feature:77 2316s Jan 08 12:57:05 Given I start postgres0 # features/steps/basic_replication.py:8 2319s Jan 08 12:57:08 And I configure and start postgres2 with a tag replicatefrom postgres0 # features/steps/cascading_replication.py:7 2322s Jan 08 12:57:11 Then "members/postgres2" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2322s Jan 08 12:57:11 And "members/postgres0" key in DCS has state=running after 20 seconds # features/steps/cascading_replication.py:23 2323s Jan 08 12:57:12 And Response on GET http://127.0.0.1:8008/failsafe contains postgres2 after 10 seconds # features/steps/patroni_api.py:156 2323s Jan 08 12:57:12 And replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2324s Jan 08 12:57:13 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2326s Jan 08 12:57:14 2326s Jan 08 12:57:14 @dcs-failsafe @slot-advance 2326s Jan 08 12:57:14 Scenario: make sure permanent slots exist on replicas # features/dcs_failsafe_mode.feature:88 2326s Jan 08 12:57:14 Given I issue a PATCH request to http://127.0.0.1:8009/config with {"slots":{"postgres2":0,"dcs_slot_0":null,"dcs_slot_2":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2326s Jan 08 12:57:15 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2330s Jan 08 12:57:19 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2331s Jan 08 12:57:20 When I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2331s Jan 08 12:57:20 Then physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2332s Jan 08 12:57:21 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2332s Jan 08 12:57:21 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2332s Jan 08 12:57:21 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2334s Jan 08 12:57:23 2334s Jan 08 12:57:23 @dcs-failsafe 2334s Jan 08 12:57:23 Scenario: check three-node cluster is functioning while DCS is down # features/dcs_failsafe_mode.feature:99 2334s Jan 08 12:57:23 Given DCS is down # features/steps/dcs_failsafe_mode.py:4 2334s Jan 08 12:57:23 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 2339s Jan 08 12:57:28 Then postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2339s Jan 08 12:57:28 And postgres0 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2339s Jan 08 12:57:28 And postgres2 role is the replica after 2 seconds # features/steps/basic_replication.py:105 2339s Jan 08 12:57:28 2339s Jan 08 12:57:28 @dcs-failsafe @slot-advance 2339s Jan 08 12:57:28 Scenario: check that permanent slots are in sync between nodes while DCS is down # features/dcs_failsafe_mode.feature:108 2339s Jan 08 12:57:28 Given replication works from postgres1 to postgres0 after 10 seconds # features/steps/basic_replication.py:112 2339s Jan 08 12:57:28 And replication works from postgres1 to postgres2 after 10 seconds # features/steps/basic_replication.py:112 2340s Jan 08 12:57:29 When I get all changes from logical slot dcs_slot_2 on postgres1 # features/steps/slots.py:70 2340s Jan 08 12:57:29 And I get all changes from physical slot dcs_slot_1 on postgres1 # features/steps/slots.py:75 2340s Jan 08 12:57:29 Then logical slot dcs_slot_2 is in sync between postgres1 and postgres0 after 20 seconds # features/steps/slots.py:51 2346s Jan 08 12:57:35 And logical slot dcs_slot_2 is in sync between postgres1 and postgres2 after 20 seconds # features/steps/slots.py:51 2346s Jan 08 12:57:35 And physical slot dcs_slot_1 is in sync between postgres1 and postgres0 after 10 seconds # features/steps/slots.py:51 2346s Jan 08 12:57:35 And physical slot dcs_slot_1 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2346s Jan 08 12:57:35 And physical slot postgres0 is in sync between postgres1 and postgres2 after 10 seconds # features/steps/slots.py:51 2346s Jan 08 12:57:35 And physical slot postgres2 is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2357s Jan 08 12:57:46 2357s Jan 08 12:57:46 Feature: ignored slots # features/ignored_slots.feature:1 2357s Jan 08 12:57:46 2357s Jan 08 12:57:46 Scenario: check ignored slots aren't removed on failover/switchover # features/ignored_slots.feature:2 2357s Jan 08 12:57:46 Given I start postgres1 # features/steps/basic_replication.py:8 2366s Jan 08 12:57:55 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2367s Jan 08 12:57:56 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2367s Jan 08 12:57:56 When I issue a PATCH request to http://127.0.0.1:8009/config with {"ignore_slots": [{"name": "unmanaged_slot_0", "database": "postgres", "plugin": "test_decoding", "type": "logical"}, {"name": "unmanaged_slot_1", "database": "postgres", "plugin": "test_decoding"}, {"name": "unmanaged_slot_2", "database": "postgres"}, {"name": "unmanaged_slot_3"}], "postgresql": {"parameters": {"wal_level": "logical"}}} # features/steps/patroni_api.py:71 2368s Jan 08 12:57:56 Then I receive a response code 200 # features/steps/patroni_api.py:98 2368s Jan 08 12:57:56 And Response on GET http://127.0.0.1:8009/config contains ignore_slots after 10 seconds # features/steps/patroni_api.py:156 2368s Jan 08 12:57:57 When I shut down postgres1 # features/steps/basic_replication.py:29 2370s Jan 08 12:57:59 And I start postgres1 # features/steps/basic_replication.py:8 2372s Jan 08 12:58:01 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2375s Jan 08 12:58:04 And "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2376s Jan 08 12:58:05 And postgres1 role is the primary after 20 seconds # features/steps/basic_replication.py:105 2376s Jan 08 12:58:05 When I create a logical replication slot unmanaged_slot_0 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2376s Jan 08 12:58:05 And I create a logical replication slot unmanaged_slot_1 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2376s Jan 08 12:58:05 And I create a logical replication slot unmanaged_slot_2 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2376s Jan 08 12:58:05 And I create a logical replication slot unmanaged_slot_3 on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2376s Jan 08 12:58:05 And I create a logical replication slot dummy_slot on postgres1 with the test_decoding plugin # features/steps/slots.py:8 2376s Jan 08 12:58: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 2376s Jan 08 12:58: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 2376s Jan 08 12:58: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 2376s Jan 08 12:58: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 2376s Jan 08 12:58:05 When I start postgres0 # features/steps/basic_replication.py:8 2385s Jan 08 12:58:14 Then "members/postgres0" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2385s Jan 08 12:58:14 And postgres0 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2385s Jan 08 12:58:14 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2386s Jan 08 12:58:15 When I shut down postgres1 # features/steps/basic_replication.py:29 2388s Jan 08 12:58:17 Then "members/postgres0" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2389s Jan 08 12:58:18 When I start postgres1 # features/steps/basic_replication.py:8 2392s Jan 08 12:58:21 Then postgres1 role is the secondary after 20 seconds # features/steps/basic_replication.py:105 2392s Jan 08 12:58:21 And "members/postgres1" key in DCS has role=replica after 10 seconds # features/steps/cascading_replication.py:23 2392s Jan 08 12:58:21 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2394s Jan 08 12:58:23 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2394s Jan 08 12:58:23 And postgres1 has a logical replication slot named unmanaged_slot_1 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2394s Jan 08 12:58:23 And postgres1 has a logical replication slot named unmanaged_slot_2 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2394s Jan 08 12:58:23 And postgres1 has a logical replication slot named unmanaged_slot_3 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2394s Jan 08 12:58:23 And postgres1 does not have a replication slot named dummy_slot # features/steps/slots.py:40 2394s Jan 08 12:58:23 When I shut down postgres0 # features/steps/basic_replication.py:29 2396s Jan 08 12:58:25 Then "members/postgres1" key in DCS has role=master after 10 seconds # features/steps/cascading_replication.py:23 2397s Jan 08 12:58:26 And postgres1 has a logical replication slot named unmanaged_slot_0 with the test_decoding plugin after 2 seconds # features/steps/slots.py:19 2397s Jan 08 12:58: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 2397s Jan 08 12:58: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 2397s Jan 08 12:58: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 2405s Jan 08 12:58:34 2405s Jan 08 12:58:34 Feature: nostream node # features/nostream_node.feature:1 2405s Jan 08 12:58:34 2405s Jan 08 12:58:34 Scenario: check nostream node is recovering from archive # features/nostream_node.feature:3 2405s Jan 08 12:58:34 When I start postgres0 # features/steps/basic_replication.py:8 2408s Jan 08 12:58:37 And I configure and start postgres1 with a tag nostream true # features/steps/cascading_replication.py:7 2412s Jan 08 12:58:41 Then "members/postgres1" key in DCS has replication_state=in archive recovery after 10 seconds # features/steps/cascading_replication.py:23 2413s Jan 08 12:58:42 And replication works from postgres0 to postgres1 after 30 seconds # features/steps/basic_replication.py:112 2418s Jan 08 12:58:47 2418s Jan 08 12:58:47 @slot-advance 2418s Jan 08 12:58:47 Scenario: check permanent logical replication slots are not copied # features/nostream_node.feature:10 2418s Jan 08 12:58:47 When I issue a PATCH request to http://127.0.0.1:8008/config with {"postgresql": {"parameters": {"wal_level": "logical"}}, "slots":{"test_logical":{"type":"logical","database":"postgres","plugin":"test_decoding"}}} # features/steps/patroni_api.py:71 2418s Jan 08 12:58:47 Then I receive a response code 200 # features/steps/patroni_api.py:98 2418s Jan 08 12:58:47 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2420s Jan 08 12:58:49 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2421s Jan 08 12:58:50 When I configure and start postgres2 with a tag replicatefrom postgres1 # features/steps/cascading_replication.py:7 2424s Jan 08 12:58:53 Then "members/postgres2" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2430s Jan 08 12:58:59 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2430s Jan 08 12:58:59 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2448s Jan 08 12:59:17 2448s Jan 08 12:59:17 Feature: patroni api # features/patroni_api.feature:1 2448s Jan 08 12:59:17 We should check that patroni correctly responds to valid and not-valid API requests. 2448s Jan 08 12:59:17 Scenario: check API requests on a stand-alone server # features/patroni_api.feature:4 2448s Jan 08 12:59:17 Given I start postgres0 # features/steps/basic_replication.py:8 2451s Jan 08 12:59:20 And postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2452s Jan 08 12:59:21 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2452s Jan 08 12:59:21 Then I receive a response code 200 # features/steps/patroni_api.py:98 2452s Jan 08 12:59:21 And I receive a response state running # features/steps/patroni_api.py:98 2452s Jan 08 12:59:21 And I receive a response role master # features/steps/patroni_api.py:98 2452s Jan 08 12:59:21 When I issue a GET request to http://127.0.0.1:8008/standby_leader # features/steps/patroni_api.py:61 2452s Jan 08 12:59:21 Then I receive a response code 503 # features/steps/patroni_api.py:98 2452s Jan 08 12:59:21 When I issue a GET request to http://127.0.0.1:8008/health # features/steps/patroni_api.py:61 2453s Jan 08 12:59:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2453s Jan 08 12:59:22 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2453s Jan 08 12:59:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 2453s Jan 08 12:59:22 When I issue a POST request to http://127.0.0.1:8008/reinitialize with {"force": true} # features/steps/patroni_api.py:71 2453s Jan 08 12:59:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 2453s Jan 08 12:59:22 And I receive a response text I am the leader, can not reinitialize # features/steps/patroni_api.py:98 2453s Jan 08 12:59:22 When I run patronictl.py switchover batman --master postgres0 --force # features/steps/patroni_api.py:86 2454s Jan 08 12:59:23 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2454s Jan 08 12:59:23 And I receive a response output "Error: No candidates found to switchover to" # features/steps/patroni_api.py:98 2454s Jan 08 12:59:23 When I issue a POST request to http://127.0.0.1:8008/switchover with {"leader": "postgres0"} # features/steps/patroni_api.py:71 2454s Jan 08 12:59:23 Then I receive a response code 412 # features/steps/patroni_api.py:98 2454s Jan 08 12:59:23 And I receive a response text switchover is not possible: cluster does not have members except leader # features/steps/patroni_api.py:98 2454s Jan 08 12:59:23 When I issue an empty POST request to http://127.0.0.1:8008/failover # features/steps/patroni_api.py:66 2454s Jan 08 12:59:23 Then I receive a response code 400 # features/steps/patroni_api.py:98 2454s Jan 08 12:59:23 When I issue a POST request to http://127.0.0.1:8008/failover with {"foo": "bar"} # features/steps/patroni_api.py:71 2454s Jan 08 12:59:23 Then I receive a response code 400 # features/steps/patroni_api.py:98 2454s Jan 08 12:59:23 And I receive a response text "Failover could be performed only to a specific candidate" # features/steps/patroni_api.py:98 2454s Jan 08 12:59:23 2454s Jan 08 12:59:23 Scenario: check local configuration reload # features/patroni_api.feature:32 2454s Jan 08 12:59:23 Given I add tag new_tag new_value to postgres0 config # features/steps/patroni_api.py:137 2454s Jan 08 12:59:23 And I issue an empty POST request to http://127.0.0.1:8008/reload # features/steps/patroni_api.py:66 2454s Jan 08 12:59:23 Then I receive a response code 202 # features/steps/patroni_api.py:98 2454s Jan 08 12:59:23 2454s Jan 08 12:59:23 Scenario: check dynamic configuration change via DCS # features/patroni_api.feature:37 2454s Jan 08 12:59: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 2454s Jan 08 12:59:23 Then I receive a response code 200 # features/steps/patroni_api.py:98 2454s Jan 08 12:59:23 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 11 seconds # features/steps/patroni_api.py:156 2456s Jan 08 12:59:25 When I issue a GET request to http://127.0.0.1:8008/config # features/steps/patroni_api.py:61 2457s Jan 08 12:59:25 Then I receive a response code 200 # features/steps/patroni_api.py:98 2457s Jan 08 12:59:25 And I receive a response ttl 20 # features/steps/patroni_api.py:98 2457s Jan 08 12:59:25 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2457s Jan 08 12:59:26 Then I receive a response code 200 # features/steps/patroni_api.py:98 2457s Jan 08 12:59:26 And I receive a response tags {'new_tag': 'new_value'} # features/steps/patroni_api.py:98 2457s Jan 08 12:59:26 And I sleep for 4 seconds # features/steps/patroni_api.py:39 2461s Jan 08 12:59:30 2461s Jan 08 12:59:30 Scenario: check the scheduled restart # features/patroni_api.feature:49 2461s Jan 08 12:59:30 Given I run patronictl.py edit-config -p 'superuser_reserved_connections=6' --force batman # features/steps/patroni_api.py:86 2462s Jan 08 12:59:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2462s Jan 08 12:59:31 And I receive a response output "+ superuser_reserved_connections: 6" # features/steps/patroni_api.py:98 2462s Jan 08 12:59:31 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 5 seconds # features/steps/patroni_api.py:156 2462s Jan 08 12:59: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 2462s Jan 08 12:59:31 Then I receive a response code 202 # features/steps/patroni_api.py:98 2462s Jan 08 12:59:31 And I sleep for 8 seconds # features/steps/patroni_api.py:39 2470s Jan 08 12:59:39 And Response on GET http://127.0.0.1:8008/patroni contains pending_restart after 10 seconds # features/steps/patroni_api.py:156 2470s Jan 08 12:59: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 2470s Jan 08 12:59:39 Then I receive a response code 202 # features/steps/patroni_api.py:98 2470s Jan 08 12:59: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 2477s Jan 08 12:59:46 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2478s Jan 08 12:59:47 2478s Jan 08 12:59:47 Scenario: check API requests for the primary-replica pair in the pause mode # features/patroni_api.feature:63 2478s Jan 08 12:59:47 Given I start postgres1 # features/steps/basic_replication.py:8 2481s Jan 08 12:59:50 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2482s Jan 08 12:59:51 When I run patronictl.py pause batman # features/steps/patroni_api.py:86 2484s Jan 08 12:59:53 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2484s Jan 08 12:59:53 When I kill postmaster on postgres1 # features/steps/basic_replication.py:44 2484s Jan 08 12:59:53 waiting for server to shut down.... done 2484s Jan 08 12:59:53 server stopped 2484s Jan 08 12:59:53 And I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2484s Jan 08 12:59:53 Then I receive a response code 503 # features/steps/patroni_api.py:98 2484s Jan 08 12:59:53 And "members/postgres1" key in DCS has state=stopped after 10 seconds # features/steps/cascading_replication.py:23 2485s Jan 08 12:59:54 When I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2488s Jan 08 12:59:57 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2488s Jan 08 12:59:57 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2489s Jan 08 12:59:58 And I sleep for 2 seconds # features/steps/patroni_api.py:39 2491s Jan 08 13:00:00 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2491s Jan 08 13:00:00 Then I receive a response code 200 # features/steps/patroni_api.py:98 2491s Jan 08 13:00:00 And I receive a response state running # features/steps/patroni_api.py:98 2491s Jan 08 13:00:00 And I receive a response role replica # features/steps/patroni_api.py:98 2491s Jan 08 13:00:00 When I run patronictl.py reinit batman postgres1 --force --wait # features/steps/patroni_api.py:86 2494s Jan 08 13:00:03 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2494s Jan 08 13:00:03 And I receive a response output "Success: reinitialize for member postgres1" # features/steps/patroni_api.py:98 2494s Jan 08 13:00:03 And postgres1 role is the secondary after 30 seconds # features/steps/basic_replication.py:105 2495s Jan 08 13:00:04 And replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2495s Jan 08 13:00:04 When I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2497s Jan 08 13:00:06 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2497s Jan 08 13:00:06 And I receive a response output "Success: restart on member postgres0" # features/steps/patroni_api.py:98 2497s Jan 08 13:00:06 And postgres0 role is the primary after 5 seconds # features/steps/basic_replication.py:105 2498s Jan 08 13:00:07 2498s Jan 08 13:00:07 Scenario: check the switchover via the API in the pause mode # features/patroni_api.feature:90 2498s Jan 08 13:00:07 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 2500s Jan 08 13:00:09 Then I receive a response code 200 # features/steps/patroni_api.py:98 2500s Jan 08 13:00:09 And postgres1 is a leader after 5 seconds # features/steps/patroni_api.py:29 2500s Jan 08 13:00:09 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2500s Jan 08 13:00:09 And postgres0 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2505s Jan 08 13:00:14 And replication works from postgres1 to postgres0 after 20 seconds # features/steps/basic_replication.py:112 2505s Jan 08 13:00:14 And "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2505s Jan 08 13:00:14 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2505s Jan 08 13:00:14 Then I receive a response code 503 # features/steps/patroni_api.py:98 2505s Jan 08 13:00:14 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2505s Jan 08 13:00:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 2505s Jan 08 13:00:14 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2506s Jan 08 13:00:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 2506s Jan 08 13:00:14 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2506s Jan 08 13:00:15 Then I receive a response code 503 # features/steps/patroni_api.py:98 2506s Jan 08 13:00:15 2506s Jan 08 13:00:15 Scenario: check the scheduled switchover # features/patroni_api.feature:107 2506s Jan 08 13:00:15 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2507s Jan 08 13:00:16 Then I receive a response returncode 1 # features/steps/patroni_api.py:98 2507s Jan 08 13:00:16 And I receive a response output "Can't schedule switchover in the paused state" # features/steps/patroni_api.py:98 2507s Jan 08 13:00:16 When I run patronictl.py resume batman # features/steps/patroni_api.py:86 2508s Jan 08 13:00:17 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2508s Jan 08 13:00:17 Given I issue a scheduled switchover from postgres1 to postgres0 in 10 seconds # features/steps/patroni_api.py:117 2510s Jan 08 13:00:19 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2510s Jan 08 13:00:19 And postgres0 is a leader after 20 seconds # features/steps/patroni_api.py:29 2520s Jan 08 13:00:29 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2520s Jan 08 13:00:29 And postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2523s Jan 08 13:00:32 And replication works from postgres0 to postgres1 after 25 seconds # features/steps/basic_replication.py:112 2523s Jan 08 13:00:32 And "members/postgres1" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2524s Jan 08 13:00:33 When I issue a GET request to http://127.0.0.1:8008/primary # features/steps/patroni_api.py:61 2524s Jan 08 13:00:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 2524s Jan 08 13:00:33 When I issue a GET request to http://127.0.0.1:8008/replica # features/steps/patroni_api.py:61 2524s Jan 08 13:00:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 2524s Jan 08 13:00:33 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2524s Jan 08 13:00:33 Then I receive a response code 503 # features/steps/patroni_api.py:98 2524s Jan 08 13:00:33 When I issue a GET request to http://127.0.0.1:8009/replica # features/steps/patroni_api.py:61 2524s Jan 08 13:00:33 Then I receive a response code 200 # features/steps/patroni_api.py:98 2535s Jan 08 13:00:44 2535s Jan 08 13:00:44 Feature: permanent slots # features/permanent_slots.feature:1 2535s Jan 08 13:00:44 2535s Jan 08 13:00:44 Scenario: check that physical permanent slots are created # features/permanent_slots.feature:2 2535s Jan 08 13:00:44 Given I start postgres0 # features/steps/basic_replication.py:8 2543s Jan 08 13:00:52 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2544s Jan 08 13:00:53 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2544s Jan 08 13:00:53 When I issue a PATCH request to http://127.0.0.1:8008/config with {"slots":{"test_physical":0,"postgres0":0,"postgres1":0,"postgres3":0},"postgresql":{"parameters":{"wal_level":"logical"}}} # features/steps/patroni_api.py:71 2544s Jan 08 13:00:53 Then I receive a response code 200 # features/steps/patroni_api.py:98 2544s Jan 08 13:00:53 And Response on GET http://127.0.0.1:8008/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2544s Jan 08 13:00:53 When I start postgres1 # features/steps/basic_replication.py:8 2547s Jan 08 13:00:56 And I configure and start postgres2 with a tag nofailover true # features/steps/cascading_replication.py:7 2550s Jan 08 13:00:59 And I configure and start postgres3 with a tag replicatefrom postgres2 # features/steps/cascading_replication.py:7 2553s Jan 08 13:01:02 Then postgres0 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2553s Jan 08 13:01:02 And postgres0 has a physical replication slot named postgres1 after 10 seconds # features/steps/slots.py:80 2553s Jan 08 13:01:02 And postgres0 has a physical replication slot named postgres2 after 10 seconds # features/steps/slots.py:80 2553s Jan 08 13:01:02 And postgres2 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2553s Jan 08 13:01:02 And postgres2 does not have a replication slot named test_physical # features/steps/slots.py:40 2553s Jan 08 13:01:02 2553s Jan 08 13:01:02 @slot-advance 2553s Jan 08 13:01:02 Scenario: check that logical permanent slots are created # features/permanent_slots.feature:19 2553s Jan 08 13:01:02 Given I run patronictl.py restart batman postgres0 --force # features/steps/patroni_api.py:86 2555s Jan 08 13:01:04 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 2555s Jan 08 13:01:04 Then postgres0 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2556s Jan 08 13:01:05 2556s Jan 08 13:01:05 @slot-advance 2556s Jan 08 13:01:05 Scenario: check that permanent slots are created on replicas # features/permanent_slots.feature:25 2556s Jan 08 13:01:05 Given postgres1 has a logical replication slot named test_logical with the test_decoding plugin after 10 seconds # features/steps/slots.py:19 2559s Jan 08 13:01:08 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2559s Jan 08 13:01:08 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2560s Jan 08 13:01:09 And postgres1 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2560s Jan 08 13:01:09 And postgres2 does not have a replication slot named test_logical # features/steps/slots.py:40 2560s Jan 08 13:01:09 And postgres3 has a physical replication slot named test_physical after 2 seconds # features/steps/slots.py:80 2560s Jan 08 13:01:09 2560s Jan 08 13:01:09 @slot-advance 2560s Jan 08 13:01:09 Scenario: check permanent physical slots that match with member names # features/permanent_slots.feature:34 2560s Jan 08 13:01:09 Given postgres0 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2560s Jan 08 13:01:09 And postgres1 has a physical replication slot named postgres0 after 2 seconds # features/steps/slots.py:80 2560s Jan 08 13:01:09 And postgres1 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2560s Jan 08 13:01:09 And postgres2 does not have a replication slot named postgres0 # features/steps/slots.py:40 2560s Jan 08 13:01:09 And postgres2 does not have a replication slot named postgres1 # features/steps/slots.py:40 2560s Jan 08 13:01:09 And postgres2 has a physical replication slot named postgres3 after 2 seconds # features/steps/slots.py:80 2560s Jan 08 13:01:09 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2560s Jan 08 13:01:09 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2560s Jan 08 13:01:09 2560s Jan 08 13:01:09 @slot-advance 2560s Jan 08 13:01:09 Scenario: check that permanent slots are advanced on replicas # features/permanent_slots.feature:45 2560s Jan 08 13:01:09 Given I add the table replicate_me to postgres0 # features/steps/basic_replication.py:54 2560s Jan 08 13:01:09 When I get all changes from logical slot test_logical on postgres0 # features/steps/slots.py:70 2560s Jan 08 13:01:09 And I get all changes from physical slot test_physical on postgres0 # features/steps/slots.py:75 2560s Jan 08 13:01:09 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2562s Jan 08 13:01:11 And Physical slot test_physical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2562s Jan 08 13:01:11 And Logical slot test_logical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2562s Jan 08 13:01:11 And Physical slot test_physical is in sync between postgres0 and postgres3 after 10 seconds # features/steps/slots.py:51 2562s Jan 08 13:01:11 And Physical slot postgres3 is in sync between postgres2 and postgres0 after 20 seconds # features/steps/slots.py:51 2563s Jan 08 13:01:12 And Physical slot postgres3 is in sync between postgres2 and postgres1 after 10 seconds # features/steps/slots.py:51 2563s Jan 08 13:01:12 And postgres1 does not have a replication slot named postgres2 # features/steps/slots.py:40 2563s Jan 08 13:01:12 And postgres3 does not have a replication slot named postgres2 # features/steps/slots.py:40 2563s Jan 08 13:01:12 2563s Jan 08 13:01:12 @slot-advance 2563s Jan 08 13:01:12 Scenario: check that only permanent slots are written to the /status key # features/permanent_slots.feature:59 2563s Jan 08 13:01:12 Given "status" key in DCS has test_physical in slots # features/steps/slots.py:116 2563s Jan 08 13:01:12 And "status" key in DCS has postgres0 in slots # features/steps/slots.py:116 2563s Jan 08 13:01:12 And "status" key in DCS has postgres1 in slots # features/steps/slots.py:116 2563s Jan 08 13:01:12 And "status" key in DCS does not have postgres2 in slots # features/steps/slots.py:122 2563s Jan 08 13:01:12 And "status" key in DCS has postgres3 in slots # features/steps/slots.py:116 2563s Jan 08 13:01:12 2563s Jan 08 13:01:12 Scenario: check permanent physical replication slot after failover # features/permanent_slots.feature:66 2563s Jan 08 13:01:12 Given I shut down postgres3 # features/steps/basic_replication.py:29 2564s Jan 08 13:01:13 And I shut down postgres2 # features/steps/basic_replication.py:29 2565s Jan 08 13:01:14 And I shut down postgres0 # features/steps/basic_replication.py:29 2567s Jan 08 13:01:16 Then postgres1 has a physical replication slot named test_physical after 10 seconds # features/steps/slots.py:80 2567s Jan 08 13:01:16 And postgres1 has a physical replication slot named postgres0 after 10 seconds # features/steps/slots.py:80 2567s Jan 08 13:01:16 And postgres1 has a physical replication slot named postgres3 after 10 seconds # features/steps/slots.py:80 2567s Jan 08 13:01:16 When I start postgres0 # features/steps/basic_replication.py:8 2569s Jan 08 13:01:18 Then postgres0 role is the replica after 20 seconds # features/steps/basic_replication.py:105 2569s Jan 08 13:01:18 And physical replication slot named postgres1 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2570s Jan 08 13:01:19 And physical replication slot named postgres2 on postgres0 has no xmin value after 10 seconds # features/steps/slots.py:96 2584s Jan 08 13:01:32 2584s Jan 08 13:01:32 Feature: priority replication # features/priority_failover.feature:1 2584s Jan 08 13:01:32 We should check that we can give nodes priority during failover 2584s Jan 08 13:01:32 Scenario: check failover priority 0 prevents leaderships # features/priority_failover.feature:4 2584s Jan 08 13:01:32 Given I configure and start postgres0 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2587s Jan 08 13:01:35 And I configure and start postgres1 with a tag failover_priority 0 # features/steps/cascading_replication.py:7 2590s Jan 08 13:01:39 Then replication works from postgres0 to postgres1 after 20 seconds # features/steps/basic_replication.py:112 2591s Jan 08 13:01:40 When I shut down postgres0 # features/steps/basic_replication.py:29 2593s Jan 08 13:01:42 And there is one of ["following a different leader because I am not allowed to promote"] INFO in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2595s Jan 08 13:01:44 Then postgres1 role is the secondary after 10 seconds # features/steps/basic_replication.py:105 2595s Jan 08 13:01:44 When I start postgres0 # features/steps/basic_replication.py:8 2597s Jan 08 13:01:46 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2601s Jan 08 13:01:50 2601s Jan 08 13:01:50 Scenario: check higher failover priority is respected # features/priority_failover.feature:14 2601s Jan 08 13:01:50 Given I configure and start postgres2 with a tag failover_priority 1 # features/steps/cascading_replication.py:7 2604s Jan 08 13:01:53 And I configure and start postgres3 with a tag failover_priority 2 # features/steps/cascading_replication.py:7 2607s Jan 08 13:01:56 Then replication works from postgres0 to postgres2 after 20 seconds # features/steps/basic_replication.py:112 2608s Jan 08 13:01:57 And replication works from postgres0 to postgres3 after 20 seconds # features/steps/basic_replication.py:112 2612s Jan 08 13:02:01 When I shut down postgres0 # features/steps/basic_replication.py:29 2614s Jan 08 13:02:03 Then postgres3 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2614s Jan 08 13:02:03 And there is one of ["postgres3 has equally tolerable WAL position and priority 2, while this node has priority 1","Wal position of postgres3 is ahead of my wal position"] INFO in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 2614s Jan 08 13:02:03 2614s Jan 08 13:02:03 Scenario: check conflicting configuration handling # features/priority_failover.feature:23 2614s Jan 08 13:02:03 When I set nofailover tag in postgres2 config # features/steps/patroni_api.py:131 2614s Jan 08 13:02:03 And I issue an empty POST request to http://127.0.0.1:8010/reload # features/steps/patroni_api.py:66 2614s Jan 08 13:02:03 Then I receive a response code 202 # features/steps/patroni_api.py:98 2614s Jan 08 13:02:03 And there is one of ["Conflicting configuration between nofailover: True and failover_priority: 1. Defaulting to nofailover: True"] WARNING in the postgres2 patroni log after 5 seconds # features/steps/basic_replication.py:121 2615s Jan 08 13:02:04 And "members/postgres2" key in DCS has tags={'failover_priority': '1', 'nofailover': True} after 10 seconds # features/steps/cascading_replication.py:23 2616s Jan 08 13:02:05 When I issue a POST request to http://127.0.0.1:8010/failover with {"candidate": "postgres2"} # features/steps/patroni_api.py:71 2616s Jan 08 13:02:05 Then I receive a response code 412 # features/steps/patroni_api.py:98 2616s Jan 08 13:02:05 And I receive a response text "failover is not possible: no good candidates have been found" # features/steps/patroni_api.py:98 2616s Jan 08 13:02:05 When I reset nofailover tag in postgres1 config # features/steps/patroni_api.py:131 2616s Jan 08 13:02:05 And I issue an empty POST request to http://127.0.0.1:8009/reload # features/steps/patroni_api.py:66 2616s Jan 08 13:02:05 Then I receive a response code 202 # features/steps/patroni_api.py:98 2616s Jan 08 13:02:05 And there is one of ["Conflicting configuration between nofailover: False and failover_priority: 0. Defaulting to nofailover: False"] WARNING in the postgres1 patroni log after 5 seconds # features/steps/basic_replication.py:121 2618s Jan 08 13:02:07 And "members/postgres1" key in DCS has tags={'failover_priority': '0', 'nofailover': False} after 10 seconds # features/steps/cascading_replication.py:23 2619s Jan 08 13:02:08 And I issue a POST request to http://127.0.0.1:8009/failover with {"candidate": "postgres1"} # features/steps/patroni_api.py:71 2622s Jan 08 13:02:11 Then I receive a response code 200 # features/steps/patroni_api.py:98 2622s Jan 08 13:02:11 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2635s Jan 08 13:02:23 2635s Jan 08 13:02:23 Feature: recovery # features/recovery.feature:1 2635s Jan 08 13:02:23 We want to check that crashed postgres is started back 2635s Jan 08 13:02:23 Scenario: check that timeline is not incremented when primary is started after crash # features/recovery.feature:4 2635s Jan 08 13:02:23 Given I start postgres0 # features/steps/basic_replication.py:8 2637s Jan 08 13:02:26 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2637s Jan 08 13:02:26 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2637s Jan 08 13:02:26 When I start postgres1 # features/steps/basic_replication.py:8 2640s Jan 08 13:02:29 And I add the table foo to postgres0 # features/steps/basic_replication.py:54 2641s Jan 08 13:02:29 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2646s Jan 08 13:02:34 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2646s Jan 08 13:02:35 waiting for server to shut down.... done 2646s Jan 08 13:02:35 server stopped 2646s Jan 08 13:02:35 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2648s Jan 08 13:02:37 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2648s Jan 08 13:02:37 Then I receive a response code 200 # features/steps/patroni_api.py:98 2648s Jan 08 13:02:37 And I receive a response role master # features/steps/patroni_api.py:98 2648s Jan 08 13:02:37 And I receive a response timeline 1 # features/steps/patroni_api.py:98 2648s Jan 08 13:02:37 And "members/postgres0" key in DCS has state=running after 12 seconds # features/steps/cascading_replication.py:23 2649s Jan 08 13:02:38 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2651s Jan 08 13:02:40 2651s Jan 08 13:02:40 Scenario: check immediate failover when master_start_timeout=0 # features/recovery.feature:20 2651s Jan 08 13:02:40 Given I issue a PATCH request to http://127.0.0.1:8008/config with {"master_start_timeout": 0} # features/steps/patroni_api.py:71 2651s Jan 08 13:02:40 Then I receive a response code 200 # features/steps/patroni_api.py:98 2651s Jan 08 13:02:40 And Response on GET http://127.0.0.1:8008/config contains master_start_timeout after 10 seconds # features/steps/patroni_api.py:156 2651s Jan 08 13:02:40 When I kill postmaster on postgres0 # features/steps/basic_replication.py:44 2651s Jan 08 13:02:40 waiting for server to shut down.... done 2651s Jan 08 13:02:40 server stopped 2651s Jan 08 13:02:40 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2653s Jan 08 13:02:42 And postgres1 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2663s Jan 08 13:02:52 2663s Jan 08 13:02:52 Feature: standby cluster # features/standby_cluster.feature:1 2663s Jan 08 13:02:52 2663s Jan 08 13:02:52 Scenario: prepare the cluster with logical slots # features/standby_cluster.feature:2 2663s Jan 08 13:02:52 Given I start postgres1 # features/steps/basic_replication.py:8 2666s Jan 08 13:02:55 Then postgres1 is a leader after 10 seconds # features/steps/patroni_api.py:29 2666s Jan 08 13:02:55 And there is a non empty initialize key in DCS after 15 seconds # features/steps/cascading_replication.py:41 2666s Jan 08 13:02:55 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 2666s Jan 08 13:02:55 Then I receive a response code 200 # features/steps/patroni_api.py:98 2666s Jan 08 13:02:55 And Response on GET http://127.0.0.1:8009/config contains slots after 10 seconds # features/steps/patroni_api.py:156 2666s Jan 08 13:02:55 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2669s Jan 08 13:02:58 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 2669s Jan 08 13:02:58 Then I receive a response code 200 # features/steps/patroni_api.py:98 2669s Jan 08 13:02:58 And I do a backup of postgres1 # features/steps/custom_bootstrap.py:25 2670s Jan 08 13:02:59 When I start postgres0 # features/steps/basic_replication.py:8 2673s Jan 08 13:03:02 Then "members/postgres0" key in DCS has state=running after 10 seconds # features/steps/cascading_replication.py:23 2673s Jan 08 13:03:02 And replication works from postgres1 to postgres0 after 15 seconds # features/steps/basic_replication.py:112 2674s Jan 08 13:03:03 When I issue a GET request to http://127.0.0.1:8008/patroni # features/steps/patroni_api.py:61 2674s Jan 08 13:03:03 Then I receive a response code 200 # features/steps/patroni_api.py:98 2674s Jan 08 13:03:03 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2674s Jan 08 13:03:03 And "members/postgres0" key in DCS has replication_state=streaming after 10 seconds # features/steps/cascading_replication.py:23 2675s Jan 08 13:03:04 2675s Jan 08 13:03:04 @slot-advance 2675s Jan 08 13:03:04 Scenario: check permanent logical slots are synced to the replica # features/standby_cluster.feature:22 2675s Jan 08 13:03:04 Given I run patronictl.py restart batman postgres1 --force # features/steps/patroni_api.py:86 2677s Jan 08 13:03:06 Then Logical slot test_logical is in sync between postgres0 and postgres1 after 10 seconds # features/steps/slots.py:51 2682s Jan 08 13:03:11 2682s Jan 08 13:03:11 Scenario: Detach exiting node from the cluster # features/standby_cluster.feature:26 2682s Jan 08 13:03:11 When I shut down postgres1 # features/steps/basic_replication.py:29 2684s Jan 08 13:03:13 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2684s Jan 08 13:03:13 And "members/postgres0" key in DCS has role=master after 5 seconds # features/steps/cascading_replication.py:23 2685s Jan 08 13:03:14 When I issue a GET request to http://127.0.0.1:8008/ # features/steps/patroni_api.py:61 2685s Jan 08 13:03:14 Then I receive a response code 200 # features/steps/patroni_api.py:98 2685s Jan 08 13:03:14 2685s Jan 08 13:03:14 Scenario: check replication of a single table in a standby cluster # features/standby_cluster.feature:33 2685s Jan 08 13:03:14 Given I start postgres1 in a standby cluster batman1 as a clone of postgres0 # features/steps/standby_cluster.py:23 2688s Jan 08 13:03:17 Then postgres1 is a leader of batman1 after 10 seconds # features/steps/custom_bootstrap.py:16 2690s Jan 08 13:03:19 When I add the table foo to postgres0 # features/steps/basic_replication.py:54 2690s Jan 08 13:03:19 Then table foo is present on postgres1 after 20 seconds # features/steps/basic_replication.py:93 2690s Jan 08 13:03:19 When I issue a GET request to http://127.0.0.1:8009/patroni # features/steps/patroni_api.py:61 2690s Jan 08 13:03:19 Then I receive a response code 200 # features/steps/patroni_api.py:98 2690s Jan 08 13:03:19 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2690s Jan 08 13:03:19 And I sleep for 3 seconds # features/steps/patroni_api.py:39 2693s Jan 08 13:03:22 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2693s Jan 08 13:03:22 Then I receive a response code 503 # features/steps/patroni_api.py:98 2693s Jan 08 13:03:22 When I issue a GET request to http://127.0.0.1:8009/standby_leader # features/steps/patroni_api.py:61 2693s Jan 08 13:03:22 Then I receive a response code 200 # features/steps/patroni_api.py:98 2693s Jan 08 13:03:22 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2693s Jan 08 13:03:22 And there is a postgres1_cb.log with "on_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2693s Jan 08 13:03:22 When I start postgres2 in a cluster batman1 # features/steps/standby_cluster.py:12 2696s Jan 08 13:03:25 Then postgres2 role is the replica after 24 seconds # features/steps/basic_replication.py:105 2696s Jan 08 13:03:25 And postgres2 is replicating from postgres1 after 10 seconds # features/steps/standby_cluster.py:52 2701s Jan 08 13:03:30 And table foo is present on postgres2 after 20 seconds # features/steps/basic_replication.py:93 2701s Jan 08 13:03:30 When I issue a GET request to http://127.0.0.1:8010/patroni # features/steps/patroni_api.py:61 2701s Jan 08 13:03:30 Then I receive a response code 200 # features/steps/patroni_api.py:98 2701s Jan 08 13:03:30 And I receive a response replication_state streaming # features/steps/patroni_api.py:98 2701s Jan 08 13:03:30 And postgres1 does not have a replication slot named test_logical # features/steps/slots.py:40 2701s Jan 08 13:03:30 2701s Jan 08 13:03:30 Scenario: check switchover # features/standby_cluster.feature:57 2701s Jan 08 13:03:30 Given I run patronictl.py switchover batman1 --force # features/steps/patroni_api.py:86 2705s Jan 08 13:03:33 Then Status code on GET http://127.0.0.1:8010/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2705s Jan 08 13:03:34 And postgres1 is replicating from postgres2 after 32 seconds # features/steps/standby_cluster.py:52 2707s Jan 08 13:03:36 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 2707s Jan 08 13:03:36 2707s Jan 08 13:03:36 Scenario: check failover # features/standby_cluster.feature:63 2707s Jan 08 13:03:36 When I kill postgres2 # features/steps/basic_replication.py:34 2708s Jan 08 13:03:37 And I kill postmaster on postgres2 # features/steps/basic_replication.py:44 2708s Jan 08 13:03:37 waiting for server to shut down.... done 2708s Jan 08 13:03:37 server stopped 2708s Jan 08 13:03:37 Then postgres1 is replicating from postgres0 after 32 seconds # features/steps/standby_cluster.py:52 2726s Jan 08 13:03:55 And Status code on GET http://127.0.0.1:8009/standby_leader is 200 after 10 seconds # features/steps/patroni_api.py:142 2726s Jan 08 13:03:55 When I issue a GET request to http://127.0.0.1:8009/primary # features/steps/patroni_api.py:61 2726s Jan 08 13:03:55 Then I receive a response code 503 # features/steps/patroni_api.py:98 2726s Jan 08 13:03:55 And I receive a response role standby_leader # features/steps/patroni_api.py:98 2726s Jan 08 13:03:55 And replication works from postgres0 to postgres1 after 15 seconds # features/steps/basic_replication.py:112 2727s Jan 08 13:03:56 And there is a postgres1_cb.log with "on_role_change replica batman1\non_role_change standby_leader batman1" in postgres1 data directory # features/steps/cascading_replication.py:12 2741s Jan 08 13:04:10 2741s Jan 08 13:04:10 Feature: watchdog # features/watchdog.feature:1 2741s Jan 08 13:04:10 Verify that watchdog gets pinged and triggered under appropriate circumstances. 2741s Jan 08 13:04:10 Scenario: watchdog is opened and pinged # features/watchdog.feature:4 2741s Jan 08 13:04:10 Given I start postgres0 with watchdog # features/steps/watchdog.py:16 2751s Jan 08 13:04:20 Then postgres0 is a leader after 10 seconds # features/steps/patroni_api.py:29 2751s Jan 08 13:04:20 And postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2751s Jan 08 13:04:20 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2751s Jan 08 13:04:20 And postgres0 watchdog has a 15 second timeout # features/steps/watchdog.py:34 2751s Jan 08 13:04:20 2751s Jan 08 13:04:20 Scenario: watchdog is reconfigured after global ttl changed # features/watchdog.feature:11 2751s Jan 08 13:04:20 Given I run patronictl.py edit-config batman -s ttl=30 --force # features/steps/patroni_api.py:86 2753s Jan 08 13:04:22 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2753s Jan 08 13:04:22 And I receive a response output "+ttl: 30" # features/steps/patroni_api.py:98 2753s Jan 08 13:04:22 When I sleep for 4 seconds # features/steps/patroni_api.py:39 2757s Jan 08 13:04:26 Then postgres0 watchdog has a 25 second timeout # features/steps/watchdog.py:34 2757s Jan 08 13:04:26 2757s Jan 08 13:04:26 Scenario: watchdog is disabled during pause # features/watchdog.feature:18 2757s Jan 08 13:04:26 Given I run patronictl.py pause batman # features/steps/patroni_api.py:86 2758s Jan 08 13:04:27 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2758s Jan 08 13:04:27 When I sleep for 2 seconds # features/steps/patroni_api.py:39 2760s Jan 08 13:04:29 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2760s Jan 08 13:04:29 2760s Jan 08 13:04:29 Scenario: watchdog is opened and pinged after resume # features/watchdog.feature:24 2760s Jan 08 13:04:29 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2760s Jan 08 13:04:29 And I run patronictl.py resume batman # features/steps/patroni_api.py:86 2762s Jan 08 13:04:31 Then I receive a response returncode 0 # features/steps/patroni_api.py:98 2762s Jan 08 13:04:31 And postgres0 watchdog has been pinged after 10 seconds # features/steps/watchdog.py:21 2762s Jan 08 13:04:31 2762s Jan 08 13:04:31 Scenario: watchdog is disabled when shutting down # features/watchdog.feature:30 2762s Jan 08 13:04:31 Given I shut down postgres0 # features/steps/basic_replication.py:29 2764s Jan 08 13:04:33 Then postgres0 watchdog has been closed # features/steps/watchdog.py:29 2764s Jan 08 13:04:33 2764s Jan 08 13:04:33 Scenario: watchdog is triggered if patroni stops responding # features/watchdog.feature:34 2764s Jan 08 13:04:33 Given I reset postgres0 watchdog state # features/steps/watchdog.py:39 2764s Jan 08 13:04:33 And I start postgres0 with watchdog # features/steps/watchdog.py:16 2766s Jan 08 13:04:35 Then postgres0 role is the primary after 10 seconds # features/steps/basic_replication.py:105 2768s Jan 08 13:04:37 When postgres0 hangs for 30 seconds # features/steps/watchdog.py:52 2768s Jan 08 13:04:37 Then postgres0 watchdog is triggered after 30 seconds # features/steps/watchdog.py:44 2798s Jan 08 13:05:07 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4202.XZLgncFx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4205.XvqWxtXx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4250.XmJeFJdx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4286.XYTnCVix 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4347.XLWNYZex 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4393.XozNkKvx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4464.XOOQYPYx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4513.XbNzrqyx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4518.XoTLMEox 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4608.XzzHQwex 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4711.XxEjRPex 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4717.XyayTHLx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4761.XubWmAhx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4828.XkkgQkzx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4962.XxLdeEWx 2799s Jan 08 13:05:08 Skipping duplicate data .coverage.autopkgtest.4966.XgxtqoWx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.4969.XcTjTazx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.5016.XtRefFpx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.5072.XVnNycox 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.5161.Xyejyhix 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.5164.XCoMTxXx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.5485.XlPmXwfx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.5559.XAfizXPx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.5617.XMzlRTcx 2799s Jan 08 13:05:08 Skipping duplicate data .coverage.autopkgtest.5907.XmsNFSBx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.5910.XiCfqFMx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.5965.XDHOwlJx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6027.XMWHrVyx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6119.XJymzVKx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6216.XqxiGHbx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6219.XWSstVqx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6263.XsaywJdx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6331.XvNUontx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6363.XnRbEvEx 2799s Jan 08 13:05:08 Skipping duplicate data .coverage.autopkgtest.6488.XqhqNmGx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6492.XDpMOKEx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6544.XqlCdcRx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6560.XLAnsirx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6600.XMtCyzfx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6656.XGntxIVx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6662.XPgaabcx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6700.XmgybCNx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6750.XyCqSHmx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6920.XZtCfzlx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6923.XfFgmxHx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.6930.XLTizEHx 2799s Jan 08 13:05:08 Skipping duplicate data .coverage.autopkgtest.7065.XjMFrlpx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7068.XiZWwMcx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7115.XiiIsZhx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7164.XMIYbHdx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7210.XdPwzsqx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7256.XRLkxqdx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7392.XNFiBiKx 2799s Jan 08 13:05:08 Skipping duplicate data .coverage.autopkgtest.7473.XXdpsXLx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7476.XqSBDYOx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7511.XpJyWbrx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7600.XTNqbWax 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7694.XIWaFxfx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.7747.XhyXzcux 2799s Jan 08 13:05:08 Skipping duplicate data .coverage.autopkgtest.8072.XauqciZx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8075.XFQolSYx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8119.XrryYzhx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8272.XyZqDAIx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8275.XEbWvbgx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8338.XLCnUPsx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8406.XczZNTTx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8509.XrESYfGx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8643.XjZcxxox 2799s Jan 08 13:05:08 Skipping duplicate data .coverage.autopkgtest.8764.XRMYhoBx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8768.XsltoEZx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8813.XTYIHqWx 2799s Jan 08 13:05:08 Skipping duplicate data .coverage.autopkgtest.8816.XagMDjnx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8820.XpgXIkVx 2799s Jan 08 13:05:08 Combined data file .coverage.autopkgtest.8832.XfFwxMtx 2799s Jan 08 13:05:08 Skipping duplicate data .coverage.autopkgtest.8901.XDhNsKMx 2801s Jan 08 13:05:10 Name Stmts Miss Cover 2801s Jan 08 13:05:10 ---------------------------------------------------------------------------------------------------------- 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/__about__.py 5 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/__init__.py 3 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/exceptions.py 26 5 81% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/fernet.py 137 54 61% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/__init__.py 2 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py 135 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py 5 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py 3 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py 135 67 50% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/__init__.py 0 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__init__.py 0 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/_conditional.py 38 17 55% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py 51 4 92% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/__init__.py 1 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/__init__.py 1 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py 68 18 74% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__init__.py 0 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_asymmetric.py 6 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_cipheralgorithm.py 23 1 96% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/_serialization.py 79 35 56% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py 0 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py 172 22 87% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.py 55 23 58% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/rsa.py 93 40 57% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/utils.py 14 5 64% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__init__.py 4 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py 72 13 82% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/base.py 54 3 94% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py 140 50 64% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py 6 3 50% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py 127 20 84% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hmac.py 6 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__init__.py 7 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py 27 5 81% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py 104 37 64% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/cryptography/utils.py 76 25 67% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/__init__.py 13 4 69% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/_common.py 25 15 40% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/_version.py 11 2 82% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/parser/__init__.py 33 4 88% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/parser/_parser.py 811 436 46% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/parser/isoparser.py 184 150 18% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/relativedelta.py 240 206 14% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/tz/__init__.py 4 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/tz/_common.py 151 114 25% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/tz/_factories.py 49 21 57% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/tz/tz.py 795 626 21% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/dateutil/tz/win.py 153 149 3% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/__init__.py 13 2 85% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/__main__.py 199 65 67% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/api.py 780 289 63% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/async_executor.py 96 15 84% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/collections.py 56 6 89% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/config.py 371 98 74% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/config_generator.py 212 159 25% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/daemon.py 76 3 96% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/dcs/__init__.py 654 83 87% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/dcs/raft.py 319 40 87% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/dynamic_loader.py 35 7 80% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/exceptions.py 16 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/file_perm.py 43 8 81% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/global_config.py 81 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/ha.py 1270 311 76% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/log.py 221 71 68% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/__init__.py 822 170 79% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/available_parameters/__init__.py 24 3 88% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/bootstrap.py 255 62 76% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/callback_executor.py 55 8 85% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/cancellable.py 104 41 61% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/config.py 838 217 74% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/connection.py 75 1 99% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/misc.py 43 8 81% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/mpp/__init__.py 89 11 88% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/postmaster.py 170 85 50% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/rewind.py 416 163 61% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/slots.py 349 37 89% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/sync.py 130 19 85% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/postgresql/validator.py 157 24 85% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/psycopg.py 46 20 57% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/request.py 58 6 90% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/tags.py 38 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/utils.py 370 122 67% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/validator.py 307 214 30% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/version.py 1 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/watchdog/__init__.py 2 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/watchdog/base.py 203 42 79% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/patroni/watchdog/linux.py 135 35 74% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psutil/__init__.py 951 629 34% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psutil/_common.py 424 212 50% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psutil/_compat.py 302 263 13% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psutil/_pslinux.py 1251 924 26% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psutil/_psposix.py 96 38 60% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psycopg2/__init__.py 19 3 84% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psycopg2/_json.py 64 27 58% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psycopg2/_range.py 269 172 36% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psycopg2/errors.py 3 2 33% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/psycopg2/extensions.py 91 25 73% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/__init__.py 2 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/atomic_replace.py 4 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/config.py 80 1 99% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/dns_resolver.py 51 10 80% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/encryptor.py 17 2 88% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/fast_queue.py 21 1 95% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/journal.py 193 37 81% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/monotonic.py 77 70 9% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/node.py 49 10 80% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/pickle.py 52 32 38% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/pipe_notifier.py 24 2 92% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/poller.py 87 41 53% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/serializer.py 166 132 20% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/syncobj.py 1045 378 64% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/tcp_connection.py 250 35 86% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/tcp_server.py 56 12 79% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/transport.py 266 57 79% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/utility.py 59 7 88% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/version.py 1 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/pysyncobj/win_inet_pton.py 44 31 30% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/__init__.py 50 14 72% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/_base_connection.py 70 52 26% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/_collections.py 234 107 54% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/_request_methods.py 53 15 72% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/_version.py 2 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/connection.py 324 104 68% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/connectionpool.py 347 136 61% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/exceptions.py 115 37 68% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/fields.py 92 73 21% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/filepost.py 37 24 35% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/poolmanager.py 233 88 62% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/response.py 562 336 40% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/__init__.py 10 0 100% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/connection.py 66 9 86% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/proxy.py 13 6 54% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/request.py 104 49 53% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/response.py 32 17 47% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/retry.py 173 49 72% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/ssl_.py 177 75 58% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/ssl_match_hostname.py 66 54 18% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/ssltransport.py 160 112 30% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/timeout.py 71 19 73% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/url.py 205 78 62% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/util.py 26 9 65% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/urllib3/util/wait.py 49 38 22% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/__init__.py 165 109 34% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/composer.py 92 17 82% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/constructor.py 479 276 42% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/cyaml.py 46 24 48% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/dumper.py 23 12 48% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/emitter.py 838 769 8% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/error.py 58 42 28% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/events.py 61 6 90% 2801s + echo '### End 16 acceptance-raft ###' 2801s + rm -f '/tmp/pgpass?' 2801s ++ id -u 2801s + '[' 1000 -eq 0 ']' 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/loader.py 47 24 49% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/nodes.py 29 7 76% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/parser.py 352 180 49% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/reader.py 122 30 75% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/representer.py 248 176 29% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/resolver.py 135 76 44% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/scanner.py 758 415 45% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/serializer.py 85 70 18% 2801s Jan 08 13:05:10 /usr/lib/python3/dist-packages/yaml/tokens.py 76 17 78% 2801s Jan 08 13:05:10 patroni/__init__.py 13 2 85% 2801s Jan 08 13:05:10 patroni/__main__.py 199 199 0% 2801s Jan 08 13:05:10 patroni/api.py 780 780 0% 2801s Jan 08 13:05:10 patroni/async_executor.py 96 69 28% 2801s Jan 08 13:05:10 patroni/collections.py 56 15 73% 2801s Jan 08 13:05:10 patroni/config.py 371 189 49% 2801s Jan 08 13:05:10 patroni/config_generator.py 212 212 0% 2801s Jan 08 13:05:10 patroni/ctl.py 936 411 56% 2801s Jan 08 13:05:10 patroni/daemon.py 76 6 92% 2801s Jan 08 13:05:10 patroni/dcs/__init__.py 654 273 58% 2801s Jan 08 13:05:10 patroni/dcs/consul.py 484 484 0% 2801s Jan 08 13:05:10 patroni/dcs/etcd3.py 679 679 0% 2801s Jan 08 13:05:10 patroni/dcs/etcd.py 603 603 0% 2801s Jan 08 13:05:10 patroni/dcs/exhibitor.py 62 62 0% 2801s Jan 08 13:05:10 patroni/dcs/kubernetes.py 940 940 0% 2801s Jan 08 13:05:10 patroni/dcs/raft.py 319 73 77% 2801s Jan 08 13:05:10 patroni/dcs/zookeeper.py 289 289 0% 2801s Jan 08 13:05:10 patroni/dynamic_loader.py 35 7 80% 2801s Jan 08 13:05:10 patroni/exceptions.py 16 1 94% 2801s Jan 08 13:05:10 patroni/file_perm.py 43 15 65% 2801s Jan 08 13:05:10 patroni/global_config.py 81 18 78% 2801s Jan 08 13:05:10 patroni/ha.py 1270 1270 0% 2801s Jan 08 13:05:10 patroni/log.py 221 95 57% 2801s Jan 08 13:05:10 patroni/postgresql/__init__.py 822 652 21% 2801s Jan 08 13:05:10 patroni/postgresql/available_parameters/__init__.py 24 3 88% 2801s Jan 08 13:05:10 patroni/postgresql/bootstrap.py 255 225 12% 2801s Jan 08 13:05:10 patroni/postgresql/callback_executor.py 55 34 38% 2801s Jan 08 13:05:10 patroni/postgresql/cancellable.py 104 84 19% 2801s Jan 08 13:05:10 patroni/postgresql/config.py 838 718 14% 2801s Jan 08 13:05:10 patroni/postgresql/connection.py 75 50 33% 2801s Jan 08 13:05:10 patroni/postgresql/misc.py 43 30 30% 2801s Jan 08 13:05:10 patroni/postgresql/mpp/__init__.py 89 21 76% 2801s Jan 08 13:05:10 patroni/postgresql/mpp/citus.py 259 259 0% 2801s Jan 08 13:05:10 patroni/postgresql/postmaster.py 170 139 18% 2801s Jan 08 13:05:10 patroni/postgresql/rewind.py 416 416 0% 2801s Jan 08 13:05:10 patroni/postgresql/slots.py 349 300 14% 2801s Jan 08 13:05:10 patroni/postgresql/sync.py 130 96 26% 2801s Jan 08 13:05:10 patroni/postgresql/validator.py 157 52 67% 2801s Jan 08 13:05:10 patroni/psycopg.py 46 32 30% 2801s Jan 08 13:05:10 patroni/raft_controller.py 22 1 95% 2801s Jan 08 13:05:10 patroni/request.py 58 6 90% 2801s Jan 08 13:05:10 patroni/scripts/__init__.py 0 0 100% 2801s Jan 08 13:05:10 patroni/scripts/aws.py 59 59 0% 2801s Jan 08 13:05:10 patroni/scripts/barman/__init__.py 0 0 100% 2801s Jan 08 13:05:10 patroni/scripts/barman/cli.py 51 51 0% 2801s Jan 08 13:05:10 patroni/scripts/barman/config_switch.py 51 51 0% 2801s Jan 08 13:05:10 patroni/scripts/barman/recover.py 37 37 0% 2801s Jan 08 13:05:10 patroni/scripts/barman/utils.py 94 94 0% 2801s Jan 08 13:05:10 patroni/scripts/wale_restore.py 207 207 0% 2801s Jan 08 13:05:10 patroni/tags.py 38 11 71% 2801s Jan 08 13:05:10 patroni/utils.py 370 233 37% 2801s Jan 08 13:05:10 patroni/validator.py 307 221 28% 2801s Jan 08 13:05:10 patroni/version.py 1 0 100% 2801s Jan 08 13:05:10 patroni/watchdog/__init__.py 2 2 0% 2801s Jan 08 13:05:10 patroni/watchdog/base.py 203 203 0% 2801s Jan 08 13:05:10 patroni/watchdog/linux.py 135 135 0% 2801s Jan 08 13:05:10 ---------------------------------------------------------------------------------------------------------- 2801s Jan 08 13:05:10 TOTAL 40175 22733 43% 2801s Jan 08 13:05:10 12 features passed, 0 failed, 1 skipped 2801s Jan 08 13:05:10 54 scenarios passed, 0 failed, 6 skipped 2801s Jan 08 13:05:10 525 steps passed, 0 failed, 63 skipped, 0 undefined 2801s Jan 08 13:05:10 Took 9m0.748s 2801s ### End 16 acceptance-raft ### 2801s autopkgtest [13:05:10]: test acceptance-raft: -----------------------] 2802s acceptance-raft PASS 2802s autopkgtest [13:05:11]: test acceptance-raft: - - - - - - - - - - results - - - - - - - - - - 2802s autopkgtest [13:05:11]: test test: preparing testbed 2865s autopkgtest [13:06:14]: testbed dpkg architecture: s390x 2865s autopkgtest [13:06:14]: testbed apt version: 2.9.18 2865s autopkgtest [13:06:14]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2865s autopkgtest [13:06:14]: testbed release detected to be: plucky 2866s autopkgtest [13:06:15]: updating testbed package index (apt update) 2866s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 2867s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 2867s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 2867s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 2867s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [129 kB] 2867s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.3 kB] 2867s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 2867s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [817 kB] 2867s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [235 kB] 2867s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [756 B] 2867s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [914 kB] 2868s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [5576 B] 2868s Fetched 2201 kB in 2s (1279 kB/s) 2869s Reading package lists... 2869s Reading package lists... 2869s Building dependency tree... 2869s Reading state information... 2869s Calculating upgrade... 2870s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2870s Reading package lists... 2870s Building dependency tree... 2870s Reading state information... 2870s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2870s autopkgtest [13:06:19]: upgrading testbed (apt dist-upgrade and autopurge) 2870s Reading package lists... 2870s Building dependency tree... 2870s Reading state information... 2870s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 2870s Starting 2 pkgProblemResolver with broken count: 0 2870s Done 2871s Entering ResolveByKeep 2871s 2871s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2871s Reading package lists... 2871s Building dependency tree... 2871s Reading state information... 2871s Starting pkgProblemResolver with broken count: 0 2871s Starting 2 pkgProblemResolver with broken count: 0 2871s Done 2871s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2874s Reading package lists... 2874s Building dependency tree... 2874s Reading state information... 2874s Starting pkgProblemResolver with broken count: 0 2874s Starting 2 pkgProblemResolver with broken count: 0 2874s Done 2875s The following NEW packages will be installed: 2875s fonts-font-awesome fonts-lato libcares2 libev4t64 libjs-jquery 2875s libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata 2875s libjs-jquery-tablesorter libjs-jquery-throttle-debounce libjs-sphinxdoc 2875s libjs-underscore libpq5 libpython3.13-minimal libpython3.13-stdlib patroni 2875s patroni-doc python3-aiohappyeyeballs python3-aiohttp python3-aiosignal 2875s python3-async-timeout python3-boto3 python3-botocore python3-cachetools 2875s python3-cdiff python3-click python3-colorama python3-consul python3-coverage 2875s python3-dateutil python3-dnspython python3-etcd python3-eventlet 2875s python3-flake8 python3-frozenlist python3-gevent python3-google-auth 2875s python3-greenlet python3-iniconfig python3-jmespath python3-kazoo 2875s python3-kerberos python3-kubernetes python3-mccabe python3-mock 2875s python3-multidict python3-packaging python3-pluggy python3-prettytable 2875s python3-psutil python3-psycopg2 python3-pure-sasl python3-pyasn1 2875s python3-pyasn1-modules python3-pycodestyle python3-pyflakes 2875s python3-pysyncobj python3-pytest python3-pytest-cov python3-pyu2f 2875s python3-requests-oauthlib python3-responses python3-rsa python3-s3transfer 2875s python3-six python3-wcwidth python3-websocket python3-yarl python3-ydiff 2875s python3-zope.event python3-zope.interface python3.13 python3.13-minimal 2875s sphinx-rtd-theme-common 2875s 0 upgraded, 74 newly installed, 0 to remove and 0 not upgraded. 2875s Need to get 23.3 MB of archives. 2875s After this operation, 184 MB of additional disk space will be used. 2875s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-lato all 2.015-1 [2781 kB] 2876s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-minimal s390x 3.13.1-2 [880 kB] 2876s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-minimal s390x 3.13.1-2 [2364 kB] 2877s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 2877s Get:5 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 2877s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-font-awesome all 5.0.10+really4.7.0~dfsg-4.1 [516 kB] 2877s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x libcares2 s390x 1.34.4-2.1 [101 kB] 2877s Get:8 http://ftpmaster.internal/ubuntu plucky/universe s390x libev4t64 s390x 1:4.33-2.1build1 [32.0 kB] 2877s Get:9 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-jquery-metadata all 12-4 [6582 B] 2877s Get:10 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 2877s Get:11 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 2877s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 2877s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libjs-sphinxdoc all 8.1.3-4 [30.9 kB] 2877s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x libpq5 s390x 17.2-1 [146 kB] 2877s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-stdlib s390x 3.13.1-2 [2074 kB] 2877s Get:16 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ydiff all 1.4.2-1 [19.0 kB] 2877s Get:17 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-cdiff all 1.4.2-1 [1778 B] 2877s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x python3-colorama all 0.4.6-4 [32.1 kB] 2877s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x python3-click all 8.1.7-2 [79.5 kB] 2877s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-3 [80.2 kB] 2877s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 2877s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x python3-prettytable all 3.12.0-1 [36.5 kB] 2877s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psutil s390x 5.9.8-2build3 [195 kB] 2877s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psycopg2 s390x 2.9.10-1 [147 kB] 2877s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 2877s Get:26 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-etcd all 0.4.5-6 [32.1 kB] 2877s Get:27 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-consul all 1.5.1+dfsg-1 [21.7 kB] 2877s Get:28 http://ftpmaster.internal/ubuntu plucky/main s390x python3-greenlet s390x 3.1.0-1 [176 kB] 2877s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x python3-eventlet all 0.36.1-11ubuntu1 [275 kB] 2877s Get:30 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-zope.event all 5.0-0.1 [7512 B] 2877s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x python3-zope.interface s390x 7.2-1 [140 kB] 2878s Get:32 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-gevent s390x 24.11.1-1 [1095 kB] 2878s Get:33 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-kerberos s390x 1.1.14-3.1build10 [21.4 kB] 2878s Get:34 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pure-sasl all 0.5.1+dfsg1-5 [11.4 kB] 2878s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.17.0-1 [13.2 kB] 2878s Get:36 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-kazoo all 2.9.0-2 [103 kB] 2878s Get:37 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-multidict s390x 6.1.0-1build1 [38.4 kB] 2878s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-yarl s390x 1.13.1-1build1 [122 kB] 2878s Get:39 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-async-timeout all 5.0.1-1 [6830 B] 2878s Get:40 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-aiohappyeyeballs all 2.4.4-2 [10.6 kB] 2878s Get:41 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-frozenlist s390x 1.5.0-1build1 [64.2 kB] 2878s Get:42 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-aiosignal all 1.3.1-1 [5172 B] 2878s Get:43 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-aiohttp s390x 3.10.11-1 [363 kB] 2878s Get:44 http://ftpmaster.internal/ubuntu plucky/main s390x python3-cachetools all 5.3.3-1 [10.3 kB] 2878s Get:45 http://ftpmaster.internal/ubuntu plucky/main s390x python3-pyasn1 all 0.6.0-1 [57.8 kB] 2878s Get:46 http://ftpmaster.internal/ubuntu plucky/main s390x python3-pyasn1-modules all 0.4.1-1 [80.2 kB] 2878s Get:47 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pyu2f all 0.1.5-4 [22.9 kB] 2878s Get:48 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-responses all 0.25.3-1 [54.3 kB] 2878s Get:49 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-rsa all 4.9-2 [28.2 kB] 2878s Get:50 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-google-auth all 2.28.2-3 [91.0 kB] 2878s Get:51 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-requests-oauthlib all 1.3.1-1 [18.8 kB] 2878s Get:52 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-websocket all 1.8.0-2 [38.5 kB] 2878s Get:53 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-kubernetes all 30.1.0-1 [386 kB] 2878s Get:54 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pysyncobj all 0.3.12-1 [38.9 kB] 2878s Get:55 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni all 3.3.4-1 [269 kB] 2878s Get:56 http://ftpmaster.internal/ubuntu plucky/main s390x sphinx-rtd-theme-common all 3.0.2+dfsg-1 [1014 kB] 2878s Get:57 http://ftpmaster.internal/ubuntu plucky/universe s390x patroni-doc all 3.3.4-1 [508 kB] 2878s Get:58 http://ftpmaster.internal/ubuntu plucky/main s390x python3-jmespath all 1.0.1-1 [21.3 kB] 2878s Get:59 http://ftpmaster.internal/ubuntu plucky/main s390x python3-botocore all 1.34.46+repack-1ubuntu1 [6211 kB] 2878s Get:60 http://ftpmaster.internal/ubuntu plucky/main s390x python3-s3transfer all 0.10.1-1ubuntu2 [54.3 kB] 2878s Get:61 http://ftpmaster.internal/ubuntu plucky/main s390x python3-boto3 all 1.34.46+dfsg-1ubuntu1 [72.5 kB] 2878s Get:62 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13 s390x 3.13.1-2 [729 kB] 2879s Get:63 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-coverage s390x 7.4.4+dfsg1-0ubuntu3 [150 kB] 2879s Get:64 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-mccabe all 0.7.0-1 [8678 B] 2879s Get:65 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pycodestyle all 2.12.1-1 [30.1 kB] 2879s Get:66 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pyflakes all 3.2.0-2 [52.9 kB] 2879s Get:67 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-flake8 all 7.1.1-2 [44.1 kB] 2879s Get:68 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 2879s Get:69 http://ftpmaster.internal/ubuntu plucky/main s390x python3-packaging all 24.2-1 [51.5 kB] 2879s Get:70 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 2879s Get:71 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pytest all 8.3.3-1 [251 kB] 2879s Get:72 http://ftpmaster.internal/ubuntu plucky/universe s390x libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 2879s Get:73 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pytest-cov all 5.0.0-1 [21.3 kB] 2879s Get:74 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-mock all 5.1.0-1 [64.1 kB] 2879s Fetched 23.3 MB in 4s (5705 kB/s) 2879s Selecting previously unselected package fonts-lato. 2879s (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 ... 55616 files and directories currently installed.) 2879s Preparing to unpack .../00-fonts-lato_2.015-1_all.deb ... 2879s Unpacking fonts-lato (2.015-1) ... 2879s Selecting previously unselected package libpython3.13-minimal:s390x. 2879s Preparing to unpack .../01-libpython3.13-minimal_3.13.1-2_s390x.deb ... 2879s Unpacking libpython3.13-minimal:s390x (3.13.1-2) ... 2879s Selecting previously unselected package python3.13-minimal. 2879s Preparing to unpack .../02-python3.13-minimal_3.13.1-2_s390x.deb ... 2879s Unpacking python3.13-minimal (3.13.1-2) ... 2879s Selecting previously unselected package libjs-jquery. 2879s Preparing to unpack .../03-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 2879s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2879s Selecting previously unselected package libjs-jquery-hotkeys. 2879s Preparing to unpack .../04-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 2879s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 2879s Selecting previously unselected package fonts-font-awesome. 2879s Preparing to unpack .../05-fonts-font-awesome_5.0.10+really4.7.0~dfsg-4.1_all.deb ... 2880s Unpacking fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2880s Selecting previously unselected package libcares2:s390x. 2880s Preparing to unpack .../06-libcares2_1.34.4-2.1_s390x.deb ... 2880s Unpacking libcares2:s390x (1.34.4-2.1) ... 2880s Selecting previously unselected package libev4t64:s390x. 2880s Preparing to unpack .../07-libev4t64_1%3a4.33-2.1build1_s390x.deb ... 2880s Unpacking libev4t64:s390x (1:4.33-2.1build1) ... 2880s Selecting previously unselected package libjs-jquery-metadata. 2880s Preparing to unpack .../08-libjs-jquery-metadata_12-4_all.deb ... 2880s Unpacking libjs-jquery-metadata (12-4) ... 2880s Selecting previously unselected package libjs-jquery-tablesorter. 2880s Preparing to unpack .../09-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 2880s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 2880s Selecting previously unselected package libjs-jquery-throttle-debounce. 2880s Preparing to unpack .../10-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 2880s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 2880s Selecting previously unselected package libjs-underscore. 2880s Preparing to unpack .../11-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 2880s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2880s Selecting previously unselected package libjs-sphinxdoc. 2880s Preparing to unpack .../12-libjs-sphinxdoc_8.1.3-4_all.deb ... 2880s Unpacking libjs-sphinxdoc (8.1.3-4) ... 2880s Selecting previously unselected package libpq5:s390x. 2880s Preparing to unpack .../13-libpq5_17.2-1_s390x.deb ... 2880s Unpacking libpq5:s390x (17.2-1) ... 2880s Selecting previously unselected package libpython3.13-stdlib:s390x. 2880s Preparing to unpack .../14-libpython3.13-stdlib_3.13.1-2_s390x.deb ... 2880s Unpacking libpython3.13-stdlib:s390x (3.13.1-2) ... 2880s Selecting previously unselected package python3-ydiff. 2880s Preparing to unpack .../15-python3-ydiff_1.4.2-1_all.deb ... 2880s Unpacking python3-ydiff (1.4.2-1) ... 2880s Selecting previously unselected package python3-cdiff. 2880s Preparing to unpack .../16-python3-cdiff_1.4.2-1_all.deb ... 2880s Unpacking python3-cdiff (1.4.2-1) ... 2880s Selecting previously unselected package python3-colorama. 2880s Preparing to unpack .../17-python3-colorama_0.4.6-4_all.deb ... 2880s Unpacking python3-colorama (0.4.6-4) ... 2880s Selecting previously unselected package python3-click. 2880s Preparing to unpack .../18-python3-click_8.1.7-2_all.deb ... 2880s Unpacking python3-click (8.1.7-2) ... 2880s Selecting previously unselected package python3-dateutil. 2880s Preparing to unpack .../19-python3-dateutil_2.9.0-3_all.deb ... 2880s Unpacking python3-dateutil (2.9.0-3) ... 2880s Selecting previously unselected package python3-wcwidth. 2880s Preparing to unpack .../20-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 2880s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 2880s Selecting previously unselected package python3-prettytable. 2880s Preparing to unpack .../21-python3-prettytable_3.12.0-1_all.deb ... 2880s Unpacking python3-prettytable (3.12.0-1) ... 2880s Selecting previously unselected package python3-psutil. 2880s Preparing to unpack .../22-python3-psutil_5.9.8-2build3_s390x.deb ... 2880s Unpacking python3-psutil (5.9.8-2build3) ... 2880s Selecting previously unselected package python3-psycopg2. 2880s Preparing to unpack .../23-python3-psycopg2_2.9.10-1_s390x.deb ... 2880s Unpacking python3-psycopg2 (2.9.10-1) ... 2880s Selecting previously unselected package python3-dnspython. 2880s Preparing to unpack .../24-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 2880s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 2880s Selecting previously unselected package python3-etcd. 2880s Preparing to unpack .../25-python3-etcd_0.4.5-6_all.deb ... 2880s Unpacking python3-etcd (0.4.5-6) ... 2880s Selecting previously unselected package python3-consul. 2880s Preparing to unpack .../26-python3-consul_1.5.1+dfsg-1_all.deb ... 2880s Unpacking python3-consul (1.5.1+dfsg-1) ... 2880s Selecting previously unselected package python3-greenlet. 2880s Preparing to unpack .../27-python3-greenlet_3.1.0-1_s390x.deb ... 2880s Unpacking python3-greenlet (3.1.0-1) ... 2880s Selecting previously unselected package python3-eventlet. 2880s Preparing to unpack .../28-python3-eventlet_0.36.1-11ubuntu1_all.deb ... 2880s Unpacking python3-eventlet (0.36.1-11ubuntu1) ... 2880s Selecting previously unselected package python3-zope.event. 2880s Preparing to unpack .../29-python3-zope.event_5.0-0.1_all.deb ... 2880s Unpacking python3-zope.event (5.0-0.1) ... 2880s Selecting previously unselected package python3-zope.interface. 2880s Preparing to unpack .../30-python3-zope.interface_7.2-1_s390x.deb ... 2880s Unpacking python3-zope.interface (7.2-1) ... 2880s Selecting previously unselected package python3-gevent. 2880s Preparing to unpack .../31-python3-gevent_24.11.1-1_s390x.deb ... 2880s Unpacking python3-gevent (24.11.1-1) ... 2880s Selecting previously unselected package python3-kerberos. 2880s Preparing to unpack .../32-python3-kerberos_1.1.14-3.1build10_s390x.deb ... 2880s Unpacking python3-kerberos (1.1.14-3.1build10) ... 2880s Selecting previously unselected package python3-pure-sasl. 2880s Preparing to unpack .../33-python3-pure-sasl_0.5.1+dfsg1-5_all.deb ... 2880s Unpacking python3-pure-sasl (0.5.1+dfsg1-5) ... 2880s Selecting previously unselected package python3-six. 2880s Preparing to unpack .../34-python3-six_1.17.0-1_all.deb ... 2880s Unpacking python3-six (1.17.0-1) ... 2880s Selecting previously unselected package python3-kazoo. 2880s Preparing to unpack .../35-python3-kazoo_2.9.0-2_all.deb ... 2880s Unpacking python3-kazoo (2.9.0-2) ... 2880s Selecting previously unselected package python3-multidict. 2880s Preparing to unpack .../36-python3-multidict_6.1.0-1build1_s390x.deb ... 2880s Unpacking python3-multidict (6.1.0-1build1) ... 2880s Selecting previously unselected package python3-yarl. 2880s Preparing to unpack .../37-python3-yarl_1.13.1-1build1_s390x.deb ... 2880s Unpacking python3-yarl (1.13.1-1build1) ... 2880s Selecting previously unselected package python3-async-timeout. 2880s Preparing to unpack .../38-python3-async-timeout_5.0.1-1_all.deb ... 2880s Unpacking python3-async-timeout (5.0.1-1) ... 2880s Selecting previously unselected package python3-aiohappyeyeballs. 2880s Preparing to unpack .../39-python3-aiohappyeyeballs_2.4.4-2_all.deb ... 2880s Unpacking python3-aiohappyeyeballs (2.4.4-2) ... 2880s Selecting previously unselected package python3-frozenlist. 2880s Preparing to unpack .../40-python3-frozenlist_1.5.0-1build1_s390x.deb ... 2880s Unpacking python3-frozenlist (1.5.0-1build1) ... 2880s Selecting previously unselected package python3-aiosignal. 2880s Preparing to unpack .../41-python3-aiosignal_1.3.1-1_all.deb ... 2880s Unpacking python3-aiosignal (1.3.1-1) ... 2880s Selecting previously unselected package python3-aiohttp. 2880s Preparing to unpack .../42-python3-aiohttp_3.10.11-1_s390x.deb ... 2880s Unpacking python3-aiohttp (3.10.11-1) ... 2880s Selecting previously unselected package python3-cachetools. 2880s Preparing to unpack .../43-python3-cachetools_5.3.3-1_all.deb ... 2880s Unpacking python3-cachetools (5.3.3-1) ... 2880s Selecting previously unselected package python3-pyasn1. 2880s Preparing to unpack .../44-python3-pyasn1_0.6.0-1_all.deb ... 2880s Unpacking python3-pyasn1 (0.6.0-1) ... 2880s Selecting previously unselected package python3-pyasn1-modules. 2880s Preparing to unpack .../45-python3-pyasn1-modules_0.4.1-1_all.deb ... 2880s Unpacking python3-pyasn1-modules (0.4.1-1) ... 2880s Selecting previously unselected package python3-pyu2f. 2880s Preparing to unpack .../46-python3-pyu2f_0.1.5-4_all.deb ... 2880s Unpacking python3-pyu2f (0.1.5-4) ... 2880s Selecting previously unselected package python3-responses. 2880s Preparing to unpack .../47-python3-responses_0.25.3-1_all.deb ... 2880s Unpacking python3-responses (0.25.3-1) ... 2880s Selecting previously unselected package python3-rsa. 2880s Preparing to unpack .../48-python3-rsa_4.9-2_all.deb ... 2880s Unpacking python3-rsa (4.9-2) ... 2880s Selecting previously unselected package python3-google-auth. 2880s Preparing to unpack .../49-python3-google-auth_2.28.2-3_all.deb ... 2880s Unpacking python3-google-auth (2.28.2-3) ... 2880s Selecting previously unselected package python3-requests-oauthlib. 2880s Preparing to unpack .../50-python3-requests-oauthlib_1.3.1-1_all.deb ... 2880s Unpacking python3-requests-oauthlib (1.3.1-1) ... 2880s Selecting previously unselected package python3-websocket. 2880s Preparing to unpack .../51-python3-websocket_1.8.0-2_all.deb ... 2880s Unpacking python3-websocket (1.8.0-2) ... 2880s Selecting previously unselected package python3-kubernetes. 2880s Preparing to unpack .../52-python3-kubernetes_30.1.0-1_all.deb ... 2880s Unpacking python3-kubernetes (30.1.0-1) ... 2880s Selecting previously unselected package python3-pysyncobj. 2880s Preparing to unpack .../53-python3-pysyncobj_0.3.12-1_all.deb ... 2880s Unpacking python3-pysyncobj (0.3.12-1) ... 2880s Selecting previously unselected package patroni. 2880s Preparing to unpack .../54-patroni_3.3.4-1_all.deb ... 2880s Unpacking patroni (3.3.4-1) ... 2880s Selecting previously unselected package sphinx-rtd-theme-common. 2880s Preparing to unpack .../55-sphinx-rtd-theme-common_3.0.2+dfsg-1_all.deb ... 2880s Unpacking sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2880s Selecting previously unselected package patroni-doc. 2880s Preparing to unpack .../56-patroni-doc_3.3.4-1_all.deb ... 2880s Unpacking patroni-doc (3.3.4-1) ... 2880s Selecting previously unselected package python3-jmespath. 2880s Preparing to unpack .../57-python3-jmespath_1.0.1-1_all.deb ... 2880s Unpacking python3-jmespath (1.0.1-1) ... 2880s Selecting previously unselected package python3-botocore. 2880s Preparing to unpack .../58-python3-botocore_1.34.46+repack-1ubuntu1_all.deb ... 2880s Unpacking python3-botocore (1.34.46+repack-1ubuntu1) ... 2881s Selecting previously unselected package python3-s3transfer. 2881s Preparing to unpack .../59-python3-s3transfer_0.10.1-1ubuntu2_all.deb ... 2881s Unpacking python3-s3transfer (0.10.1-1ubuntu2) ... 2881s Selecting previously unselected package python3-boto3. 2881s Preparing to unpack .../60-python3-boto3_1.34.46+dfsg-1ubuntu1_all.deb ... 2881s Unpacking python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 2881s Selecting previously unselected package python3.13. 2881s Preparing to unpack .../61-python3.13_3.13.1-2_s390x.deb ... 2881s Unpacking python3.13 (3.13.1-2) ... 2881s Selecting previously unselected package python3-coverage. 2881s Preparing to unpack .../62-python3-coverage_7.4.4+dfsg1-0ubuntu3_s390x.deb ... 2881s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2881s Selecting previously unselected package python3-mccabe. 2881s Preparing to unpack .../63-python3-mccabe_0.7.0-1_all.deb ... 2881s Unpacking python3-mccabe (0.7.0-1) ... 2881s Selecting previously unselected package python3-pycodestyle. 2881s Preparing to unpack .../64-python3-pycodestyle_2.12.1-1_all.deb ... 2881s Unpacking python3-pycodestyle (2.12.1-1) ... 2881s Selecting previously unselected package python3-pyflakes. 2881s Preparing to unpack .../65-python3-pyflakes_3.2.0-2_all.deb ... 2881s Unpacking python3-pyflakes (3.2.0-2) ... 2881s Selecting previously unselected package python3-flake8. 2881s Preparing to unpack .../66-python3-flake8_7.1.1-2_all.deb ... 2881s Unpacking python3-flake8 (7.1.1-2) ... 2881s Selecting previously unselected package python3-iniconfig. 2881s Preparing to unpack .../67-python3-iniconfig_1.1.1-2_all.deb ... 2881s Unpacking python3-iniconfig (1.1.1-2) ... 2881s Selecting previously unselected package python3-packaging. 2881s Preparing to unpack .../68-python3-packaging_24.2-1_all.deb ... 2881s Unpacking python3-packaging (24.2-1) ... 2881s Selecting previously unselected package python3-pluggy. 2881s Preparing to unpack .../69-python3-pluggy_1.5.0-1_all.deb ... 2881s Unpacking python3-pluggy (1.5.0-1) ... 2881s Selecting previously unselected package python3-pytest. 2881s Preparing to unpack .../70-python3-pytest_8.3.3-1_all.deb ... 2881s Unpacking python3-pytest (8.3.3-1) ... 2881s Selecting previously unselected package libjs-jquery-isonscreen. 2881s Preparing to unpack .../71-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 2881s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 2881s Selecting previously unselected package python3-pytest-cov. 2881s Preparing to unpack .../72-python3-pytest-cov_5.0.0-1_all.deb ... 2881s Unpacking python3-pytest-cov (5.0.0-1) ... 2881s Selecting previously unselected package python3-mock. 2881s Preparing to unpack .../73-python3-mock_5.1.0-1_all.deb ... 2881s Unpacking python3-mock (5.1.0-1) ... 2881s Setting up python3-iniconfig (1.1.1-2) ... 2881s Setting up libev4t64:s390x (1:4.33-2.1build1) ... 2881s Setting up fonts-lato (2.015-1) ... 2881s Setting up python3-pysyncobj (0.3.12-1) ... 2881s Setting up python3-cachetools (5.3.3-1) ... 2882s Setting up python3-colorama (0.4.6-4) ... 2882s Setting up python3-zope.event (5.0-0.1) ... 2882s Setting up python3-zope.interface (7.2-1) ... 2882s Setting up python3-pyflakes (3.2.0-2) ... 2882s Setting up python3-ydiff (1.4.2-1) ... 2883s Setting up libpq5:s390x (17.2-1) ... 2883s Setting up python3-kerberos (1.1.14-3.1build10) ... 2883s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 2883s Setting up python3-click (8.1.7-2) ... 2883s Setting up python3-psutil (5.9.8-2build3) ... 2883s Setting up python3-multidict (6.1.0-1build1) ... 2884s Setting up python3-frozenlist (1.5.0-1build1) ... 2884s Setting up python3-aiosignal (1.3.1-1) ... 2884s Setting up python3-mock (5.1.0-1) ... 2884s Setting up python3-async-timeout (5.0.1-1) ... 2884s Setting up python3-six (1.17.0-1) ... 2884s Setting up libpython3.13-minimal:s390x (3.13.1-2) ... 2884s Setting up python3-responses (0.25.3-1) ... 2884s Setting up python3-pycodestyle (2.12.1-1) ... 2884s Setting up python3-packaging (24.2-1) ... 2885s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 2885s Setting up python3-pyu2f (0.1.5-4) ... 2885s Setting up python3-jmespath (1.0.1-1) ... 2885s Setting up python3-greenlet (3.1.0-1) ... 2885s Setting up libcares2:s390x (1.34.4-2.1) ... 2885s Setting up python3-psycopg2 (2.9.10-1) ... 2886s Setting up python3-aiohappyeyeballs (2.4.4-2) ... 2886s Setting up python3-pluggy (1.5.0-1) ... 2886s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 2886s Setting up python3-pyasn1 (0.6.0-1) ... 2887s Setting up python3.13-minimal (3.13.1-2) ... 2887s Setting up python3-dateutil (2.9.0-3) ... 2887s Setting up python3-mccabe (0.7.0-1) ... 2887s Setting up python3-consul (1.5.1+dfsg-1) ... 2888s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 2888s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 2888s Setting up python3-prettytable (3.12.0-1) ... 2888s Setting up python3-yarl (1.13.1-1build1) ... 2888s Setting up libpython3.13-stdlib:s390x (3.13.1-2) ... 2888s Setting up fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) ... 2888s Setting up sphinx-rtd-theme-common (3.0.2+dfsg-1) ... 2888s Setting up python3-websocket (1.8.0-2) ... 2888s Setting up python3-requests-oauthlib (1.3.1-1) ... 2888s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 2888s Setting up python3-pure-sasl (0.5.1+dfsg1-5) ... 2888s Setting up python3.13 (3.13.1-2) ... 2889s Setting up python3-etcd (0.4.5-6) ... 2889s Setting up python3-pytest (8.3.3-1) ... 2890s Setting up python3-cdiff (1.4.2-1) ... 2890s Setting up python3-aiohttp (3.10.11-1) ... 2890s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 2891s Setting up python3-gevent (24.11.1-1) ... 2891s Setting up python3-flake8 (7.1.1-2) ... 2891s Setting up python3-eventlet (0.36.1-11ubuntu1) ... 2891s Setting up python3-kazoo (2.9.0-2) ... 2892s Setting up python3-pyasn1-modules (0.4.1-1) ... 2892s Setting up libjs-jquery-metadata (12-4) ... 2892s Setting up python3-botocore (1.34.46+repack-1ubuntu1) ... 2893s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 2893s Setting up libjs-sphinxdoc (8.1.3-4) ... 2893s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 2893s Setting up python3-rsa (4.9-2) ... 2893s Setting up patroni (3.3.4-1) ... 2893s Created symlink '/etc/systemd/system/multi-user.target.wants/patroni.service' → '/usr/lib/systemd/system/patroni.service'. 2894s Setting up patroni-doc (3.3.4-1) ... 2894s Setting up python3-s3transfer (0.10.1-1ubuntu2) ... 2894s Setting up python3-pytest-cov (5.0.0-1) ... 2894s Setting up python3-google-auth (2.28.2-3) ... 2894s Setting up python3-boto3 (1.34.46+dfsg-1ubuntu1) ... 2894s Setting up python3-kubernetes (30.1.0-1) ... 2897s Processing triggers for systemd (257-2ubuntu1) ... 2897s Processing triggers for man-db (2.13.0-1) ... 2897s Processing triggers for libc-bin (2.40-4ubuntu1) ... 2899s autopkgtest [13:06:48]: test test: [----------------------- 2900s running test 2900s ============================= test session starts ============================== 2900s platform linux -- Python 3.12.8, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3 2900s cachedir: .pytest_cache 2900s rootdir: /tmp/autopkgtest.Hw15Ah/build.K8p/src 2900s plugins: typeguard-4.4.1, cov-5.0.0 2906s collecting ... collected 657 items 2906s 2906s tests/test_api.py::TestRestApiHandler::test_RestApiServer_query PASSED [ 0%] 2906s tests/test_api.py::TestRestApiHandler::test_basicauth PASSED [ 0%] 2906s tests/test_api.py::TestRestApiHandler::test_do_DELETE_restart PASSED [ 0%] 2906s tests/test_api.py::TestRestApiHandler::test_do_DELETE_switchover PASSED [ 0%] 2906s tests/test_api.py::TestRestApiHandler::test_do_GET PASSED [ 0%] 2906s tests/test_api.py::TestRestApiHandler::test_do_GET_cluster PASSED [ 0%] 2906s tests/test_api.py::TestRestApiHandler::test_do_GET_config PASSED [ 1%] 2906s tests/test_api.py::TestRestApiHandler::test_do_GET_failsafe PASSED [ 1%] 2906s tests/test_api.py::TestRestApiHandler::test_do_GET_history PASSED [ 1%] 2906s tests/test_api.py::TestRestApiHandler::test_do_GET_liveness PASSED [ 1%] 2906s tests/test_api.py::TestRestApiHandler::test_do_GET_metrics PASSED [ 1%] 2906s tests/test_api.py::TestRestApiHandler::test_do_GET_patroni PASSED [ 1%] 2906s tests/test_api.py::TestRestApiHandler::test_do_GET_readiness PASSED [ 1%] 2906s tests/test_api.py::TestRestApiHandler::test_do_HEAD PASSED [ 2%] 2906s tests/test_api.py::TestRestApiHandler::test_do_OPTIONS PASSED [ 2%] 2906s tests/test_api.py::TestRestApiHandler::test_do_PATCH_config PASSED [ 2%] 2906s tests/test_api.py::TestRestApiHandler::test_do_POST_citus PASSED [ 2%] 2906s tests/test_api.py::TestRestApiHandler::test_do_POST_failover PASSED [ 2%] 2906s tests/test_api.py::TestRestApiHandler::test_do_POST_failsafe PASSED [ 2%] 2906s tests/test_api.py::TestRestApiHandler::test_do_POST_mpp PASSED [ 3%] 2906s tests/test_api.py::TestRestApiHandler::test_do_POST_reinitialize PASSED [ 3%] 2906s tests/test_api.py::TestRestApiHandler::test_do_POST_reload PASSED [ 3%] 2906s tests/test_api.py::TestRestApiHandler::test_do_POST_restart PASSED [ 3%] 2906s tests/test_api.py::TestRestApiHandler::test_do_POST_sigterm PASSED [ 3%] 2906s tests/test_api.py::TestRestApiHandler::test_do_POST_switchover PASSED [ 3%] 2906s tests/test_api.py::TestRestApiHandler::test_do_PUT_config PASSED [ 3%] 2906s tests/test_api.py::TestRestApiServer::test_check_access PASSED [ 4%] 2906s tests/test_api.py::TestRestApiServer::test_get_certificate_serial_number PASSED [ 4%] 2906s tests/test_api.py::TestRestApiServer::test_handle_error PASSED [ 4%] 2906s tests/test_api.py::TestRestApiServer::test_process_request_error PASSED [ 4%] 2906s tests/test_api.py::TestRestApiServer::test_process_request_thread PASSED [ 4%] 2906s tests/test_api.py::TestRestApiServer::test_query PASSED [ 4%] 2906s tests/test_api.py::TestRestApiServer::test_reload_config PASSED [ 5%] 2906s tests/test_api.py::TestRestApiServer::test_reload_local_certificate PASSED [ 5%] 2906s tests/test_api.py::TestRestApiServer::test_socket_error PASSED [ 5%] 2906s tests/test_async_executor.py::TestAsyncExecutor::test_cancel PASSED [ 5%] 2906s tests/test_async_executor.py::TestAsyncExecutor::test_run PASSED [ 5%] 2906s tests/test_async_executor.py::TestAsyncExecutor::test_run_async PASSED [ 5%] 2906s tests/test_async_executor.py::TestCriticalTask::test_completed_task PASSED [ 5%] 2906s tests/test_aws.py::TestAWSConnection::test_aws_bizare_response PASSED [ 6%] 2906s tests/test_aws.py::TestAWSConnection::test_main PASSED [ 6%] 2906s tests/test_aws.py::TestAWSConnection::test_non_aws PASSED [ 6%] 2907s tests/test_aws.py::TestAWSConnection::test_on_role_change PASSED [ 6%] 2907s tests/test_barman.py::test_set_up_logging PASSED [ 6%] 2907s tests/test_barman.py::TestPgBackupApi::test__build_full_url PASSED [ 6%] 2907s tests/test_barman.py::TestPgBackupApi::test__deserialize_response PASSED [ 7%] 2907s tests/test_barman.py::TestPgBackupApi::test__ensure_api_ok PASSED [ 7%] 2907s tests/test_barman.py::TestPgBackupApi::test__get_request PASSED [ 7%] 2907s tests/test_barman.py::TestPgBackupApi::test__post_request PASSED [ 7%] 2907s tests/test_barman.py::TestPgBackupApi::test__serialize_request PASSED [ 7%] 2907s tests/test_barman.py::TestPgBackupApi::test_create_config_switch_operation PASSED [ 7%] 2907s tests/test_barman.py::TestPgBackupApi::test_create_recovery_operation PASSED [ 7%] 2907s tests/test_barman.py::TestPgBackupApi::test_get_operation_status PASSED [ 8%] 2907s tests/test_barman.py::TestBarmanRecover::test__restore_backup PASSED [ 8%] 2907s tests/test_barman.py::TestBarmanRecoverCli::test_run_barman_recover PASSED [ 8%] 2907s tests/test_barman.py::TestBarmanConfigSwitch::test__switch_config PASSED [ 8%] 2907s tests/test_barman.py::TestBarmanConfigSwitchCli::test__should_skip_switch PASSED [ 8%] 2907s tests/test_barman.py::TestBarmanConfigSwitchCli::test_run_barman_config_switch PASSED [ 8%] 2907s tests/test_barman.py::TestMain::test_main PASSED [ 8%] 2907s tests/test_bootstrap.py::TestBootstrap::test__initdb PASSED [ 9%] 2907s tests/test_bootstrap.py::TestBootstrap::test__process_user_options PASSED [ 9%] 2907s tests/test_bootstrap.py::TestBootstrap::test_basebackup PASSED [ 9%] 2907s tests/test_bootstrap.py::TestBootstrap::test_bootstrap PASSED [ 9%] 2907s tests/test_bootstrap.py::TestBootstrap::test_call_post_bootstrap PASSED [ 9%] 2907s tests/test_bootstrap.py::TestBootstrap::test_clone PASSED [ 9%] 2907s tests/test_bootstrap.py::TestBootstrap::test_create_replica PASSED [ 10%] 2907s tests/test_bootstrap.py::TestBootstrap::test_create_replica_old_format PASSED [ 10%] 2907s tests/test_bootstrap.py::TestBootstrap::test_custom_bootstrap PASSED [ 10%] 2907s tests/test_bootstrap.py::TestBootstrap::test_post_bootstrap PASSED [ 10%] 2907s tests/test_callback_executor.py::TestCallbackExecutor::test_callback_executor PASSED [ 10%] 2907s tests/test_cancellable.py::TestCancellableSubprocess::test__kill_children PASSED [ 10%] 2907s tests/test_cancellable.py::TestCancellableSubprocess::test_call PASSED [ 10%] 2907s tests/test_cancellable.py::TestCancellableSubprocess::test_cancel PASSED [ 11%] 2907s tests/test_citus.py::TestCitus::test_add_task SKIPPED (Citus not tested) [ 11%] 2907s tests/test_citus.py::TestCitus::test_adjust_postgres_gucs SKIPPED (C...) [ 11%] 2907s tests/test_citus.py::TestCitus::test_bootstrap_duplicate_database SKIPPED [ 11%] 2907s tests/test_citus.py::TestCitus::test_handle_event SKIPPED (Citus not...) [ 11%] 2907s tests/test_citus.py::TestCitus::test_ignore_replication_slot SKIPPED [ 11%] 2907s tests/test_citus.py::TestCitus::test_load_pg_dist_node SKIPPED (Citu...) [ 12%] 2907s tests/test_citus.py::TestCitus::test_on_demote SKIPPED (Citus not te...) [ 12%] 2907s tests/test_citus.py::TestCitus::test_pick_task SKIPPED (Citus not te...) [ 12%] 2907s tests/test_citus.py::TestCitus::test_process_task SKIPPED (Citus not...) [ 12%] 2907s tests/test_citus.py::TestCitus::test_process_tasks SKIPPED (Citus no...) [ 12%] 2907s tests/test_citus.py::TestCitus::test_run SKIPPED (Citus not tested) [ 12%] 2907s tests/test_citus.py::TestCitus::test_sync_meta_data SKIPPED (Citus n...) [ 12%] 2907s tests/test_citus.py::TestCitus::test_wait SKIPPED (Citus not tested) [ 13%] 2907s tests/test_config.py::TestConfig::test__process_postgresql_parameters PASSED [ 13%] 2907s tests/test_config.py::TestConfig::test__validate_and_adjust_timeouts PASSED [ 13%] 2907s tests/test_config.py::TestConfig::test__validate_failover_tags PASSED [ 13%] 2907s tests/test_config.py::TestConfig::test_configuration_directory PASSED [ 13%] 2907s tests/test_config.py::TestConfig::test_global_config_is_synchronous_mode PASSED [ 13%] 2907s tests/test_config.py::TestConfig::test_invalid_path PASSED [ 14%] 2907s tests/test_config.py::TestConfig::test_reload_local_configuration PASSED [ 14%] 2907s tests/test_config.py::TestConfig::test_save_cache PASSED [ 14%] 2907s tests/test_config.py::TestConfig::test_set_dynamic_configuration PASSED [ 14%] 2907s tests/test_config.py::TestConfig::test_standby_cluster_parameters PASSED [ 14%] 2907s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_17 PASSED [ 14%] 2907s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_17_connect_from_env PASSED [ 14%] 2907s tests/test_config_generator.py::TestGenerateConfig::test_generate_config_running_instance_errors PASSED [ 15%] 2907s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_17 PASSED [ 15%] 2907s tests/test_config_generator.py::TestGenerateConfig::test_generate_sample_config_pre_13_dir_creation PASSED [ 15%] 2907s tests/test_config_generator.py::TestGenerateConfig::test_get_address PASSED [ 15%] 2907s tests/test_consul.py::TestHTTPClient::test_get PASSED [ 15%] 2907s tests/test_consul.py::TestHTTPClient::test_put PASSED [ 15%] 2907s tests/test_consul.py::TestHTTPClient::test_unknown_method PASSED [ 15%] 2907s tests/test_consul.py::TestConsul::test__get_citus_cluster PASSED [ 16%] 2907s tests/test_consul.py::TestConsul::test_cancel_initialization PASSED [ 16%] 2907s tests/test_consul.py::TestConsul::test_create_session PASSED [ 16%] 2907s tests/test_consul.py::TestConsul::test_delete_cluster PASSED [ 16%] 2907s tests/test_consul.py::TestConsul::test_delete_leader PASSED [ 16%] 2907s tests/test_consul.py::TestConsul::test_get_cluster PASSED [ 16%] 2907s tests/test_consul.py::TestConsul::test_initialize PASSED [ 17%] 2907s tests/test_consul.py::TestConsul::test_referesh_session PASSED [ 17%] 2907s tests/test_consul.py::TestConsul::test_reload_config PASSED [ 17%] 2907s tests/test_consul.py::TestConsul::test_set_config_value PASSED [ 17%] 2907s tests/test_consul.py::TestConsul::test_set_failover_value PASSED [ 17%] 2907s tests/test_consul.py::TestConsul::test_set_history_value PASSED [ 17%] 2907s tests/test_consul.py::TestConsul::test_set_retry_timeout PASSED [ 17%] 2907s tests/test_consul.py::TestConsul::test_sync_state PASSED [ 18%] 2907s tests/test_consul.py::TestConsul::test_take_leader PASSED [ 18%] 2907s tests/test_consul.py::TestConsul::test_touch_member PASSED [ 18%] 2907s tests/test_consul.py::TestConsul::test_update_leader PASSED [ 18%] 2907s tests/test_consul.py::TestConsul::test_update_service PASSED [ 18%] 2907s tests/test_consul.py::TestConsul::test_watch PASSED [ 18%] 2907s tests/test_consul.py::TestConsul::test_write_leader_optime PASSED [ 19%] 2907s tests/test_ctl.py::TestCtl::test_apply_config_changes PASSED [ 19%] 2907s tests/test_ctl.py::TestCtl::test_ctl PASSED [ 19%] 2907s tests/test_ctl.py::TestCtl::test_dsn PASSED [ 19%] 2907s tests/test_ctl.py::TestCtl::test_edit_config PASSED [ 19%] 2907s tests/test_ctl.py::TestCtl::test_failover PASSED [ 19%] 2907s tests/test_ctl.py::TestCtl::test_flush_restart PASSED [ 19%] 2907s tests/test_ctl.py::TestCtl::test_flush_switchover PASSED [ 20%] 2907s tests/test_ctl.py::TestCtl::test_format_pg_version PASSED [ 20%] 2907s tests/test_ctl.py::TestCtl::test_get_all_members PASSED [ 20%] 2907s tests/test_ctl.py::TestCtl::test_get_any_member PASSED [ 20%] 2907s tests/test_ctl.py::TestCtl::test_get_cursor PASSED [ 20%] 2907s tests/test_ctl.py::TestCtl::test_get_dcs PASSED [ 20%] 2907s tests/test_ctl.py::TestCtl::test_get_members PASSED [ 21%] 2907s tests/test_ctl.py::TestCtl::test_history PASSED [ 21%] 2907s tests/test_ctl.py::TestCtl::test_invoke_editor PASSED [ 21%] 2907s tests/test_ctl.py::TestCtl::test_list_extended PASSED [ 21%] 2907s tests/test_ctl.py::TestCtl::test_list_standby_cluster PASSED [ 21%] 2907s tests/test_ctl.py::TestCtl::test_load_config PASSED [ 21%] 2907s tests/test_ctl.py::TestCtl::test_members PASSED [ 21%] 2907s tests/test_ctl.py::TestCtl::test_output_members PASSED [ 22%] 2907s tests/test_ctl.py::TestCtl::test_parse_dcs PASSED [ 22%] 2907s tests/test_ctl.py::TestCtl::test_pause_cluster PASSED [ 22%] 2907s tests/test_ctl.py::TestCtl::test_query PASSED [ 22%] 2907s tests/test_ctl.py::TestCtl::test_query_member PASSED [ 22%] 2907s tests/test_ctl.py::TestCtl::test_reinit_wait PASSED [ 22%] 2907s tests/test_ctl.py::TestCtl::test_reload PASSED [ 22%] 2907s tests/test_ctl.py::TestCtl::test_remove PASSED [ 23%] 2907s tests/test_ctl.py::TestCtl::test_restart_reinit PASSED [ 23%] 2907s tests/test_ctl.py::TestCtl::test_resume_cluster PASSED [ 23%] 2907s tests/test_ctl.py::TestCtl::test_show_config PASSED [ 23%] 2907s tests/test_ctl.py::TestCtl::test_show_diff PASSED [ 23%] 2907s tests/test_ctl.py::TestCtl::test_switchover PASSED [ 23%] 2907s tests/test_ctl.py::TestCtl::test_topology PASSED [ 24%] 2907s tests/test_ctl.py::TestCtl::test_version PASSED [ 24%] 2907s tests/test_ctl.py::TestPatronictlPrettyTable::test__get_hline PASSED [ 24%] 2907s tests/test_ctl.py::TestPatronictlPrettyTable::test__stringify_hrule PASSED [ 24%] 2907s tests/test_ctl.py::TestPatronictlPrettyTable::test_output PASSED [ 24%] 2907s tests/test_etcd.py::TestDnsCachingResolver::test_run PASSED [ 24%] 2907s tests/test_etcd.py::TestClient::test___del__ PASSED [ 24%] 2907s tests/test_etcd.py::TestClient::test__get_machines_cache_from_dns PASSED [ 25%] 2907s tests/test_etcd.py::TestClient::test__get_machines_cache_from_srv PASSED [ 25%] 2907s tests/test_etcd.py::TestClient::test__load_machines_cache PASSED [ 25%] 2907s tests/test_etcd.py::TestClient::test__refresh_machines_cache PASSED [ 25%] 2908s tests/test_etcd.py::TestClient::test_api_execute PASSED [ 25%] 2908s tests/test_etcd.py::TestClient::test_create_connection_patched PASSED [ 25%] 2908s tests/test_etcd.py::TestClient::test_get_srv_record PASSED [ 26%] 2908s tests/test_etcd.py::TestClient::test_machines PASSED [ 26%] 2908s tests/test_etcd.py::TestEtcd::test__get_citus_cluster PASSED [ 26%] 2908s tests/test_etcd.py::TestEtcd::test_attempt_to_acquire_leader PASSED [ 26%] 2908s tests/test_etcd.py::TestEtcd::test_base_path PASSED [ 26%] 2908s tests/test_etcd.py::TestEtcd::test_cancel_initializion PASSED [ 26%] 2908s tests/test_etcd.py::TestEtcd::test_delete_cluster PASSED [ 26%] 2908s tests/test_etcd.py::TestEtcd::test_delete_leader PASSED [ 27%] 2908s tests/test_etcd.py::TestEtcd::test_get_cluster PASSED [ 27%] 2908s tests/test_etcd.py::TestEtcd::test_get_etcd_client PASSED [ 27%] 2908s tests/test_etcd.py::TestEtcd::test_initialize PASSED [ 27%] 2908s tests/test_etcd.py::TestEtcd::test_last_seen PASSED [ 27%] 2908s tests/test_etcd.py::TestEtcd::test_other_exceptions PASSED [ 27%] 2908s tests/test_etcd.py::TestEtcd::test_set_history_value PASSED [ 28%] 2908s tests/test_etcd.py::TestEtcd::test_set_ttl PASSED [ 28%] 2908s tests/test_etcd.py::TestEtcd::test_sync_state PASSED [ 28%] 2908s tests/test_etcd.py::TestEtcd::test_take_leader PASSED [ 28%] 2908s tests/test_etcd.py::TestEtcd::test_touch_member PASSED [ 28%] 2908s tests/test_etcd.py::TestEtcd::test_update_leader PASSED [ 28%] 2908s tests/test_etcd.py::TestEtcd::test_watch PASSED [ 28%] 2908s tests/test_etcd.py::TestEtcd::test_write_leader_optime PASSED [ 29%] 2908s tests/test_etcd3.py::TestEtcd3Client::test_authenticate PASSED [ 29%] 2908s tests/test_etcd3.py::TestKVCache::test__build_cache PASSED [ 29%] 2908s tests/test_etcd3.py::TestKVCache::test__do_watch PASSED [ 29%] 2908s tests/test_etcd3.py::TestKVCache::test_kill_stream PASSED [ 29%] 2908s tests/test_etcd3.py::TestKVCache::test_run PASSED [ 29%] 2908s tests/test_etcd3.py::TestPatroniEtcd3Client::test__ensure_version_prefix PASSED [ 29%] 2908s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_auth_errors PASSED [ 30%] 2908s tests/test_etcd3.py::TestPatroniEtcd3Client::test__handle_server_response PASSED [ 30%] 2908s tests/test_etcd3.py::TestPatroniEtcd3Client::test__init__ PASSED [ 30%] 2908s tests/test_etcd3.py::TestPatroniEtcd3Client::test__restart_watcher PASSED [ 30%] 2908s tests/test_etcd3.py::TestPatroniEtcd3Client::test__wait_cache PASSED [ 30%] 2908s tests/test_etcd3.py::TestPatroniEtcd3Client::test_call_rpc PASSED [ 30%] 2908s tests/test_etcd3.py::TestPatroniEtcd3Client::test_txn PASSED [ 31%] 2908s tests/test_etcd3.py::TestEtcd3::test__get_citus_cluster PASSED [ 31%] 2908s tests/test_etcd3.py::TestEtcd3::test__update_leader PASSED [ 31%] 2908s tests/test_etcd3.py::TestEtcd3::test_attempt_to_acquire_leader PASSED [ 31%] 2908s tests/test_etcd3.py::TestEtcd3::test_cancel_initialization PASSED [ 31%] 2908s tests/test_etcd3.py::TestEtcd3::test_create_lease PASSED [ 31%] 2908s tests/test_etcd3.py::TestEtcd3::test_delete_cluster PASSED [ 31%] 2908s tests/test_etcd3.py::TestEtcd3::test_delete_leader PASSED [ 32%] 2908s tests/test_etcd3.py::TestEtcd3::test_delete_sync_state PASSED [ 32%] 2908s tests/test_etcd3.py::TestEtcd3::test_get_cluster PASSED [ 32%] 2908s tests/test_etcd3.py::TestEtcd3::test_initialize PASSED [ 32%] 2908s tests/test_etcd3.py::TestEtcd3::test_refresh_lease PASSED [ 32%] 2908s tests/test_etcd3.py::TestEtcd3::test_set_config_value PASSED [ 32%] 2908s tests/test_etcd3.py::TestEtcd3::test_set_failover_value PASSED [ 33%] 2908s tests/test_etcd3.py::TestEtcd3::test_set_history_value PASSED [ 33%] 2908s tests/test_etcd3.py::TestEtcd3::test_set_socket_options PASSED [ 33%] 2908s tests/test_etcd3.py::TestEtcd3::test_set_sync_state_value PASSED [ 33%] 2908s tests/test_etcd3.py::TestEtcd3::test_set_ttl PASSED [ 33%] 2908s tests/test_etcd3.py::TestEtcd3::test_take_leader PASSED [ 33%] 2908s tests/test_etcd3.py::TestEtcd3::test_touch_member PASSED [ 33%] 2908s tests/test_etcd3.py::TestEtcd3::test_watch PASSED [ 34%] 2908s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_init PASSED [ 34%] 2908s tests/test_exhibitor.py::TestExhibitorEnsembleProvider::test_poll PASSED [ 34%] 2908s tests/test_exhibitor.py::TestExhibitor::test_get_cluster PASSED [ 34%] 2908s tests/test_file_perm.py::TestFilePermissions::test_set_permissions_from_data_directory PASSED [ 34%] 2908s tests/test_file_perm.py::TestFilePermissions::test_set_umask PASSED [ 34%] 2908s tests/test_ha.py::TestHa::test__is_healthiest_node PASSED [ 35%] 2908s tests/test_ha.py::TestHa::test_abort_join PASSED [ 35%] 2908s tests/test_ha.py::TestHa::test_acquire_lock PASSED [ 35%] 2908s tests/test_ha.py::TestHa::test_acquire_lock_as_primary PASSED [ 35%] 2908s tests/test_ha.py::TestHa::test_after_pause PASSED [ 35%] 2908s tests/test_ha.py::TestHa::test_bootstrap_as_standby_leader PASSED [ 35%] 2908s tests/test_ha.py::TestHa::test_bootstrap_from_another_member PASSED [ 35%] 2908s tests/test_ha.py::TestHa::test_bootstrap_initialize_lock_failed PASSED [ 36%] 2908s tests/test_ha.py::TestHa::test_bootstrap_initialized_new_cluster PASSED [ 36%] 2908s tests/test_ha.py::TestHa::test_bootstrap_not_running_concurrently PASSED [ 36%] 2909s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_failure PASSED [ 36%] 2909s tests/test_ha.py::TestHa::test_bootstrap_release_initialize_key_on_watchdog_failure PASSED [ 36%] 2909s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_leader PASSED [ 36%] 2909s tests/test_ha.py::TestHa::test_bootstrap_waiting_for_standby_leader PASSED [ 36%] 2909s tests/test_ha.py::TestHa::test_bootstrap_without_leader PASSED [ 37%] 2909s tests/test_ha.py::TestHa::test_call_failsafe_member PASSED [ 37%] 2909s tests/test_ha.py::TestHa::test_check_failsafe_topology PASSED [ 37%] 2909s tests/test_ha.py::TestHa::test_coordinator_leader_with_lock PASSED [ 37%] 2909s tests/test_ha.py::TestHa::test_crash_recovery PASSED [ 37%] 2909s tests/test_ha.py::TestHa::test_crash_recovery_before_rewind PASSED [ 37%] 2909s tests/test_ha.py::TestHa::test_delete_future_restarts PASSED [ 38%] 2909s tests/test_ha.py::TestHa::test_demote_after_failing_to_obtain_lock PASSED [ 38%] 2909s tests/test_ha.py::TestHa::test_demote_because_not_having_lock PASSED [ 38%] 2909s tests/test_ha.py::TestHa::test_demote_because_not_healthiest PASSED [ 38%] 2909s tests/test_ha.py::TestHa::test_demote_because_update_lock_failed PASSED [ 38%] 2909s tests/test_ha.py::TestHa::test_demote_immediate PASSED [ 38%] 2909s tests/test_ha.py::TestHa::test_disable_sync_when_restarting PASSED [ 38%] 2909s tests/test_ha.py::TestHa::test_effective_tags PASSED [ 39%] 2909s tests/test_ha.py::TestHa::test_empty_directory_in_pause PASSED [ 39%] 2909s tests/test_ha.py::TestHa::test_enable_synchronous_mode PASSED [ 39%] 2909s tests/test_ha.py::TestHa::test_evaluate_scheduled_restart PASSED [ 39%] 2909s tests/test_ha.py::TestHa::test_failed_to_update_lock_in_pause PASSED [ 39%] 2909s tests/test_ha.py::TestHa::test_failover_immediately_on_zero_primary_start_timeout PASSED [ 39%] 2909s tests/test_ha.py::TestHa::test_fetch_node_status PASSED [ 40%] 2909s tests/test_ha.py::TestHa::test_follow PASSED [ 40%] 2909s tests/test_ha.py::TestHa::test_follow_copy PASSED [ 40%] 2909s tests/test_ha.py::TestHa::test_follow_in_pause PASSED [ 40%] 2909s tests/test_ha.py::TestHa::test_follow_new_leader_after_failing_to_obtain_lock PASSED [ 40%] 2909s tests/test_ha.py::TestHa::test_follow_new_leader_because_not_healthiest PASSED [ 40%] 2909s tests/test_ha.py::TestHa::test_follow_triggers_rewind PASSED [ 40%] 2909s tests/test_ha.py::TestHa::test_get_node_to_follow_nostream PASSED [ 41%] 2909s tests/test_ha.py::TestHa::test_inconsistent_synchronous_state PASSED [ 41%] 2909s tests/test_ha.py::TestHa::test_is_healthiest_node PASSED [ 41%] 2909s tests/test_ha.py::TestHa::test_is_leader PASSED [ 41%] 2909s tests/test_ha.py::TestHa::test_leader_race_stale_primary PASSED [ 41%] 2909s tests/test_ha.py::TestHa::test_leader_with_lock PASSED [ 41%] 2909s tests/test_ha.py::TestHa::test_leader_with_not_accessible_data_directory PASSED [ 42%] 2909s tests/test_ha.py::TestHa::test_long_promote PASSED [ 42%] 2909s tests/test_ha.py::TestHa::test_lost_leader_lock_during_promote PASSED [ 42%] 2909s tests/test_ha.py::TestHa::test_manual_failover_from_leader PASSED [ 42%] 2909s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_pause PASSED [ 42%] 2909s tests/test_ha.py::TestHa::test_manual_failover_from_leader_in_synchronous_mode PASSED [ 42%] 2909s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader PASSED [ 42%] 2909s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_pause PASSED [ 43%] 2909s tests/test_ha.py::TestHa::test_manual_failover_process_no_leader_in_synchronous_mode PASSED [ 43%] 2909s tests/test_ha.py::TestHa::test_manual_failover_while_starting PASSED [ 43%] 2909s tests/test_ha.py::TestHa::test_manual_switchover_from_leader PASSED [ 43%] 2909s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_pause PASSED [ 43%] 2909s tests/test_ha.py::TestHa::test_manual_switchover_from_leader_in_synchronous_mode PASSED [ 43%] 2909s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader PASSED [ 43%] 2909s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_pause PASSED [ 44%] 2909s tests/test_ha.py::TestHa::test_manual_switchover_process_no_leader_in_synchronous_mode PASSED [ 44%] 2909s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_demote PASSED [ 44%] 2909s tests/test_ha.py::TestHa::test_no_dcs_connection_primary_failsafe PASSED [ 44%] 2909s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe PASSED [ 44%] 2909s tests/test_ha.py::TestHa::test_no_dcs_connection_replica_failsafe_not_enabled_but_active PASSED [ 44%] 2909s tests/test_ha.py::TestHa::test_no_etcd_connection_in_pause PASSED [ 45%] 2909s tests/test_ha.py::TestHa::test_notify_citus_coordinator PASSED [ 45%] 2909s tests/test_ha.py::TestHa::test_permanent_logical_slots_after_promote PASSED [ 45%] 2909s tests/test_ha.py::TestHa::test_post_recover PASSED [ 45%] 2909s tests/test_ha.py::TestHa::test_postgres_unhealthy_in_pause PASSED [ 45%] 2909s tests/test_ha.py::TestHa::test_primary_stop_timeout PASSED [ 45%] 2909s tests/test_ha.py::TestHa::test_process_healthy_cluster_in_pause PASSED [ 45%] 2909s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_cascade_replica PASSED [ 46%] 2909s tests/test_ha.py::TestHa::test_process_healthy_standby_cluster_as_standby_leader PASSED [ 46%] 2909s tests/test_ha.py::TestHa::test_process_sync_replication PASSED [ 46%] 2909s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_cascade_replica PASSED [ 46%] 2909s tests/test_ha.py::TestHa::test_process_unhealthy_standby_cluster_as_standby_leader PASSED [ 46%] 2909s tests/test_ha.py::TestHa::test_promote_because_have_lock PASSED [ 46%] 2909s tests/test_ha.py::TestHa::test_promote_without_watchdog PASSED [ 47%] 2909s tests/test_ha.py::TestHa::test_promoted_by_acquiring_lock PASSED [ 47%] 2909s tests/test_ha.py::TestHa::test_promotion_cancelled_after_pre_promote_failed PASSED [ 47%] 2909s tests/test_ha.py::TestHa::test_readonly_dcs_primary_failsafe PASSED [ 47%] 2909s tests/test_ha.py::TestHa::test_recover_former_primary PASSED [ 47%] 2909s tests/test_ha.py::TestHa::test_recover_raft PASSED [ 47%] 2909s tests/test_ha.py::TestHa::test_recover_replica_failed PASSED [ 47%] 2909s tests/test_ha.py::TestHa::test_recover_unhealthy_leader_in_standby_cluster PASSED [ 48%] 2909s tests/test_ha.py::TestHa::test_recover_unhealthy_unlocked_standby_cluster PASSED [ 48%] 2909s tests/test_ha.py::TestHa::test_recover_with_reinitialize PASSED [ 48%] 2909s tests/test_ha.py::TestHa::test_recover_with_rewind PASSED [ 48%] 2909s tests/test_ha.py::TestHa::test_reinitialize PASSED [ 48%] 2909s tests/test_ha.py::TestHa::test_restart PASSED [ 48%] 2910s tests/test_ha.py::TestHa::test_restart_in_progress PASSED [ 49%] 2910s tests/test_ha.py::TestHa::test_restart_matches PASSED [ 49%] 2910s tests/test_ha.py::TestHa::test_restore_cluster_config PASSED [ 49%] 2910s tests/test_ha.py::TestHa::test_run_cycle PASSED [ 49%] 2910s tests/test_ha.py::TestHa::test_schedule_future_restart PASSED [ 49%] 2910s tests/test_ha.py::TestHa::test_scheduled_restart PASSED [ 49%] 2910s tests/test_ha.py::TestHa::test_scheduled_switchover_from_leader PASSED [ 49%] 2910s tests/test_ha.py::TestHa::test_shutdown PASSED [ 50%] 2910s tests/test_ha.py::TestHa::test_shutdown_citus_worker PASSED [ 50%] 2910s tests/test_ha.py::TestHa::test_start_as_cascade_replica_in_standby_cluster PASSED [ 50%] 2910s tests/test_ha.py::TestHa::test_start_as_readonly PASSED [ 50%] 2910s tests/test_ha.py::TestHa::test_start_as_replica PASSED [ 50%] 2910s tests/test_ha.py::TestHa::test_start_primary_after_failure PASSED [ 50%] 2910s tests/test_ha.py::TestHa::test_starting_timeout PASSED [ 50%] 2910s tests/test_ha.py::TestHa::test_sync_replication_become_primary PASSED [ 51%] 2910s tests/test_ha.py::TestHa::test_sysid_no_match PASSED [ 51%] 2910s tests/test_ha.py::TestHa::test_sysid_no_match_in_pause PASSED [ 51%] 2910s tests/test_ha.py::TestHa::test_touch_member PASSED [ 51%] 2910s tests/test_ha.py::TestHa::test_unhealthy_sync_mode PASSED [ 51%] 2910s tests/test_ha.py::TestHa::test_update_cluster_history PASSED [ 51%] 2910s tests/test_ha.py::TestHa::test_update_failsafe PASSED [ 52%] 2910s tests/test_ha.py::TestHa::test_update_lock PASSED [ 52%] 2910s tests/test_ha.py::TestHa::test_wakup PASSED [ 52%] 2910s tests/test_ha.py::TestHa::test_watch PASSED [ 52%] 2910s tests/test_ha.py::TestHa::test_worker_restart PASSED [ 52%] 2910s tests/test_kubernetes.py::TestK8sConfig::test_load_incluster_config PASSED [ 52%] 2910s tests/test_kubernetes.py::TestK8sConfig::test_load_kube_config PASSED [ 52%] 2910s tests/test_kubernetes.py::TestK8sConfig::test_refresh_token PASSED [ 53%] 2910s tests/test_kubernetes.py::TestApiClient::test__do_http_request PASSED [ 53%] 2910s tests/test_kubernetes.py::TestApiClient::test__refresh_api_servers_cache PASSED [ 53%] 2910s tests/test_kubernetes.py::TestApiClient::test_request PASSED [ 53%] 2910s tests/test_kubernetes.py::TestCoreV1Api::test_create_namespaced_service PASSED [ 53%] 2910s tests/test_kubernetes.py::TestCoreV1Api::test_delete_namespaced_pod PASSED [ 53%] 2910s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_endpoints PASSED [ 54%] 2910s tests/test_kubernetes.py::TestCoreV1Api::test_list_namespaced_pod PASSED [ 54%] 2910s tests/test_kubernetes.py::TestCoreV1Api::test_patch_namespaced_config_map PASSED [ 54%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__get_citus_cluster PASSED [ 54%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test__wait_caches PASSED [ 54%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_attempt_to_acquire_leader PASSED [ 54%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_cancel_initialization PASSED [ 54%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_cluster PASSED [ 55%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_delete_leader PASSED [ 55%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_citus_coordinator PASSED [ 55%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_cluster PASSED [ 55%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_get_mpp_coordinator PASSED [ 55%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_initialize PASSED [ 55%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_manual_failover PASSED [ 56%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_reload_config PASSED [ 56%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_config_value PASSED [ 56%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_set_history_value PASSED [ 56%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_take_leader PASSED [ 56%] 2910s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_touch_member PASSED [ 56%] 2911s tests/test_kubernetes.py::TestKubernetesConfigMaps::test_watch PASSED [ 56%] 2911s tests/test_kubernetes.py::TestKubernetesEndpointsNoPodIP::test_update_leader PASSED [ 57%] 2911s tests/test_kubernetes.py::TestKubernetesEndpoints::test__create_config_service PASSED [ 57%] 2911s tests/test_kubernetes.py::TestKubernetesEndpoints::test__update_leader_with_retry PASSED [ 57%] 2911s tests/test_kubernetes.py::TestKubernetesEndpoints::test_delete_sync_state PASSED [ 57%] 2911s tests/test_kubernetes.py::TestKubernetesEndpoints::test_update_leader PASSED [ 57%] 2911s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_leader_optime PASSED [ 57%] 2911s tests/test_kubernetes.py::TestKubernetesEndpoints::test_write_sync_state PASSED [ 57%] 2911s tests/test_kubernetes.py::TestCacheBuilder::test__build_cache PASSED [ 58%] 2911s tests/test_kubernetes.py::TestCacheBuilder::test__do_watch PASSED [ 58%] 2911s tests/test_kubernetes.py::TestCacheBuilder::test__list PASSED [ 58%] 2911s tests/test_kubernetes.py::TestCacheBuilder::test_kill_stream PASSED [ 58%] 2911s tests/test_kubernetes.py::TestCacheBuilder::test_run PASSED [ 58%] 2911s tests/test_log.py::TestPatroniLogger::test_dateformat PASSED [ 58%] 2911s tests/test_log.py::TestPatroniLogger::test_fail_to_use_python_json_logger PASSED [ 59%] 2911s tests/test_log.py::TestPatroniLogger::test_interceptor PASSED [ 59%] 2911s tests/test_log.py::TestPatroniLogger::test_invalid_dateformat PASSED [ 59%] 2911s tests/test_log.py::TestPatroniLogger::test_invalid_json_format PASSED [ 59%] 2911s tests/test_log.py::TestPatroniLogger::test_invalid_plain_format PASSED [ 59%] 2911s tests/test_log.py::TestPatroniLogger::test_json_list_format PASSED [ 59%] 2911s tests/test_log.py::TestPatroniLogger::test_json_str_format PASSED [ 59%] 2911s tests/test_log.py::TestPatroniLogger::test_patroni_logger PASSED [ 60%] 2911s tests/test_log.py::TestPatroniLogger::test_plain_format PASSED [ 60%] 2911s tests/test_mpp.py::TestMPP::test_get_handler_impl_exception PASSED [ 60%] 2911s tests/test_mpp.py::TestMPP::test_null_handler PASSED [ 60%] 2911s tests/test_patroni.py::TestPatroni::test__filter_tags PASSED [ 60%] 2911s tests/test_patroni.py::TestPatroni::test_apply_dynamic_configuration PASSED [ 60%] 2911s tests/test_patroni.py::TestPatroni::test_check_psycopg PASSED [ 61%] 2911s tests/test_patroni.py::TestPatroni::test_ensure_dcs_access PASSED [ 61%] 2912s tests/test_patroni.py::TestPatroni::test_ensure_unique_name PASSED [ 61%] 2912s tests/test_patroni.py::TestPatroni::test_failover_priority PASSED [ 61%] 2912s tests/test_patroni.py::TestPatroni::test_no_config PASSED [ 61%] 2912s tests/test_patroni.py::TestPatroni::test_nofailover PASSED [ 61%] 2912s tests/test_patroni.py::TestPatroni::test_noloadbalance PASSED [ 61%] 2912s tests/test_patroni.py::TestPatroni::test_nostream PASSED [ 62%] 2912s tests/test_patroni.py::TestPatroni::test_nosync PASSED [ 62%] 2912s tests/test_patroni.py::TestPatroni::test_patroni_main PASSED [ 62%] 2912s tests/test_patroni.py::TestPatroni::test_patroni_patroni_main PASSED [ 62%] 2912s tests/test_patroni.py::TestPatroni::test_reload_config PASSED [ 62%] 2912s tests/test_patroni.py::TestPatroni::test_replicatefrom PASSED [ 62%] 2912s tests/test_patroni.py::TestPatroni::test_run PASSED [ 63%] 2912s tests/test_patroni.py::TestPatroni::test_schedule_next_run PASSED [ 63%] 2912s tests/test_patroni.py::TestPatroni::test_shutdown PASSED [ 63%] 2912s tests/test_patroni.py::TestPatroni::test_sigterm_handler PASSED [ 63%] 2912s tests/test_patroni.py::TestPatroni::test_validate_config PASSED [ 63%] 2912s tests/test_postgresql.py::TestPostgresql::test__do_stop PASSED [ 63%] 2912s tests/test_postgresql.py::TestPostgresql::test__get_postgres_guc_validators PASSED [ 63%] 2912s tests/test_postgresql.py::TestPostgresql::test__load_postgres_gucs_validators PASSED [ 64%] 2912s tests/test_postgresql.py::TestPostgresql::test__pgpass_content PASSED [ 64%] 2912s tests/test_postgresql.py::TestPostgresql::test__query PASSED [ 64%] 2912s tests/test_postgresql.py::TestPostgresql::test__read_postgres_gucs_validators_file PASSED [ 64%] 2912s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params PASSED [ 64%] 2912s tests/test_postgresql.py::TestPostgresql::test__read_recovery_params_pre_v12 PASSED [ 64%] 2912s tests/test_postgresql.py::TestPostgresql::test__wait_for_connection_close PASSED [ 64%] 2912s tests/test_postgresql.py::TestPostgresql::test__write_recovery_params PASSED [ 65%] 2912s tests/test_postgresql.py::TestPostgresql::test_call_nowait PASSED [ 65%] 2912s tests/test_postgresql.py::TestPostgresql::test_can_create_replica_without_replication_connection PASSED [ 65%] 2912s tests/test_postgresql.py::TestPostgresql::test_check_for_startup PASSED [ 65%] 2912s tests/test_postgresql.py::TestPostgresql::test_check_recovery_conf PASSED [ 65%] 2912s tests/test_postgresql.py::TestPostgresql::test_checkpoint PASSED [ 65%] 2912s tests/test_postgresql.py::TestPostgresql::test_controldata PASSED [ 66%] 2912s tests/test_postgresql.py::TestPostgresql::test_effective_configuration PASSED [ 66%] 2912s tests/test_postgresql.py::TestPostgresql::test_follow PASSED [ 66%] 2912s tests/test_postgresql.py::TestPostgresql::test_get_major_version PASSED [ 66%] 2912s tests/test_postgresql.py::TestPostgresql::test_get_postgres_role_from_data_directory PASSED [ 66%] 2912s tests/test_postgresql.py::TestPostgresql::test_get_primary_timeline PASSED [ 66%] 2912s tests/test_postgresql.py::TestPostgresql::test_get_server_parameters PASSED [ 66%] 2912s tests/test_postgresql.py::TestPostgresql::test_handle_parameter_change PASSED [ 67%] 2912s tests/test_postgresql.py::TestPostgresql::test_is_healthy PASSED [ 67%] 2912s tests/test_postgresql.py::TestPostgresql::test_is_primary PASSED [ 67%] 2912s tests/test_postgresql.py::TestPostgresql::test_is_primary_exception PASSED [ 67%] 2912s tests/test_postgresql.py::TestPostgresql::test_is_running PASSED [ 67%] 2912s tests/test_postgresql.py::TestPostgresql::test_latest_checkpoint_location PASSED [ 67%] 2912s tests/test_postgresql.py::TestPostgresql::test_move_data_directory PASSED [ 68%] 2912s tests/test_postgresql.py::TestPostgresql::test_pg_version PASSED [ 68%] 2912s tests/test_postgresql.py::TestPostgresql::test_pgpass_is_dir PASSED [ 68%] 2912s tests/test_postgresql.py::TestPostgresql::test_postmaster_start_time PASSED [ 68%] 2912s tests/test_postgresql.py::TestPostgresql::test_promote PASSED [ 68%] 2912s tests/test_postgresql.py::TestPostgresql::test_query PASSED [ 68%] 2912s tests/test_postgresql.py::TestPostgresql::test_received_timeline PASSED [ 68%] 2912s tests/test_postgresql.py::TestPostgresql::test_reload PASSED [ 69%] 2912s tests/test_postgresql.py::TestPostgresql::test_reload_config PASSED [ 69%] 2912s tests/test_postgresql.py::TestPostgresql::test_remove_data_directory PASSED [ 69%] 2912s tests/test_postgresql.py::TestPostgresql::test_replica_cached_timeline PASSED [ 69%] 2912s tests/test_postgresql.py::TestPostgresql::test_replica_method_can_work_without_replication_connection PASSED [ 69%] 2912s tests/test_postgresql.py::TestPostgresql::test_resolve_connection_addresses PASSED [ 69%] 2912s tests/test_postgresql.py::TestPostgresql::test_restart PASSED [ 70%] 2912s tests/test_postgresql.py::TestPostgresql::test_restore_configuration_files PASSED [ 70%] 2912s tests/test_postgresql.py::TestPostgresql::test_save_configuration_files PASSED [ 70%] 2912s tests/test_postgresql.py::TestPostgresql::test_set_enforce_hot_standby_feedback PASSED [ 70%] 2912s tests/test_postgresql.py::TestPostgresql::test_start PASSED [ 70%] 2912s tests/test_postgresql.py::TestPostgresql::test_stop PASSED [ 70%] 2912s tests/test_postgresql.py::TestPostgresql::test_sysid PASSED [ 70%] 2913s tests/test_postgresql.py::TestPostgresql::test_terminate_starting_postmaster PASSED [ 71%] 2913s tests/test_postgresql.py::TestPostgresql::test_timeline_wal_position PASSED [ 71%] 2913s tests/test_postgresql.py::TestPostgresql::test_transform_postgresql_parameter_value PASSED [ 71%] 2913s tests/test_postgresql.py::TestPostgresql::test_validator_factory PASSED [ 71%] 2913s tests/test_postgresql.py::TestPostgresql::test_wait_for_port_open PASSED [ 71%] 2913s tests/test_postgresql.py::TestPostgresql::test_wait_for_startup PASSED [ 71%] 2913s tests/test_postgresql.py::TestPostgresql::test_write_pgpass PASSED [ 71%] 2913s tests/test_postgresql.py::TestPostgresql::test_write_postgresql_and_sanitize_auto_conf PASSED [ 72%] 2913s tests/test_postgresql.py::TestPostgresql2::test_available_gucs PASSED [ 72%] 2913s tests/test_postgresql.py::TestPostgresql2::test_cluster_info_query PASSED [ 72%] 2913s tests/test_postgresql.py::TestPostgresql2::test_load_current_server_parameters PASSED [ 72%] 2913s tests/test_postmaster.py::TestPostmasterProcess::test_from_pid PASSED [ 72%] 2913s tests/test_postmaster.py::TestPostmasterProcess::test_from_pidfile PASSED [ 72%] 2913s tests/test_postmaster.py::TestPostmasterProcess::test_init PASSED [ 73%] 2913s tests/test_postmaster.py::TestPostmasterProcess::test_read_postmaster_pidfile PASSED [ 73%] 2913s tests/test_postmaster.py::TestPostmasterProcess::test_signal_kill PASSED [ 73%] 2913s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop PASSED [ 73%] 2913s tests/test_postmaster.py::TestPostmasterProcess::test_signal_stop_nt PASSED [ 73%] 2913s tests/test_postmaster.py::TestPostmasterProcess::test_start PASSED [ 73%] 2913s tests/test_postmaster.py::TestPostmasterProcess::test_wait_for_user_backends_to_close PASSED [ 73%] 2913s tests/test_raft.py::TestTCPTransport::test__connectIfNecessarySingle PASSED [ 74%] 2913s tests/test_raft.py::TestDynMemberSyncObj::test__SyncObj__doChangeCluster PASSED [ 74%] 2913s tests/test_raft.py::TestDynMemberSyncObj::test_add_member PASSED [ 74%] 2913s tests/test_raft.py::TestDynMemberSyncObj::test_getMembers PASSED [ 74%] 2914s tests/test_raft.py::TestKVStoreTTL::test_delete PASSED [ 74%] 2916s tests/test_raft.py::TestKVStoreTTL::test_expire PASSED [ 74%] 2918s tests/test_raft.py::TestKVStoreTTL::test_on_ready_override PASSED [ 75%] 2918s tests/test_raft.py::TestKVStoreTTL::test_retry PASSED [ 75%] 2919s tests/test_raft.py::TestKVStoreTTL::test_set PASSED [ 75%] 2919s tests/test_raft.py::TestRaft::test_init PASSED [ 75%] 2921s tests/test_raft.py::TestRaft::test_raft PASSED [ 75%] 2921s tests/test_raft_controller.py::TestPatroniRaftController::test_patroni_raft_controller_main PASSED [ 75%] 2921s tests/test_raft_controller.py::TestPatroniRaftController::test_reload_config PASSED [ 75%] 2921s tests/test_raft_controller.py::TestPatroniRaftController::test_run PASSED [ 76%] 2921s tests/test_rewind.py::TestRewind::test__check_timeline_and_lsn PASSED [ 76%] 2921s tests/test_rewind.py::TestRewind::test__get_local_timeline_lsn PASSED [ 76%] 2921s tests/test_rewind.py::TestRewind::test__log_primary_history PASSED [ 76%] 2921s tests/test_rewind.py::TestRewind::test_archive_ready_wals PASSED [ 76%] 2921s tests/test_rewind.py::TestRewind::test_can_rewind PASSED [ 76%] 2921s tests/test_rewind.py::TestRewind::test_check_leader_is_not_in_recovery PASSED [ 77%] 2921s tests/test_rewind.py::TestRewind::test_cleanup_archive_status PASSED [ 77%] 2921s tests/test_rewind.py::TestRewind::test_ensure_checkpoint_after_promote PASSED [ 77%] 2921s tests/test_rewind.py::TestRewind::test_ensure_clean_shutdown PASSED [ 77%] 2921s tests/test_rewind.py::TestRewind::test_execute PASSED [ 77%] 2921s tests/test_rewind.py::TestRewind::test_maybe_clean_pg_replslot PASSED [ 77%] 2921s tests/test_rewind.py::TestRewind::test_pg_rewind PASSED [ 77%] 2921s tests/test_rewind.py::TestRewind::test_read_postmaster_opts PASSED [ 78%] 2921s tests/test_rewind.py::TestRewind::test_single_user_mode PASSED [ 78%] 2921s tests/test_slots.py::TestSlotsHandler::test__ensure_logical_slots_replica PASSED [ 78%] 2921s tests/test_slots.py::TestSlotsHandler::test_advance_physical_primary PASSED [ 78%] 2921s tests/test_slots.py::TestSlotsHandler::test_advance_physical_slots PASSED [ 78%] 2921s tests/test_slots.py::TestSlotsHandler::test_cascading_replica_sync_replication_slots PASSED [ 78%] 2921s tests/test_slots.py::TestSlotsHandler::test_check_logical_slots_readiness PASSED [ 78%] 2921s tests/test_slots.py::TestSlotsHandler::test_copy_logical_slots PASSED [ 79%] 2921s tests/test_slots.py::TestSlotsHandler::test_fsync_dir PASSED [ 79%] 2921s tests/test_slots.py::TestSlotsHandler::test_get_slot_name_on_primary PASSED [ 79%] 2921s tests/test_slots.py::TestSlotsHandler::test_nostream_slot_processing PASSED [ 79%] 2921s tests/test_slots.py::TestSlotsHandler::test_on_promote PASSED [ 79%] 2921s tests/test_slots.py::TestSlotsHandler::test_process_permanent_slots PASSED [ 79%] 2921s tests/test_slots.py::TestSlotsHandler::test_should_enforce_hot_standby_feedback PASSED [ 80%] 2921s tests/test_slots.py::TestSlotsHandler::test_slots_advance_thread PASSED [ 80%] 2921s tests/test_slots.py::TestSlotsHandler::test_sync_replication_slots PASSED [ 80%] 2921s tests/test_sync.py::TestSync::test_do_not_prick_yourself PASSED [ 80%] 2921s tests/test_sync.py::TestSync::test_pick_sync_standby PASSED [ 80%] 2922s tests/test_sync.py::TestSync::test_set_sync_standby PASSED [ 80%] 2922s tests/test_utils.py::TestUtils::test_apply_keepalive_limit PASSED [ 80%] 2922s tests/test_utils.py::TestUtils::test_enable_keepalive PASSED [ 81%] 2922s tests/test_utils.py::TestUtils::test_get_major_version PASSED [ 81%] 2922s tests/test_utils.py::TestUtils::test_get_postgres_version PASSED [ 81%] 2922s tests/test_utils.py::TestUtils::test_polling_loop PASSED [ 81%] 2922s tests/test_utils.py::TestUtils::test_unquote PASSED [ 81%] 2922s tests/test_utils.py::TestUtils::test_validate_directory_couldnt_create PASSED [ 81%] 2922s tests/test_utils.py::TestUtils::test_validate_directory_is_not_a_directory PASSED [ 82%] 2922s tests/test_utils.py::TestUtils::test_validate_directory_not_writable PASSED [ 82%] 2922s tests/test_utils.py::TestUtils::test_validate_directory_writable PASSED [ 82%] 2922s tests/test_utils.py::TestRetrySleeper::test_copy PASSED [ 82%] 2922s tests/test_utils.py::TestRetrySleeper::test_deadline PASSED [ 82%] 2922s tests/test_utils.py::TestRetrySleeper::test_maximum_delay PASSED [ 82%] 2922s tests/test_utils.py::TestRetrySleeper::test_reset PASSED [ 82%] 2922s tests/test_utils.py::TestRetrySleeper::test_too_many_tries PASSED [ 83%] 2922s tests/test_validator.py::TestValidator::test_bin_dir_is_empty PASSED [ 83%] 2922s tests/test_validator.py::TestValidator::test_bin_dir_is_empty_string_excutables_in_path PASSED [ 83%] 2922s tests/test_validator.py::TestValidator::test_bin_dir_is_file PASSED [ 83%] 2922s tests/test_validator.py::TestValidator::test_complete_config PASSED [ 83%] 2922s tests/test_validator.py::TestValidator::test_data_dir_contains_pg_version PASSED [ 83%] 2922s tests/test_validator.py::TestValidator::test_data_dir_is_empty_string PASSED [ 84%] 2922s tests/test_validator.py::TestValidator::test_directory_contains PASSED [ 84%] 2922s tests/test_validator.py::TestValidator::test_empty_config PASSED [ 84%] 2922s tests/test_validator.py::TestValidator::test_failover_priority_int PASSED [ 84%] 2922s tests/test_validator.py::TestValidator::test_json_log_format PASSED [ 84%] 2922s tests/test_validator.py::TestValidator::test_one_of PASSED [ 84%] 2922s tests/test_validator.py::TestValidator::test_pg_version_missmatch PASSED [ 84%] 2922s tests/test_validator.py::TestValidator::test_pg_wal_doesnt_exist PASSED [ 85%] 2922s tests/test_validator.py::TestValidator::test_validate_binary_name PASSED [ 85%] 2922s tests/test_validator.py::TestValidator::test_validate_binary_name_empty_string PASSED [ 85%] 2922s tests/test_validator.py::TestValidator::test_validate_binary_name_missing PASSED [ 85%] 2922s tests/test_wale_restore.py::TestWALERestore::test_create_replica_with_s3 PASSED [ 85%] 2922s tests/test_wale_restore.py::TestWALERestore::test_fix_subdirectory_path_if_broken PASSED [ 85%] 2922s tests/test_wale_restore.py::TestWALERestore::test_get_major_version PASSED [ 85%] 2922s tests/test_wale_restore.py::TestWALERestore::test_main PASSED [ 86%] 2922s tests/test_wale_restore.py::TestWALERestore::test_run PASSED [ 86%] 2922s tests/test_wale_restore.py::TestWALERestore::test_should_use_s3_to_create_replica PASSED [ 86%] 2922s tests/test_watchdog.py::TestWatchdog::test_basic_operation PASSED [ 86%] 2922s tests/test_watchdog.py::TestWatchdog::test_config_reload PASSED [ 86%] 2922s tests/test_watchdog.py::TestWatchdog::test_exceptions PASSED [ 86%] 2922s tests/test_watchdog.py::TestWatchdog::test_invalid_timings PASSED [ 87%] 2922s tests/test_watchdog.py::TestWatchdog::test_parse_mode PASSED [ 87%] 2922s tests/test_watchdog.py::TestWatchdog::test_timeout_does_not_ensure_safe_termination PASSED [ 87%] 2922s tests/test_watchdog.py::TestWatchdog::test_unsafe_timeout_disable_watchdog_and_exit PASSED [ 87%] 2922s tests/test_watchdog.py::TestWatchdog::test_unsupported_platform PASSED [ 87%] 2922s tests/test_watchdog.py::TestWatchdog::test_watchdog_activate PASSED [ 87%] 2922s tests/test_watchdog.py::TestWatchdog::test_watchdog_not_activated PASSED [ 87%] 2922s tests/test_watchdog.py::TestNullWatchdog::test_basics PASSED [ 88%] 2922s tests/test_watchdog.py::TestLinuxWatchdogDevice::test__ioctl PASSED [ 88%] 2922s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_basics PASSED [ 88%] 2922s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_error_handling PASSED [ 88%] 2922s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_is_healthy PASSED [ 88%] 2922s tests/test_watchdog.py::TestLinuxWatchdogDevice::test_open PASSED [ 88%] 2922s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_create_connection PASSED [ 89%] 2922s tests/test_zookeeper.py::TestPatroniSequentialThreadingHandler::test_select PASSED [ 89%] 2922s tests/test_zookeeper.py::TestPatroniKazooClient::test__call PASSED [ 89%] 2922s tests/test_zookeeper.py::TestZooKeeper::test__cluster_loader PASSED [ 89%] 2922s tests/test_zookeeper.py::TestZooKeeper::test__get_citus_cluster PASSED [ 89%] 2922s tests/test_zookeeper.py::TestZooKeeper::test__kazoo_connect PASSED [ 89%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_attempt_to_acquire_leader PASSED [ 89%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_cancel_initialization PASSED [ 90%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_delete_cluster PASSED [ 90%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_delete_leader PASSED [ 90%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_get_children PASSED [ 90%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_get_citus_coordinator PASSED [ 90%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_get_cluster PASSED [ 90%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_get_mpp_coordinator PASSED [ 91%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_get_node PASSED [ 91%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_initialize PASSED [ 91%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_reload_config PASSED [ 91%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_set_config_value PASSED [ 91%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_set_failover_value PASSED [ 91%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_set_history_value PASSED [ 91%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_sync_state PASSED [ 92%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_take_leader PASSED [ 92%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_touch_member PASSED [ 92%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_update_leader PASSED [ 92%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_watch PASSED [ 92%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_watcher PASSED [ 92%] 2922s tests/test_zookeeper.py::TestZooKeeper::test_write_leader_optime PASSED [ 92%] 2922s patroni/__init__.py::patroni.parse_version PASSED [ 93%] 2922s patroni/api.py::patroni.api.check_access PASSED [ 93%] 2922s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__len__ PASSED [ 93%] 2922s patroni/collections.py::patroni.collections.CaseInsensitiveDict.__repr__ PASSED [ 93%] 2922s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__len__ PASSED [ 93%] 2922s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__repr__ PASSED [ 93%] 2922s patroni/collections.py::patroni.collections.CaseInsensitiveSet.__str__ SKIPPED [ 94%] 2922s patroni/collections.py::patroni.collections._FrozenDict.__len__ PASSED [ 94%] 2922s patroni/ctl.py::patroni.ctl.format_pg_version PASSED [ 94%] 2922s patroni/ctl.py::patroni.ctl.parse_dcs PASSED [ 94%] 2922s patroni/ctl.py::patroni.ctl.parse_scheduled PASSED [ 94%] 2923s patroni/ctl.py::patroni.ctl.watching PASSED [ 94%] 2923s patroni/dcs/__init__.py::patroni.dcs.Cluster.__len__ PASSED [ 94%] 2923s patroni/dcs/__init__.py::patroni.dcs.Cluster.timeline PASSED [ 95%] 2923s patroni/dcs/__init__.py::patroni.dcs.ClusterConfig.from_node PASSED [ 95%] 2923s patroni/dcs/__init__.py::patroni.dcs.Failover PASSED [ 95%] 2923s patroni/dcs/__init__.py::patroni.dcs.Failover.__len__ PASSED [ 95%] 2923s patroni/dcs/__init__.py::patroni.dcs.Leader.checkpoint_after_promote PASSED [ 95%] 2923s patroni/dcs/__init__.py::patroni.dcs.Member.from_node PASSED [ 95%] 2923s patroni/dcs/__init__.py::patroni.dcs.Member.patroni_version PASSED [ 96%] 2923s patroni/dcs/__init__.py::patroni.dcs.SyncState.from_node PASSED [ 96%] 2923s patroni/dcs/__init__.py::patroni.dcs.SyncState.matches PASSED [ 96%] 2923s patroni/dcs/__init__.py::patroni.dcs.TimelineHistory.from_node PASSED [ 96%] 2923s patroni/dcs/kubernetes.py::patroni.dcs.kubernetes.Kubernetes.subsets_changed PASSED [ 96%] 2923s patroni/postgresql/bootstrap.py::patroni.postgresql.bootstrap.Bootstrap.process_user_options PASSED [ 96%] 2923s patroni/postgresql/config.py::patroni.postgresql.config.parse_dsn PASSED [ 96%] 2923s patroni/postgresql/config.py::patroni.postgresql.config.read_recovery_param_value PASSED [ 97%] 2923s patroni/postgresql/misc.py::patroni.postgresql.misc.get_major_from_minor_version PASSED [ 97%] 2923s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_major_version_to_int PASSED [ 97%] 2923s patroni/postgresql/misc.py::patroni.postgresql.misc.postgres_version_to_int PASSED [ 97%] 2923s patroni/postgresql/sync.py::patroni.postgresql.sync.parse_sync_standby_names PASSED [ 97%] 2923s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.repr_size PASSED [ 97%] 2923s patroni/scripts/wale_restore.py::patroni.scripts.wale_restore.size_as_bytes PASSED [ 98%] 2923s patroni/utils.py::patroni.utils.compare_values PASSED [ 98%] 2923s patroni/utils.py::patroni.utils.convert_int_from_base_unit PASSED [ 98%] 2923s patroni/utils.py::patroni.utils.convert_real_from_base_unit PASSED [ 98%] 2923s patroni/utils.py::patroni.utils.convert_to_base_unit PASSED [ 98%] 2923s patroni/utils.py::patroni.utils.deep_compare PASSED [ 98%] 2923s patroni/utils.py::patroni.utils.maybe_convert_from_base_unit PASSED [ 98%] 2923s patroni/utils.py::patroni.utils.parse_bool PASSED [ 99%] 2923s patroni/utils.py::patroni.utils.parse_int PASSED [ 99%] 2923s patroni/utils.py::patroni.utils.parse_real PASSED [ 99%] 2923s patroni/utils.py::patroni.utils.split_host_port PASSED [ 99%] 2923s patroni/utils.py::patroni.utils.strtod PASSED [ 99%] 2923s patroni/utils.py::patroni.utils.strtol PASSED [ 99%] 2925s patroni/utils.py::patroni.utils.unquote PASSED [100%] 2925s 2925s =============================== warnings summary =============================== 2925s patroni/ctl.py:37 2925s /tmp/autopkgtest.Hw15Ah/build.K8p/src/patroni/ctl.py:37: DeprecationWarning: the 'ALL' constant is deprecated, use the 'HRuleStyle' and 'VRuleStyle' enums instead 2925s from prettytable import ALL, FRAME, PrettyTable 2925s 2925s patroni/ctl.py:37 2925s /tmp/autopkgtest.Hw15Ah/build.K8p/src/patroni/ctl.py:37: DeprecationWarning: the 'FRAME' constant is deprecated, use the 'HRuleStyle' and 'VRuleStyle' enums instead 2925s from prettytable import ALL, FRAME, PrettyTable 2925s 2925s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 2925s 2925s ---------- coverage: platform linux, python 3.12.8-final-0 ----------- 2925s Name Stmts Miss Cover Missing 2925s ----------------------------------------------------------------------------------- 2925s patroni/__init__.py 13 0 100% 2925s patroni/__main__.py 199 1 99% 406 2925s patroni/api.py 780 0 100% 2925s patroni/async_executor.py 96 0 100% 2925s patroni/collections.py 56 3 95% 50, 99, 107 2925s patroni/config.py 371 0 100% 2925s patroni/config_generator.py 212 0 100% 2925s patroni/ctl.py 936 0 100% 2925s patroni/daemon.py 76 0 100% 2925s patroni/dcs/__init__.py 654 0 100% 2925s patroni/dcs/consul.py 484 0 100% 2925s patroni/dcs/etcd3.py 679 0 100% 2925s patroni/dcs/etcd.py 603 0 100% 2925s patroni/dcs/exhibitor.py 62 0 100% 2925s patroni/dcs/kubernetes.py 940 0 100% 2925s patroni/dcs/raft.py 319 0 100% 2925s patroni/dcs/zookeeper.py 289 0 100% 2925s patroni/dynamic_loader.py 35 0 100% 2925s patroni/exceptions.py 16 0 100% 2925s patroni/file_perm.py 43 0 100% 2925s patroni/global_config.py 81 0 100% 2925s patroni/ha.py 1270 2 99% 2048-2049 2925s patroni/log.py 221 2 99% 367-369 2925s patroni/postgresql/__init__.py 822 0 100% 2925s patroni/postgresql/available_parameters/__init__.py 24 0 100% 2925s patroni/postgresql/bootstrap.py 255 0 100% 2925s patroni/postgresql/callback_executor.py 55 0 100% 2925s patroni/postgresql/cancellable.py 104 0 100% 2925s patroni/postgresql/config.py 838 0 100% 2925s patroni/postgresql/connection.py 75 0 100% 2925s patroni/postgresql/misc.py 43 0 100% 2925s patroni/postgresql/mpp/__init__.py 89 0 100% 2925s patroni/postgresql/mpp/citus.py 259 122 53% 49, 52, 62, 66, 135-144, 149-162, 183-186, 205-227, 230-234, 255-271, 274-299, 302-320, 330, 338, 343-346, 360-361, 369-380, 395-399, 437, 458-459 2925s patroni/postgresql/postmaster.py 170 0 100% 2925s patroni/postgresql/rewind.py 416 0 100% 2925s patroni/postgresql/slots.py 349 0 100% 2925s patroni/postgresql/sync.py 130 0 100% 2925s patroni/postgresql/validator.py 157 0 100% 2925s patroni/psycopg.py 46 20 57% 19, 25-26, 42, 44-98, 136 2925s patroni/raft_controller.py 22 0 100% 2925s patroni/request.py 58 0 100% 2925s patroni/scripts/__init__.py 0 0 100% 2925s patroni/scripts/aws.py 59 1 98% 86 2925s patroni/scripts/barman/__init__.py 0 0 100% 2925s patroni/scripts/barman/cli.py 51 1 98% 240 2925s patroni/scripts/barman/config_switch.py 51 0 100% 2925s patroni/scripts/barman/recover.py 37 0 100% 2925s patroni/scripts/barman/utils.py 94 0 100% 2925s patroni/scripts/wale_restore.py 207 1 99% 374 2925s patroni/tags.py 38 0 100% 2925s patroni/utils.py 370 0 100% 2925s patroni/validator.py 307 0 100% 2925s patroni/version.py 1 0 100% 2925s patroni/watchdog/__init__.py 2 0 100% 2925s patroni/watchdog/base.py 203 0 100% 2925s patroni/watchdog/linux.py 135 1 99% 36 2925s ----------------------------------------------------------------------------------- 2925s TOTAL 13902 154 99% 2925s Coverage XML written to file coverage.xml 2925s 2925s ================= 643 passed, 14 skipped, 2 warnings in 25.54s ================= 2926s autopkgtest [13:07:15]: test test: -----------------------] 2927s test PASS 2927s autopkgtest [13:07:16]: test test: - - - - - - - - - - results - - - - - - - - - - 2927s autopkgtest [13:07:16]: @@@@@@@@@@@@@@@@@@@@ summary 2927s acceptance-etcd3 PASS 2927s acceptance-etcd-basic PASS 2927s acceptance-etcd PASS 2927s acceptance-zookeeper PASS 2927s acceptance-raft PASS 2927s test PASS 2945s nova [W] Using flock in prodstack6-s390x 2945s flock: timeout while waiting to get lock 2945s Creating nova instance adt-plucky-s390x-patroni-20250108-104806-juju-7f2275-prod-proposed-migration-environment-15-f9efcf20-0b10-48f8-a9c5-7ce3b254ca93 from image adt/ubuntu-plucky-s390x-server-20250108.img (UUID 1b305a85-9036-4003-b130-4539b3c95093)... 2945s nova [W] Timed out waiting for 067cf371-e10e-4645-9406-dec0622086b7 to get deleted. 2945s nova [W] Using flock in prodstack6-s390x 2945s Creating nova instance adt-plucky-s390x-patroni-20250108-104806-juju-7f2275-prod-proposed-migration-environment-15-f9efcf20-0b10-48f8-a9c5-7ce3b254ca93 from image adt/ubuntu-plucky-s390x-server-20250108.img (UUID 1b305a85-9036-4003-b130-4539b3c95093)... 2945s nova [W] Timed out waiting for 3c81e6bc-4b55-4f3b-8689-f41dc0ff2409 to get deleted. 2945s nova [W] Using flock in prodstack6-s390x 2945s Creating nova instance adt-plucky-s390x-patroni-20250108-104806-juju-7f2275-prod-proposed-migration-environment-15-f9efcf20-0b10-48f8-a9c5-7ce3b254ca93 from image adt/ubuntu-plucky-s390x-server-20250108.img (UUID 1b305a85-9036-4003-b130-4539b3c95093)... 2945s nova [W] Timed out waiting for bbda7388-3327-45f8-a0e5-91d648b7dc4c to get deleted. 2945s nova [W] Using flock in prodstack6-s390x 2945s Creating nova instance adt-plucky-s390x-patroni-20250108-104806-juju-7f2275-prod-proposed-migration-environment-15-f9efcf20-0b10-48f8-a9c5-7ce3b254ca93 from image adt/ubuntu-plucky-s390x-server-20250108.img (UUID 1b305a85-9036-4003-b130-4539b3c95093)... 2945s nova [W] Timed out waiting for 39497982-9b28-4bb2-855e-e0818708159d to get deleted. 2945s nova [W] Using flock in prodstack6-s390x 2945s Creating nova instance adt-plucky-s390x-patroni-20250108-104806-juju-7f2275-prod-proposed-migration-environment-15-f9efcf20-0b10-48f8-a9c5-7ce3b254ca93 from image adt/ubuntu-plucky-s390x-server-20250108.img (UUID 1b305a85-9036-4003-b130-4539b3c95093)... 2945s nova [W] Timed out waiting for c4adcd75-ffb8-428e-94be-8a853275623c to get deleted.